@shopify/ui-extensions 2025.10.0-rc.4 → 2025.10.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/build/ts/docs/shared/components/QueryContainer.d.ts +4 -0
  2. package/build/ts/docs/shared/components/QueryContainer.d.ts.map +1 -0
  3. package/build/ts/surfaces/admin/api/should-render/should-render.doc.d.ts.map +1 -1
  4. package/build/ts/surfaces/admin/components/AdminAction.d.ts +1 -1
  5. package/build/ts/surfaces/admin/components/AdminBlock.d.ts +1 -1
  6. package/build/ts/surfaces/admin/components/AdminPrintAction.d.ts +1 -1
  7. package/build/ts/surfaces/admin/components/Badge.d.ts +17 -6
  8. package/build/ts/surfaces/admin/components/Banner.d.ts +17 -6
  9. package/build/ts/surfaces/admin/components/Box.d.ts +28 -7
  10. package/build/ts/surfaces/admin/components/Button.d.ts +16 -6
  11. package/build/ts/surfaces/admin/components/Checkbox.d.ts +17 -2
  12. package/build/ts/surfaces/admin/components/Choice.d.ts +17 -2
  13. package/build/ts/surfaces/admin/components/ChoiceList.d.ts +17 -6
  14. package/build/ts/surfaces/admin/components/Clickable.d.ts +28 -7
  15. package/build/ts/surfaces/admin/components/DatePicker.d.ts +11 -5
  16. package/build/ts/surfaces/admin/components/Divider.d.ts +12 -5
  17. package/build/ts/surfaces/admin/components/EmailField.d.ts +11 -5
  18. package/build/ts/surfaces/admin/components/Form.d.ts +1 -1
  19. package/build/ts/surfaces/admin/components/Grid.d.ts +28 -7
  20. package/build/ts/surfaces/admin/components/GridItem.d.ts +29 -7
  21. package/build/ts/surfaces/admin/components/Heading.d.ts +17 -6
  22. package/build/ts/surfaces/admin/components/Icon.d.ts +12 -5
  23. package/build/ts/surfaces/admin/components/Image.d.ts +22 -6
  24. package/build/ts/surfaces/admin/components/Link.d.ts +16 -6
  25. package/build/ts/surfaces/admin/components/ListItem.d.ts +18 -6
  26. package/build/ts/surfaces/admin/components/MoneyField.d.ts +11 -6
  27. package/build/ts/surfaces/admin/components/NumberField.d.ts +11 -5
  28. package/build/ts/surfaces/admin/components/Option.d.ts +17 -5
  29. package/build/ts/surfaces/admin/components/OptionGroup.d.ts +18 -5
  30. package/build/ts/surfaces/admin/components/OrderedList.d.ts +18 -6
  31. package/build/ts/surfaces/admin/components/Page.d.ts +20 -5
  32. package/build/ts/surfaces/admin/components/Paragraph.d.ts +18 -6
  33. package/build/ts/surfaces/admin/components/PasswordField.d.ts +11 -5
  34. package/build/ts/surfaces/admin/components/QueryContainer/QueryContainer.doc.d.ts +4 -0
  35. package/build/ts/surfaces/admin/components/QueryContainer/QueryContainer.doc.d.ts.map +1 -0
  36. package/build/ts/surfaces/admin/components/QueryContainer.d.ts +106 -0
  37. package/build/ts/surfaces/admin/components/SearchField.d.ts +14 -6
  38. package/build/ts/surfaces/admin/components/Section.d.ts +17 -6
  39. package/build/ts/surfaces/admin/components/Select.d.ts +16 -6
  40. package/build/ts/surfaces/admin/components/Spinner.d.ts +12 -2
  41. package/build/ts/surfaces/admin/components/Stack.d.ts +28 -7
  42. package/build/ts/surfaces/admin/components/StandardComponents.d.ts +1 -1
  43. package/build/ts/surfaces/admin/components/StandardComponents.d.ts.map +1 -1
  44. package/build/ts/surfaces/admin/components/Switch.d.ts +11 -2
  45. package/build/ts/surfaces/admin/components/Table.d.ts +17 -6
  46. package/build/ts/surfaces/admin/components/TableBody.d.ts +18 -6
  47. package/build/ts/surfaces/admin/components/TableCell.d.ts +18 -6
  48. package/build/ts/surfaces/admin/components/TableHeader.d.ts +18 -6
  49. package/build/ts/surfaces/admin/components/TableHeaderRow.d.ts +18 -6
  50. package/build/ts/surfaces/admin/components/TableRow.d.ts +18 -6
  51. package/build/ts/surfaces/admin/components/Text.d.ts +17 -6
  52. package/build/ts/surfaces/admin/components/TextArea.d.ts +11 -5
  53. package/build/ts/surfaces/admin/components/TextField.d.ts +13 -5
  54. package/build/ts/surfaces/admin/components/URLField.d.ts +11 -5
  55. package/build/ts/surfaces/admin/components/UnorderedList.d.ts +18 -6
  56. package/build/ts/surfaces/admin/components/shared.d.ts +34 -44
  57. package/build/ts/surfaces/admin/targets/admin.abandoned-checkout-details.action.render.d.ts +630 -218
  58. package/build/ts/surfaces/admin/targets/admin.abandoned-checkout-details.block.render.d.ts +630 -218
  59. package/build/ts/surfaces/admin/targets/admin.catalog-details.action.render.d.ts +630 -218
  60. package/build/ts/surfaces/admin/targets/admin.catalog-details.block.render.d.ts +630 -218
  61. package/build/ts/surfaces/admin/targets/admin.collection-details.action.render.d.ts +630 -218
  62. package/build/ts/surfaces/admin/targets/admin.collection-details.block.render.d.ts +630 -218
  63. package/build/ts/surfaces/admin/targets/admin.collection-index.action.render.d.ts +630 -218
  64. package/build/ts/surfaces/admin/targets/admin.company-details.action.render.d.ts +630 -218
  65. package/build/ts/surfaces/admin/targets/admin.company-details.block.render.d.ts +630 -218
  66. package/build/ts/surfaces/admin/targets/admin.company-location-details.block.render.d.ts +630 -218
  67. package/build/ts/surfaces/admin/targets/admin.customer-details.action.render.d.ts +630 -218
  68. package/build/ts/surfaces/admin/targets/admin.customer-details.block.render.d.ts +630 -218
  69. package/build/ts/surfaces/admin/targets/admin.customer-index.action.render.d.ts +630 -218
  70. package/build/ts/surfaces/admin/targets/admin.customer-index.selection-action.render.d.ts +630 -218
  71. package/build/ts/surfaces/admin/targets/admin.customer-segment-details.action.render.d.ts +630 -218
  72. package/build/ts/surfaces/admin/targets/admin.customers.segmentation-templates.render.d.ts +630 -218
  73. package/build/ts/surfaces/admin/targets/admin.discount-details.action.render.d.ts +630 -218
  74. package/build/ts/surfaces/admin/targets/admin.discount-details.function-settings.render.d.ts +630 -218
  75. package/build/ts/surfaces/admin/targets/admin.discount-index.action.render.d.ts +630 -218
  76. package/build/ts/surfaces/admin/targets/admin.draft-order-details.action.render.d.ts +630 -218
  77. package/build/ts/surfaces/admin/targets/admin.draft-order-details.block.render.d.ts +630 -218
  78. package/build/ts/surfaces/admin/targets/admin.draft-order-index.action.render.d.ts +630 -218
  79. package/build/ts/surfaces/admin/targets/admin.draft-order-index.selection-action.render.d.ts +630 -218
  80. package/build/ts/surfaces/admin/targets/admin.gift-card-details.action.render.d.ts +630 -218
  81. package/build/ts/surfaces/admin/targets/admin.gift-card-details.block.render.d.ts +630 -218
  82. package/build/ts/surfaces/admin/targets/admin.order-details.action.render.d.ts +630 -218
  83. package/build/ts/surfaces/admin/targets/admin.order-details.block.render.d.ts +630 -218
  84. package/build/ts/surfaces/admin/targets/admin.order-details.print-action.render.d.ts +630 -218
  85. package/build/ts/surfaces/admin/targets/admin.order-fulfilled-card.action.render.d.ts +630 -218
  86. package/build/ts/surfaces/admin/targets/admin.order-index.action.render.d.ts +630 -218
  87. package/build/ts/surfaces/admin/targets/admin.order-index.selection-action.render.d.ts +630 -218
  88. package/build/ts/surfaces/admin/targets/admin.order-index.selection-print-action.render.d.ts +630 -218
  89. package/build/ts/surfaces/admin/targets/admin.product-details.action.render.d.ts +630 -218
  90. package/build/ts/surfaces/admin/targets/admin.product-details.block.render.d.ts +630 -218
  91. package/build/ts/surfaces/admin/targets/admin.product-details.configuration.render.d.ts +630 -218
  92. package/build/ts/surfaces/admin/targets/admin.product-details.print-action.render.d.ts +630 -218
  93. package/build/ts/surfaces/admin/targets/admin.product-details.reorder.render.d.ts +630 -218
  94. package/build/ts/surfaces/admin/targets/admin.product-index.action.render.d.ts +630 -218
  95. package/build/ts/surfaces/admin/targets/admin.product-index.selection-action.render.d.ts +630 -218
  96. package/build/ts/surfaces/admin/targets/admin.product-index.selection-print-action.render.d.ts +630 -218
  97. package/build/ts/surfaces/admin/targets/admin.product-purchase-option.action.render.d.ts +630 -218
  98. package/build/ts/surfaces/admin/targets/admin.product-variant-details.action.render.d.ts +630 -218
  99. package/build/ts/surfaces/admin/targets/admin.product-variant-details.block.render.d.ts +630 -218
  100. package/build/ts/surfaces/admin/targets/admin.product-variant-details.configuration.render.d.ts +630 -218
  101. package/build/ts/surfaces/admin/targets/admin.product-variant-purchase-option.action.render.d.ts +630 -218
  102. package/build/ts/surfaces/admin/targets/admin.settings.internal-order-routing-rule.render.d.ts +630 -218
  103. package/build/ts/surfaces/admin/targets/admin.settings.order-routing-rule.render.d.ts +630 -218
  104. package/build/ts/surfaces/admin/targets/admin.settings.validation.render.d.ts +630 -218
  105. package/build/ts/surfaces/customer-account/api/docs.d.ts +1 -1
  106. package/build/ts/surfaces/customer-account/api/docs.d.ts.map +1 -1
  107. package/build/ts/surfaces/customer-account/api/shared.d.ts +0 -6
  108. package/build/ts/surfaces/customer-account/api/shared.d.ts.map +1 -1
  109. package/build/ts/surfaces/customer-account/components/CustomerAccountAction.d.ts +4 -5
  110. package/build/ts/surfaces/customer-account/components/ImageGroup.d.ts +4 -4
  111. package/build/ts/surfaces/customer-account/components/Page.d.ts +3 -5
  112. package/build/ts/surfaces/customer-account/components/shared.d.ts +11 -0
  113. package/build/ts/surfaces/customer-account/components/shared.d.ts.map +1 -1
  114. package/build/ts/surfaces/customer-account/components/shared.ts +17 -0
  115. package/build/ts/surfaces/customer-account/targets/customer-account.footer.render-after.d.ts +6 -17
  116. package/build/ts/surfaces/customer-account/targets/customer-account.order-index.block.render.d.ts +6 -17
  117. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.block.render.d.ts +6 -17
  118. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.cart-line-item.render-after.d.ts +6 -17
  119. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.cart-line-list.render-after.d.ts +6 -17
  120. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.customer-information.render-after.d.ts +6 -17
  121. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.fulfillment-details.render-after.d.ts +6 -17
  122. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.payment-details.render-after.d.ts +6 -17
  123. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.return-details.render-after.d.ts +6 -17
  124. package/build/ts/surfaces/customer-account/targets/customer-account.order-status.unfulfilled-items.render-after.d.ts +6 -17
  125. package/build/ts/surfaces/customer-account/targets/customer-account.order.action.menu-item.render.d.ts +6 -17
  126. package/build/ts/surfaces/customer-account/targets/customer-account.order.action.render.d.ts +6 -17
  127. package/build/ts/surfaces/customer-account/targets/customer-account.order.page.render.d.ts +6 -17
  128. package/build/ts/surfaces/customer-account/targets/customer-account.page.render.d.ts +6 -17
  129. package/build/ts/surfaces/customer-account/targets/customer-account.profile.addresses.render-after.d.ts +6 -17
  130. package/build/ts/surfaces/customer-account/targets/customer-account.profile.block.render.d.ts +6 -17
  131. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-details.render-after.d.ts +6 -17
  132. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-location-addresses.render-after.d.ts +6 -17
  133. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-location-payment.render-after.d.ts +6 -17
  134. package/build/ts/surfaces/customer-account/targets/customer-account.profile.company-location-staff.render-after.d.ts +6 -17
  135. package/build/ts/surfaces/customer-account/targets/customer-account.profile.payment.render-after.d.ts +6 -17
  136. package/build/tsconfig.tsbuildinfo +1 -1
  137. package/package.json +1 -1
  138. package/src/docs/shared/components/QueryContainer.ts +12 -0
  139. package/src/surfaces/admin/components/AdminAction.d.ts +1 -1
  140. package/src/surfaces/admin/components/AdminBlock.d.ts +1 -1
  141. package/src/surfaces/admin/components/AdminPrintAction.d.ts +1 -1
  142. package/src/surfaces/admin/components/Badge.d.ts +17 -6
  143. package/src/surfaces/admin/components/Banner.d.ts +17 -6
  144. package/src/surfaces/admin/components/Box.d.ts +28 -7
  145. package/src/surfaces/admin/components/Button.d.ts +16 -6
  146. package/src/surfaces/admin/components/Checkbox.d.ts +17 -2
  147. package/src/surfaces/admin/components/Choice.d.ts +17 -2
  148. package/src/surfaces/admin/components/ChoiceList.d.ts +17 -6
  149. package/src/surfaces/admin/components/Clickable.d.ts +28 -7
  150. package/src/surfaces/admin/components/DatePicker.d.ts +11 -5
  151. package/src/surfaces/admin/components/Divider.d.ts +12 -5
  152. package/src/surfaces/admin/components/EmailField.d.ts +11 -5
  153. package/src/surfaces/admin/components/Form.d.ts +1 -1
  154. package/src/surfaces/admin/components/Grid.d.ts +28 -7
  155. package/src/surfaces/admin/components/GridItem.d.ts +29 -7
  156. package/src/surfaces/admin/components/Heading.d.ts +17 -6
  157. package/src/surfaces/admin/components/Icon.d.ts +12 -5
  158. package/src/surfaces/admin/components/Image.d.ts +22 -6
  159. package/src/surfaces/admin/components/Link.d.ts +16 -6
  160. package/src/surfaces/admin/components/ListItem.d.ts +18 -6
  161. package/src/surfaces/admin/components/MoneyField.d.ts +11 -6
  162. package/src/surfaces/admin/components/NumberField.d.ts +11 -5
  163. package/src/surfaces/admin/components/Option.d.ts +17 -5
  164. package/src/surfaces/admin/components/OptionGroup.d.ts +18 -5
  165. package/src/surfaces/admin/components/OrderedList.d.ts +18 -6
  166. package/src/surfaces/admin/components/Page.d.ts +20 -5
  167. package/src/surfaces/admin/components/Paragraph.d.ts +18 -6
  168. package/src/surfaces/admin/components/PasswordField.d.ts +11 -5
  169. package/src/surfaces/admin/components/QueryContainer/examples/default.html +5 -0
  170. package/src/surfaces/admin/components/QueryContainer.d.ts +106 -0
  171. package/src/surfaces/admin/components/SearchField.d.ts +14 -6
  172. package/src/surfaces/admin/components/Section.d.ts +17 -6
  173. package/src/surfaces/admin/components/Select.d.ts +16 -6
  174. package/src/surfaces/admin/components/Spinner.d.ts +12 -2
  175. package/src/surfaces/admin/components/Stack.d.ts +28 -7
  176. package/src/surfaces/admin/components/StandardComponents.ts +1 -0
  177. package/src/surfaces/admin/components/Switch.d.ts +11 -2
  178. package/src/surfaces/admin/components/Table.d.ts +17 -6
  179. package/src/surfaces/admin/components/TableBody.d.ts +18 -6
  180. package/src/surfaces/admin/components/TableCell.d.ts +18 -6
  181. package/src/surfaces/admin/components/TableHeader.d.ts +18 -6
  182. package/src/surfaces/admin/components/TableHeaderRow.d.ts +18 -6
  183. package/src/surfaces/admin/components/TableRow.d.ts +18 -6
  184. package/src/surfaces/admin/components/Text.d.ts +17 -6
  185. package/src/surfaces/admin/components/TextArea.d.ts +11 -5
  186. package/src/surfaces/admin/components/TextField.d.ts +13 -5
  187. package/src/surfaces/admin/components/URLField.d.ts +11 -5
  188. package/src/surfaces/admin/components/UnorderedList.d.ts +18 -6
  189. package/src/surfaces/admin/components/shared.d.ts +34 -44
  190. package/src/surfaces/admin/components.d.ts +333 -513
  191. package/src/surfaces/customer-account/api/docs.ts +1 -1
  192. package/src/surfaces/customer-account/api/shared.ts +0 -6
  193. package/src/surfaces/customer-account/components/CustomerAccountAction/examples/basic-CustomerAccountAction-js.example.ts +1 -1
  194. package/src/surfaces/customer-account/components/CustomerAccountAction/examples/basic-CustomerAccountAction-preact.example.tsx +1 -1
  195. package/src/surfaces/customer-account/components/CustomerAccountAction.d.ts +4 -5
  196. package/src/surfaces/customer-account/components/ImageGroup.d.ts +4 -4
  197. package/src/surfaces/customer-account/components/Page/examples/basic-Page-js.example.ts +4 -4
  198. package/src/surfaces/customer-account/components/Page/examples/basic-Page-preact.example.tsx +4 -4
  199. package/src/surfaces/customer-account/components/Page.d.ts +3 -5
  200. package/src/surfaces/customer-account/components/shared.ts +17 -0
@@ -191,7 +191,7 @@ export interface Docs_Menu_Button_Action
191
191
  export interface Docs_OrderActionMenu_Button
192
192
  extends Pick<
193
193
  ButtonProps,
194
- 'onClick' | 'loading' | 'disabled' | 'accessibilityLabel' | 'href'
194
+ 'onClick' | 'loading' | 'disabled' | 'accessibilityLabel' | 'href' | 'tone'
195
195
  > {
196
196
  /**
197
197
  * Destination URL to link to.
@@ -393,12 +393,6 @@ export interface CompanyLocation {
393
393
  }
394
394
 
395
395
  export interface Ui {
396
- /**
397
- * An overlay is a contextual element on top of the main interface that provides additional information or functionality.
398
- */
399
- overlay: {
400
- close(overlayId: string): void;
401
- };
402
396
  /**
403
397
  * The Toast API displays a non-disruptive message that displays at the bottom
404
398
  * of the interface to provide quick, at-a-glance feedback on the outcome
@@ -3,7 +3,7 @@ export default function extension() {
3
3
 
4
4
  const closeButton = document.createElement('s-button');
5
5
  closeButton.innerHTML = 'Click to close';
6
- closeButton.slot = 'primaryAction';
6
+ closeButton.slot = 'primary-action';
7
7
  closeButton.addEventListener('click', () => shopify.close());
8
8
 
9
9
  accountAction.append('Extension content');
@@ -8,7 +8,7 @@ function App() {
8
8
  return (
9
9
  <s-customer-account-action heading="Extension title">
10
10
  Extension content
11
- <s-button slot="primaryAction" onClick={() => shopify.close()}>
11
+ <s-button slot="primary-action" onClick={() => shopify.close()}>
12
12
  Click to close
13
13
  </s-button>
14
14
  </s-customer-account-action>
@@ -1,3 +1,5 @@
1
+ import {BaseElementPropsWithChildren} from './shared';
2
+
1
3
  export interface CustomerAccountActionProps {
2
4
  /**
3
5
  * Sets the heading of the Action container.
@@ -16,14 +18,11 @@ declare global {
16
18
  }
17
19
 
18
20
  declare module 'preact' {
19
- interface BaseProps {
20
- children?: preact.ComponentChildren;
21
- slot?: Lowercase<string>;
22
- }
23
21
  // eslint-disable-next-line @typescript-eslint/no-namespace
24
22
  namespace createElement.JSX {
25
23
  interface IntrinsicElements {
26
- ['s-customer-account-action']: BaseProps & CustomerAccountActionProps;
24
+ ['s-customer-account-action']: BaseElementPropsWithChildren<CustomerAccountActionElement> &
25
+ CustomerAccountActionProps;
27
26
  }
28
27
  }
29
28
  }
@@ -1,3 +1,5 @@
1
+ import {BaseElementPropsWithChildren} from './shared';
2
+
1
3
  export interface ImageGroupProps {
2
4
  /**
3
5
  * Indicates the total number of items that could be displayed in the image group.
@@ -15,13 +17,11 @@ declare global {
15
17
  }
16
18
 
17
19
  declare module 'preact' {
18
- interface BaseProps {
19
- children?: preact.ComponentChildren;
20
- }
21
20
  // eslint-disable-next-line @typescript-eslint/no-namespace
22
21
  namespace createElement.JSX {
23
22
  interface IntrinsicElements {
24
- ['s-image-group']: BaseProps & ImageGroupProps;
23
+ ['s-image-group']: BaseElementPropsWithChildren<ImageGroupElement> &
24
+ ImageGroupProps;
25
25
  }
26
26
  }
27
27
  }
@@ -3,25 +3,25 @@ export default function extension() {
3
3
 
4
4
  const primaryAction = document.createElement('s-button');
5
5
  primaryAction.innerHTML = 'Primary action';
6
- primaryAction.slot = 'primaryAction';
6
+ primaryAction.slot = 'primary-action';
7
7
  primaryAction.addEventListener('click', () => console.log('Primary action'));
8
8
 
9
9
  const secondaryActions1 = document.createElement('s-button');
10
- secondaryActions1.slot = 'secondaryActions';
10
+ secondaryActions1.slot = 'secondary-actions';
11
11
  secondaryActions1.textContent = 'Secondary action 1';
12
12
  secondaryActions1.addEventListener('click', () =>
13
13
  console.log('Secondary action 1'),
14
14
  );
15
15
 
16
16
  const secondaryActions2 = document.createElement('s-button');
17
- secondaryActions2.slot = 'secondaryActions';
17
+ secondaryActions2.slot = 'secondary-actions';
18
18
  secondaryActions2.textContent = 'Secondary action 2';
19
19
  secondaryActions2.addEventListener('click', () =>
20
20
  console.log('Secondary action 2'),
21
21
  );
22
22
 
23
23
  const breadcrumbActions = document.createElement('s-button');
24
- breadcrumbActions.slot = 'breadcrumbActions';
24
+ breadcrumbActions.slot = 'breadcrumb-actions';
25
25
  breadcrumbActions.setAttribute('accessibilitylabel', 'Button');
26
26
  breadcrumbActions.setAttribute('href', 'shopify://customer-account/orders');
27
27
 
@@ -8,25 +8,25 @@ function App() {
8
8
  return (
9
9
  <s-page heading="Order #1411" subheading="Confirmed Oct 5">
10
10
  <s-button
11
- slot="primaryAction"
11
+ slot="primary-action"
12
12
  onClick={() => console.log('Primary action')}
13
13
  >
14
14
  Primary action
15
15
  </s-button>
16
16
  <s-button
17
- slot="secondaryActions"
17
+ slot="secondary-actions"
18
18
  onClick={() => console.log('Secondary action 1')}
19
19
  >
20
20
  Secondary action 1
21
21
  </s-button>
22
22
  <s-button
23
- slot="secondaryActions"
23
+ slot="secondary-actions"
24
24
  onClick={() => console.log('Secondary action 2')}
25
25
  >
26
26
  Secondary action 2
27
27
  </s-button>
28
28
  <s-button
29
- slot="breadcrumbActions"
29
+ slot="breadcrumb-actions"
30
30
  accessibilitylabel="Button"
31
31
  href="shopify://customer-account/orders"
32
32
  />
@@ -1,3 +1,5 @@
1
+ import {BaseElementPropsWithChildren} from './shared';
2
+
1
3
  export interface PageProps {
2
4
  /**
3
5
  * The main page heading
@@ -19,14 +21,10 @@ declare global {
19
21
  }
20
22
 
21
23
  declare module 'preact' {
22
- interface BaseProps {
23
- children?: preact.ComponentChildren;
24
- slot?: Lowercase<string>;
25
- }
26
24
  // eslint-disable-next-line @typescript-eslint/no-namespace
27
25
  namespace createElement.JSX {
28
26
  interface IntrinsicElements {
29
- ['s-page']: BaseProps & PageProps;
27
+ ['s-page']: BaseElementPropsWithChildren<PageElement> & PageProps;
30
28
  }
31
29
  }
32
30
  }
@@ -12,3 +12,20 @@ export type Size =
12
12
  | 'large'
13
13
  | 'extraLarge'
14
14
  | 'fill';
15
+
16
+ export interface BaseElementProps<TClass = HTMLElement> {
17
+ // Assigns a unique key to this element.
18
+ key?: preact.Key;
19
+ // Assigns a ref (generally from `useRef()`) to this element.
20
+ ref?: preact.Ref<TClass>;
21
+ // Assigns this element to a parent's slot.
22
+ slot?: Lowercase<string>;
23
+ }
24
+
25
+ /**
26
+ * Used when an element has children.
27
+ */
28
+ export interface BaseElementPropsWithChildren<TClass = HTMLElement>
29
+ extends BaseElementProps<TClass> {
30
+ children?: preact.ComponentChildren;
31
+ }