@shopify/ui-extensions 2025.10.0-rc.43 → 2025.10.0-rc.45

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 (145) hide show
  1. package/build/ts/docs/shared/components/ColorField.d.ts.map +1 -1
  2. package/build/ts/surfaces/admin/api/intents/intents.d.ts +132 -0
  3. package/build/ts/surfaces/admin/api/intents/intents.d.ts.map +1 -0
  4. package/build/ts/surfaces/admin/api/intents/intents.doc.d.ts +4 -0
  5. package/build/ts/surfaces/admin/api/intents/intents.doc.d.ts.map +1 -0
  6. package/build/ts/surfaces/admin/api/standard/standard.d.ts +2 -7
  7. package/build/ts/surfaces/admin/api/standard/standard.d.ts.map +1 -1
  8. package/build/ts/surfaces/admin/components/Avatar.d.ts +1 -0
  9. package/build/ts/surfaces/admin/components/Badge.d.ts +7 -1
  10. package/build/ts/surfaces/admin/components/Banner.d.ts +7 -1
  11. package/build/ts/surfaces/admin/components/Box.d.ts +70 -7
  12. package/build/ts/surfaces/admin/components/Button.d.ts +7 -1
  13. package/build/ts/surfaces/admin/components/ButtonGroup.d.ts +11 -1
  14. package/build/ts/surfaces/admin/components/Checkbox.d.ts +1 -0
  15. package/build/ts/surfaces/admin/components/Chip.d.ts +7 -1
  16. package/build/ts/surfaces/admin/components/Choice.d.ts +8 -1
  17. package/build/ts/surfaces/admin/components/ChoiceList.d.ts +8 -1
  18. package/build/ts/surfaces/admin/components/Clickable.d.ts +71 -7
  19. package/build/ts/surfaces/admin/components/ClickableChip.d.ts +7 -1
  20. package/build/ts/surfaces/admin/components/ColorField.d.ts +1 -0
  21. package/build/ts/surfaces/admin/components/DatePicker.d.ts +1 -0
  22. package/build/ts/surfaces/admin/components/Divider.d.ts +1 -0
  23. package/build/ts/surfaces/admin/components/EmailField.d.ts +1 -0
  24. package/build/ts/surfaces/admin/components/Grid.d.ts +123 -10
  25. package/build/ts/surfaces/admin/components/GridItem.d.ts +71 -7
  26. package/build/ts/surfaces/admin/components/Heading.d.ts +7 -1
  27. package/build/ts/surfaces/admin/components/Icon.d.ts +1 -0
  28. package/build/ts/surfaces/admin/components/Image.d.ts +64 -6
  29. package/build/ts/surfaces/admin/components/Link.d.ts +7 -1
  30. package/build/ts/surfaces/admin/components/ListItem.d.ts +8 -1
  31. package/build/ts/surfaces/admin/components/Modal.d.ts +1 -1
  32. package/build/ts/surfaces/admin/components/MoneyField.d.ts +1 -0
  33. package/build/ts/surfaces/admin/components/NumberField.d.ts +1 -0
  34. package/build/ts/surfaces/admin/components/Option.d.ts +7 -1
  35. package/build/ts/surfaces/admin/components/OptionGroup.d.ts +8 -1
  36. package/build/ts/surfaces/admin/components/OrderedList.d.ts +8 -1
  37. package/build/ts/surfaces/admin/components/Page.d.ts +11 -1
  38. package/build/ts/surfaces/admin/components/Paragraph.d.ts +8 -1
  39. package/build/ts/surfaces/admin/components/PasswordField.d.ts +1 -0
  40. package/build/ts/surfaces/admin/components/SearchField.d.ts +1 -0
  41. package/build/ts/surfaces/admin/components/Section.d.ts +7 -1
  42. package/build/ts/surfaces/admin/components/Select.d.ts +7 -1
  43. package/build/ts/surfaces/admin/components/Spinner.d.ts +1 -0
  44. package/build/ts/surfaces/admin/components/Stack.d.ts +87 -7
  45. package/build/ts/surfaces/admin/components/Switch.d.ts +1 -0
  46. package/build/ts/surfaces/admin/components/Table.d.ts +8 -1
  47. package/build/ts/surfaces/admin/components/TableBody.d.ts +8 -1
  48. package/build/ts/surfaces/admin/components/TableCell.d.ts +8 -1
  49. package/build/ts/surfaces/admin/components/TableHeader.d.ts +8 -1
  50. package/build/ts/surfaces/admin/components/TableHeaderRow.d.ts +7 -1
  51. package/build/ts/surfaces/admin/components/TableRow.d.ts +8 -1
  52. package/build/ts/surfaces/admin/components/Text.d.ts +7 -1
  53. package/build/ts/surfaces/admin/components/TextArea.d.ts +1 -0
  54. package/build/ts/surfaces/admin/components/TextField.d.ts +1 -0
  55. package/build/ts/surfaces/admin/components/Thumbnail.d.ts +1 -0
  56. package/build/ts/surfaces/admin/components/Tooltip.d.ts +7 -1
  57. package/build/ts/surfaces/admin/components/URLField.d.ts +1 -0
  58. package/build/ts/surfaces/admin/components/UnorderedList.d.ts +8 -1
  59. package/build/ts/surfaces/admin/components/shared.d.ts +7 -24
  60. package/build/ts/surfaces/point-of-sale/api/navigation-api/navigation-api.d.ts +1 -1
  61. package/build/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +1 -1
  63. package/src/docs/shared/components/ColorField.ts +2 -1
  64. package/src/surfaces/admin/api/intents/examples/create-article.js +9 -0
  65. package/src/surfaces/admin/api/intents/examples/create-catalog.js +9 -0
  66. package/src/surfaces/admin/api/intents/examples/create-collection.js +9 -0
  67. package/src/surfaces/admin/api/intents/examples/create-customer.js +9 -0
  68. package/src/surfaces/admin/api/intents/examples/create-discount.js +11 -0
  69. package/src/surfaces/admin/api/intents/examples/create-market.js +9 -0
  70. package/src/surfaces/admin/api/intents/examples/create-menu.js +9 -0
  71. package/src/surfaces/admin/api/intents/examples/create-metafield-definition.js +11 -0
  72. package/src/surfaces/admin/api/intents/examples/create-metaobject-definition.js +9 -0
  73. package/src/surfaces/admin/api/intents/examples/create-metaobject.js +11 -0
  74. package/src/surfaces/admin/api/intents/examples/create-page.js +9 -0
  75. package/src/surfaces/admin/api/intents/examples/create-product.js +9 -0
  76. package/src/surfaces/admin/api/intents/examples/create-variant.js +11 -0
  77. package/src/surfaces/admin/api/intents/examples/edit-article.js +11 -0
  78. package/src/surfaces/admin/api/intents/examples/edit-catalog.js +11 -0
  79. package/src/surfaces/admin/api/intents/examples/edit-collection.js +11 -0
  80. package/src/surfaces/admin/api/intents/examples/edit-customer.js +11 -0
  81. package/src/surfaces/admin/api/intents/examples/edit-discount.js +11 -0
  82. package/src/surfaces/admin/api/intents/examples/edit-market.js +11 -0
  83. package/src/surfaces/admin/api/intents/examples/edit-menu.js +11 -0
  84. package/src/surfaces/admin/api/intents/examples/edit-metafield-definition.js +11 -0
  85. package/src/surfaces/admin/api/intents/examples/edit-metaobject-definition.js +11 -0
  86. package/src/surfaces/admin/api/intents/examples/edit-metaobject.js +11 -0
  87. package/src/surfaces/admin/api/intents/examples/edit-page.js +11 -0
  88. package/src/surfaces/admin/api/intents/examples/edit-product.js +11 -0
  89. package/src/surfaces/admin/api/intents/examples/edit-variant.js +11 -0
  90. package/src/surfaces/admin/api/intents/intents.ts +153 -0
  91. package/src/surfaces/admin/api/standard/standard.ts +2 -6
  92. package/src/surfaces/admin/components/Avatar.d.ts +1 -0
  93. package/src/surfaces/admin/components/Badge.d.ts +7 -1
  94. package/src/surfaces/admin/components/Banner.d.ts +7 -1
  95. package/src/surfaces/admin/components/Box.d.ts +70 -7
  96. package/src/surfaces/admin/components/Button.d.ts +7 -1
  97. package/src/surfaces/admin/components/ButtonGroup.d.ts +11 -1
  98. package/src/surfaces/admin/components/Checkbox.d.ts +1 -0
  99. package/src/surfaces/admin/components/Chip.d.ts +7 -1
  100. package/src/surfaces/admin/components/Choice.d.ts +8 -1
  101. package/src/surfaces/admin/components/ChoiceList.d.ts +8 -1
  102. package/src/surfaces/admin/components/Clickable.d.ts +71 -7
  103. package/src/surfaces/admin/components/ClickableChip.d.ts +7 -1
  104. package/src/surfaces/admin/components/ColorField.d.ts +1 -0
  105. package/src/surfaces/admin/components/DatePicker.d.ts +1 -0
  106. package/src/surfaces/admin/components/Divider.d.ts +1 -0
  107. package/src/surfaces/admin/components/EmailField.d.ts +1 -0
  108. package/src/surfaces/admin/components/Grid.d.ts +123 -10
  109. package/src/surfaces/admin/components/GridItem.d.ts +71 -7
  110. package/src/surfaces/admin/components/Heading.d.ts +7 -1
  111. package/src/surfaces/admin/components/Icon.d.ts +1 -0
  112. package/src/surfaces/admin/components/Image.d.ts +64 -6
  113. package/src/surfaces/admin/components/Link.d.ts +7 -1
  114. package/src/surfaces/admin/components/ListItem.d.ts +8 -1
  115. package/src/surfaces/admin/components/Modal.d.ts +1 -1
  116. package/src/surfaces/admin/components/MoneyField.d.ts +1 -0
  117. package/src/surfaces/admin/components/NumberField.d.ts +1 -0
  118. package/src/surfaces/admin/components/Option.d.ts +7 -1
  119. package/src/surfaces/admin/components/OptionGroup.d.ts +8 -1
  120. package/src/surfaces/admin/components/OrderedList.d.ts +8 -1
  121. package/src/surfaces/admin/components/Page.d.ts +11 -1
  122. package/src/surfaces/admin/components/Paragraph.d.ts +8 -1
  123. package/src/surfaces/admin/components/PasswordField.d.ts +1 -0
  124. package/src/surfaces/admin/components/SearchField.d.ts +1 -0
  125. package/src/surfaces/admin/components/Section.d.ts +7 -1
  126. package/src/surfaces/admin/components/Select.d.ts +7 -1
  127. package/src/surfaces/admin/components/Spinner.d.ts +1 -0
  128. package/src/surfaces/admin/components/Stack.d.ts +87 -7
  129. package/src/surfaces/admin/components/Switch.d.ts +1 -0
  130. package/src/surfaces/admin/components/Table.d.ts +8 -1
  131. package/src/surfaces/admin/components/TableBody.d.ts +8 -1
  132. package/src/surfaces/admin/components/TableCell.d.ts +8 -1
  133. package/src/surfaces/admin/components/TableHeader.d.ts +8 -1
  134. package/src/surfaces/admin/components/TableHeaderRow.d.ts +7 -1
  135. package/src/surfaces/admin/components/TableRow.d.ts +8 -1
  136. package/src/surfaces/admin/components/Text.d.ts +7 -1
  137. package/src/surfaces/admin/components/TextArea.d.ts +1 -0
  138. package/src/surfaces/admin/components/TextField.d.ts +1 -0
  139. package/src/surfaces/admin/components/Thumbnail.d.ts +1 -0
  140. package/src/surfaces/admin/components/Tooltip.d.ts +7 -1
  141. package/src/surfaces/admin/components/URLField.d.ts +1 -0
  142. package/src/surfaces/admin/components/UnorderedList.d.ts +8 -1
  143. package/src/surfaces/admin/components/shared.d.ts +7 -24
  144. package/src/surfaces/admin/components.d.ts +323 -146
  145. package/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts +1 -1
@@ -10,7 +10,9 @@ import type {
10
10
  BoxProps$1,
11
11
  ImageProps$1,
12
12
  MaybeAllValuesShorthandProperty,
13
+ SizeUnitsOrAuto,
13
14
  SizeUnits,
15
+ SizeUnitsOrNone,
14
16
  ComponentChildren,
15
17
  } from './shared.d.ts';
16
18
 
@@ -22,6 +24,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
22
24
  (event: CallbackEvent<T>): void;
23
25
  })
24
26
  | null;
27
+ /** Used when an element does not have children. */
25
28
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
26
29
  /** Assigns a unique key to this element. */
27
30
  key?: preact.Key;
@@ -99,10 +102,20 @@ export interface BoxProps
99
102
  | 'minInlineSize'
100
103
  | 'overflow'
101
104
  > {
105
+ /**
106
+ * Adjust the background of the component.
107
+ *
108
+ * @default 'transparent'
109
+ */
102
110
  background: Extract<
103
111
  RequiredBoxProps['background'],
104
112
  'transparent' | 'base' | 'subdued' | 'strong'
105
113
  >;
114
+ /**
115
+ * Adjust the width of the border.
116
+ *
117
+ * @default '' - meaning no override
118
+ */
106
119
  borderWidth:
107
120
  | MaybeAllValuesShorthandProperty<
108
121
  Extract<
@@ -111,13 +124,28 @@ export interface BoxProps
111
124
  >
112
125
  >
113
126
  | Extract<RequiredBoxProps['borderWidth'], ''>;
127
+ /**
128
+ * Adjust the style of the border.
129
+ *
130
+ * @default '' - meaning no override
131
+ */
114
132
  borderStyle:
115
133
  | MaybeAllValuesShorthandProperty<BoxBorderStyles>
116
134
  | Extract<RequiredBoxProps['borderStyle'], ''>;
135
+ /**
136
+ * Adjust the color of the border.
137
+ *
138
+ * @default '' - meaning no override
139
+ */
117
140
  borderColor: Extract<
118
141
  RequiredBoxProps['borderColor'],
119
142
  'subdued' | 'base' | 'strong' | ''
120
143
  >;
144
+ /**
145
+ * Adjust the radius of the border.
146
+ *
147
+ * @default 'none'
148
+ */
121
149
  borderRadius: MaybeAllValuesShorthandProperty<BoxBorderRadii>;
122
150
  /**
123
151
  * Adjust the padding of all edges.
@@ -214,12 +242,42 @@ export interface BoxProps
214
242
  * @default 'auto'
215
243
  */
216
244
  display: ResponsiveBoxProps['display'];
217
- blockSize: SizeUnits | 'auto';
218
- minBlockSize: SizeUnits | '0';
219
- maxBlockSize: SizeUnits | 'none';
220
- inlineSize: SizeUnits | 'auto';
221
- minInlineSize: SizeUnits | '0';
222
- maxInlineSize: SizeUnits | 'none';
245
+ /**
246
+ * Adjust the [block size](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).
247
+ *
248
+ * @default 'auto'
249
+ */
250
+ blockSize: SizeUnitsOrAuto;
251
+ /**
252
+ * Adjust the [minimum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).
253
+ *
254
+ * @default '0'
255
+ */
256
+ minBlockSize: SizeUnits;
257
+ /**
258
+ * Adjust the [maximum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).
259
+ *
260
+ * @default 'none'
261
+ */
262
+ maxBlockSize: SizeUnitsOrNone;
263
+ /**
264
+ * Adjust the [inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).
265
+ *
266
+ * @default 'auto'
267
+ */
268
+ inlineSize: SizeUnitsOrAuto;
269
+ /**
270
+ * Adjust the [minimum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).
271
+ *
272
+ * @default '0'
273
+ */
274
+ minInlineSize: SizeUnits;
275
+ /**
276
+ * Adjust the [maximum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).
277
+ *
278
+ * @default 'none'
279
+ */
280
+ maxInlineSize: SizeUnitsOrNone;
223
281
  }
224
282
 
225
283
  export interface ImageProps
@@ -20,6 +20,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
20
20
  (event: CallbackEvent<T>): void;
21
21
  })
22
22
  | null;
23
+ /** Used when an element does not have children. */
23
24
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
24
25
  /** Assigns a unique key to this element. */
25
26
  key?: preact.Key;
@@ -28,6 +29,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
28
29
  /** Assigns this element to a parent's slot. */
29
30
  slot?: Lowercase<string>;
30
31
  }
32
+ /** Used when an element has children. */
33
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
34
+ extends PreactBaseElementProps<TClass> {
35
+ children?: preact.ComponentChildren;
36
+ }
31
37
 
32
38
  export type RequiredLinkProps = Required<LinkProps$1>;
33
39
  export type LinkBaseProps = Required<
@@ -158,7 +164,7 @@ declare global {
158
164
  declare module 'preact' {
159
165
  namespace createElement.JSX {
160
166
  interface IntrinsicElements {
161
- [tagName]: LinkJSXProps & PreactBaseElementProps<Link>;
167
+ [tagName]: LinkJSXProps & PreactBaseElementPropsWithChildren<Link>;
162
168
  }
163
169
  }
164
170
  }
@@ -69,6 +69,7 @@ declare abstract class PreactCustomElement extends BaseClass {
69
69
  click({sourceEvent}?: ClickOptions): void;
70
70
  }
71
71
 
72
+ /** Used when an element does not have children. */
72
73
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
73
74
  /** Assigns a unique key to this element. */
74
75
  key?: preact.Key;
@@ -77,6 +78,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
77
78
  /** Assigns this element to a parent's slot. */
78
79
  slot?: Lowercase<string>;
79
80
  }
81
+ /** Used when an element has children. */
82
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
83
+ extends PreactBaseElementProps<TClass> {
84
+ children?: preact.ComponentChildren;
85
+ }
80
86
 
81
87
  declare class ListItem extends PreactCustomElement implements ListItemProps {
82
88
  constructor();
@@ -89,7 +95,8 @@ declare global {
89
95
  declare module 'preact' {
90
96
  namespace createElement.JSX {
91
97
  interface IntrinsicElements {
92
- [tagName]: ListItemJSXProps & PreactBaseElementProps<ListItem>;
98
+ [tagName]: ListItemJSXProps &
99
+ PreactBaseElementPropsWithChildren<ListItem>;
93
100
  }
94
101
  }
95
102
  }
@@ -200,7 +200,7 @@ declare module 'preact' {
200
200
  HTMLAttributes<HTMLElement>,
201
201
  Extract<keyof HTMLAttributes<HTMLElement>, `on${Capitalize<string>}`>
202
202
  > &
203
- ModalJSXProps;
203
+ Omit<ModalJSXProps, 'primaryAction' | 'secondaryActions'>;
204
204
  }
205
205
  }
206
206
  }
@@ -26,6 +26,7 @@ export interface FieldReactProps<T extends keyof HTMLElementTagNameMap> {
26
26
  onFocus?: ((event: CallbackEvent<T>) => void) | null;
27
27
  onBlur?: ((event: CallbackEvent<T>) => void) | null;
28
28
  }
29
+ /** Used when an element does not have children. */
29
30
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
30
31
  /** Assigns a unique key to this element. */
31
32
  key?: preact.Key;
@@ -26,6 +26,7 @@ export interface FieldReactProps<T extends keyof HTMLElementTagNameMap> {
26
26
  onFocus?: ((event: CallbackEvent<T>) => void) | null;
27
27
  onBlur?: ((event: CallbackEvent<T>) => void) | null;
28
28
  }
29
+ /** Used when an element does not have children. */
29
30
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
30
31
  /** Assigns a unique key to this element. */
31
32
  key?: preact.Key;
@@ -73,6 +73,7 @@ declare abstract class PreactCustomElement extends BaseClass {
73
73
  click({sourceEvent}?: ClickOptions): void;
74
74
  }
75
75
 
76
+ /** Used when an element does not have children. */
76
77
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
77
78
  /** Assigns a unique key to this element. */
78
79
  key?: preact.Key;
@@ -81,6 +82,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
81
82
  /** Assigns this element to a parent's slot. */
82
83
  slot?: Lowercase<string>;
83
84
  }
85
+ /** Used when an element has children. */
86
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
87
+ extends PreactBaseElementProps<TClass> {
88
+ children?: preact.ComponentChildren;
89
+ }
84
90
 
85
91
  declare class Option extends PreactCustomElement implements OptionProps {
86
92
  accessor selected: OptionProps['selected'];
@@ -97,7 +103,7 @@ declare global {
97
103
  declare module 'preact' {
98
104
  namespace createElement.JSX {
99
105
  interface IntrinsicElements {
100
- [tagName]: OptionJSXProps & PreactBaseElementProps<Option>;
106
+ [tagName]: OptionJSXProps & PreactBaseElementPropsWithChildren<Option>;
101
107
  }
102
108
  }
103
109
  }
@@ -71,6 +71,7 @@ declare abstract class PreactCustomElement extends BaseClass {
71
71
  click({sourceEvent}?: ClickOptions): void;
72
72
  }
73
73
 
74
+ /** Used when an element does not have children. */
74
75
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
75
76
  /** Assigns a unique key to this element. */
76
77
  key?: preact.Key;
@@ -79,6 +80,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
79
80
  /** Assigns this element to a parent's slot. */
80
81
  slot?: Lowercase<string>;
81
82
  }
83
+ /** Used when an element has children. */
84
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
85
+ extends PreactBaseElementProps<TClass> {
86
+ children?: preact.ComponentChildren;
87
+ }
82
88
 
83
89
  declare class OptionGroup
84
90
  extends PreactCustomElement
@@ -96,7 +102,8 @@ declare global {
96
102
  declare module 'preact' {
97
103
  namespace createElement.JSX {
98
104
  interface IntrinsicElements {
99
- [tagName]: OptionGroupJSXProps & PreactBaseElementProps<OptionGroup>;
105
+ [tagName]: OptionGroupJSXProps &
106
+ PreactBaseElementPropsWithChildren<OptionGroup>;
100
107
  }
101
108
  }
102
109
  }
@@ -69,6 +69,7 @@ declare abstract class PreactCustomElement extends BaseClass {
69
69
  click({sourceEvent}?: ClickOptions): void;
70
70
  }
71
71
 
72
+ /** Used when an element does not have children. */
72
73
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
73
74
  /** Assigns a unique key to this element. */
74
75
  key?: preact.Key;
@@ -77,6 +78,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
77
78
  /** Assigns this element to a parent's slot. */
78
79
  slot?: Lowercase<string>;
79
80
  }
81
+ /** Used when an element has children. */
82
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
83
+ extends PreactBaseElementProps<TClass> {
84
+ children?: preact.ComponentChildren;
85
+ }
80
86
 
81
87
  declare class OrderedList
82
88
  extends PreactCustomElement
@@ -92,7 +98,8 @@ declare global {
92
98
  declare module 'preact' {
93
99
  namespace createElement.JSX {
94
100
  interface IntrinsicElements {
95
- [tagName]: OrderedListJSXProps & PreactBaseElementProps<OrderedList>;
101
+ [tagName]: OrderedListJSXProps &
102
+ PreactBaseElementPropsWithChildren<OrderedList>;
96
103
  }
97
104
  }
98
105
  }
@@ -73,6 +73,7 @@ declare abstract class PreactCustomElement extends BaseClass {
73
73
  click({sourceEvent}?: ClickOptions): void;
74
74
  }
75
75
 
76
+ /** Used when an element does not have children. */
76
77
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
77
78
  /** Assigns a unique key to this element. */
78
79
  key?: preact.Key;
@@ -81,6 +82,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
81
82
  /** Assigns this element to a parent's slot. */
82
83
  slot?: Lowercase<string>;
83
84
  }
85
+ /** Used when an element has children. */
86
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
87
+ extends PreactBaseElementProps<TClass> {
88
+ children?: preact.ComponentChildren;
89
+ }
84
90
 
85
91
  declare class Page extends PreactCustomElement implements PageProps {
86
92
  accessor inlineSize: PageProps['inlineSize'];
@@ -97,7 +103,11 @@ declare global {
97
103
  declare module 'preact' {
98
104
  namespace createElement.JSX {
99
105
  interface IntrinsicElements {
100
- [tagName]: Omit<PageJSXProps, 'aside'> & PreactBaseElementProps<Page>;
106
+ [tagName]: Omit<
107
+ PageJSXProps,
108
+ 'aside' | 'primaryAction' | 'secondaryActions' | 'breadcrumbActions'
109
+ > &
110
+ PreactBaseElementPropsWithChildren<Page>;
101
111
  }
102
112
  }
103
113
  }
@@ -84,6 +84,7 @@ declare abstract class PreactCustomElement extends BaseClass {
84
84
  click({sourceEvent}?: ClickOptions): void;
85
85
  }
86
86
 
87
+ /** Used when an element does not have children. */
87
88
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
88
89
  /** Assigns a unique key to this element. */
89
90
  key?: preact.Key;
@@ -92,6 +93,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
92
93
  /** Assigns this element to a parent's slot. */
93
94
  slot?: Lowercase<string>;
94
95
  }
96
+ /** Used when an element has children. */
97
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
98
+ extends PreactBaseElementProps<TClass> {
99
+ children?: preact.ComponentChildren;
100
+ }
95
101
 
96
102
  declare class Paragraph extends PreactCustomElement implements ParagraphProps {
97
103
  accessor fontVariantNumeric: ParagraphProps['fontVariantNumeric'];
@@ -114,7 +120,8 @@ declare global {
114
120
  declare module 'preact' {
115
121
  namespace createElement.JSX {
116
122
  interface IntrinsicElements {
117
- [tagName]: ParagraphJSXProps & PreactBaseElementProps<Paragraph>;
123
+ [tagName]: ParagraphJSXProps &
124
+ PreactBaseElementPropsWithChildren<Paragraph>;
118
125
  }
119
126
  }
120
127
  }
@@ -26,6 +26,7 @@ export interface FieldReactProps<T extends keyof HTMLElementTagNameMap> {
26
26
  onFocus?: ((event: CallbackEvent<T>) => void) | null;
27
27
  onBlur?: ((event: CallbackEvent<T>) => void) | null;
28
28
  }
29
+ /** Used when an element does not have children. */
29
30
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
30
31
  /** Assigns a unique key to this element. */
31
32
  key?: preact.Key;
@@ -22,6 +22,7 @@ export interface FieldReactProps<T extends keyof HTMLElementTagNameMap> {
22
22
  onFocus?: ((event: CallbackEvent<T>) => void) | null;
23
23
  onBlur?: ((event: CallbackEvent<T>) => void) | null;
24
24
  }
25
+ /** Used when an element does not have children. */
25
26
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
26
27
  /** Assigns a unique key to this element. */
27
28
  key?: preact.Key;
@@ -78,6 +78,7 @@ declare abstract class PreactCustomElement extends BaseClass {
78
78
  click({sourceEvent}?: ClickOptions): void;
79
79
  }
80
80
 
81
+ /** Used when an element does not have children. */
81
82
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
82
83
  /** Assigns a unique key to this element. */
83
84
  key?: preact.Key;
@@ -86,6 +87,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
86
87
  /** Assigns this element to a parent's slot. */
87
88
  slot?: Lowercase<string>;
88
89
  }
90
+ /** Used when an element has children. */
91
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
92
+ extends PreactBaseElementProps<TClass> {
93
+ children?: preact.ComponentChildren;
94
+ }
89
95
 
90
96
  declare class Section extends PreactCustomElement implements SectionProps {
91
97
  constructor();
@@ -103,7 +109,7 @@ declare global {
103
109
  declare module 'preact' {
104
110
  namespace createElement.JSX {
105
111
  interface IntrinsicElements {
106
- [tagName]: SectionJSXProps & PreactBaseElementProps<Section>;
112
+ [tagName]: SectionJSXProps & PreactBaseElementPropsWithChildren<Section>;
107
113
  }
108
114
  }
109
115
  }
@@ -22,6 +22,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
22
22
  (event: CallbackEvent<T>): void;
23
23
  })
24
24
  | null;
25
+ /** Used when an element does not have children. */
25
26
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
26
27
  /** Assigns a unique key to this element. */
27
28
  key?: preact.Key;
@@ -30,6 +31,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
30
31
  /** Assigns this element to a parent's slot. */
31
32
  slot?: Lowercase<string>;
32
33
  }
34
+ /** Used when an element has children. */
35
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
36
+ extends PreactBaseElementProps<TClass> {
37
+ children?: preact.ComponentChildren;
38
+ }
33
39
 
34
40
  export type Styles = string;
35
41
  export type RenderImpl = Omit<ShadowRootInit, 'mode'> & {
@@ -188,7 +194,7 @@ declare global {
188
194
  declare module 'preact' {
189
195
  namespace createElement.JSX {
190
196
  interface IntrinsicElements {
191
- [tagName]: SelectJSXProps & PreactBaseElementProps<Select>;
197
+ [tagName]: SelectJSXProps & PreactBaseElementPropsWithChildren<Select>;
192
198
  }
193
199
  }
194
200
  }
@@ -73,6 +73,7 @@ declare abstract class PreactCustomElement extends BaseClass {
73
73
  click({sourceEvent}?: ClickOptions): void;
74
74
  }
75
75
 
76
+ /** Used when an element does not have children. */
76
77
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
77
78
  /** Assigns a unique key to this element. */
78
79
  key?: preact.Key;
@@ -10,7 +10,9 @@ import type {
10
10
  BoxProps$1,
11
11
  StackProps$1,
12
12
  MaybeAllValuesShorthandProperty,
13
+ SizeUnitsOrAuto,
13
14
  SizeUnits,
15
+ SizeUnitsOrNone,
14
16
  JustifyContentKeyword,
15
17
  AlignItemsKeyword,
16
18
  AlignContentKeyword,
@@ -84,10 +86,20 @@ export interface BoxProps
84
86
  | 'minInlineSize'
85
87
  | 'overflow'
86
88
  > {
89
+ /**
90
+ * Adjust the background of the component.
91
+ *
92
+ * @default 'transparent'
93
+ */
87
94
  background: Extract<
88
95
  RequiredBoxProps['background'],
89
96
  'transparent' | 'base' | 'subdued' | 'strong'
90
97
  >;
98
+ /**
99
+ * Adjust the width of the border.
100
+ *
101
+ * @default '' - meaning no override
102
+ */
91
103
  borderWidth:
92
104
  | MaybeAllValuesShorthandProperty<
93
105
  Extract<
@@ -96,13 +108,28 @@ export interface BoxProps
96
108
  >
97
109
  >
98
110
  | Extract<RequiredBoxProps['borderWidth'], ''>;
111
+ /**
112
+ * Adjust the style of the border.
113
+ *
114
+ * @default '' - meaning no override
115
+ */
99
116
  borderStyle:
100
117
  | MaybeAllValuesShorthandProperty<BoxBorderStyles>
101
118
  | Extract<RequiredBoxProps['borderStyle'], ''>;
119
+ /**
120
+ * Adjust the color of the border.
121
+ *
122
+ * @default '' - meaning no override
123
+ */
102
124
  borderColor: Extract<
103
125
  RequiredBoxProps['borderColor'],
104
126
  'subdued' | 'base' | 'strong' | ''
105
127
  >;
128
+ /**
129
+ * Adjust the radius of the border.
130
+ *
131
+ * @default 'none'
132
+ */
106
133
  borderRadius: MaybeAllValuesShorthandProperty<BoxBorderRadii>;
107
134
  /**
108
135
  * Adjust the padding of all edges.
@@ -199,12 +226,42 @@ export interface BoxProps
199
226
  * @default 'auto'
200
227
  */
201
228
  display: ResponsiveBoxProps['display'];
202
- blockSize: SizeUnits | 'auto';
203
- minBlockSize: SizeUnits | '0';
204
- maxBlockSize: SizeUnits | 'none';
205
- inlineSize: SizeUnits | 'auto';
206
- minInlineSize: SizeUnits | '0';
207
- maxInlineSize: SizeUnits | 'none';
229
+ /**
230
+ * Adjust the [block size](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).
231
+ *
232
+ * @default 'auto'
233
+ */
234
+ blockSize: SizeUnitsOrAuto;
235
+ /**
236
+ * Adjust the [minimum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).
237
+ *
238
+ * @default '0'
239
+ */
240
+ minBlockSize: SizeUnits;
241
+ /**
242
+ * Adjust the [maximum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).
243
+ *
244
+ * @default 'none'
245
+ */
246
+ maxBlockSize: SizeUnitsOrNone;
247
+ /**
248
+ * Adjust the [inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).
249
+ *
250
+ * @default 'auto'
251
+ */
252
+ inlineSize: SizeUnitsOrAuto;
253
+ /**
254
+ * Adjust the [minimum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).
255
+ *
256
+ * @default '0'
257
+ */
258
+ minInlineSize: SizeUnits;
259
+ /**
260
+ * Adjust the [maximum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).
261
+ *
262
+ * @default 'none'
263
+ */
264
+ maxInlineSize: SizeUnitsOrNone;
208
265
  }
209
266
 
210
267
  export type AlignedStackProps = Required<StackProps$1>;
@@ -218,8 +275,25 @@ export interface StackProps
218
275
  Required<AlignedStackProps>,
219
276
  'justifyContent' | 'alignItems' | 'alignContent'
220
277
  > {
278
+ /**
279
+ * Aligns the Stack's children along the inline axis.
280
+ *
281
+ * @default 'normal'
282
+ */
221
283
  justifyContent: JustifyContentKeyword;
284
+ /**
285
+ * Aligns the Stack's children along the block axis.
286
+ *
287
+ * @default 'normal'
288
+ */
222
289
  alignItems: AlignItemsKeyword;
290
+ /**
291
+ * Aligns the Stack's children along the block axis.
292
+ *
293
+ * This overrides the block value of `alignContent`.
294
+ *
295
+ * @default 'normal'
296
+ */
223
297
  alignContent: AlignContentKeyword;
224
298
  /**
225
299
  * Adjust spacing between elements.
@@ -356,6 +430,7 @@ declare class BoxElement extends PreactCustomElement implements BoxProps {
356
430
  accessor display: BoxProps['display'];
357
431
  }
358
432
 
433
+ /** Used when an element does not have children. */
359
434
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
360
435
  /** Assigns a unique key to this element. */
361
436
  key?: preact.Key;
@@ -364,6 +439,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
364
439
  /** Assigns this element to a parent's slot. */
365
440
  slot?: Lowercase<string>;
366
441
  }
442
+ /** Used when an element has children. */
443
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
444
+ extends PreactBaseElementProps<TClass> {
445
+ children?: preact.ComponentChildren;
446
+ }
367
447
 
368
448
  declare class Stack extends BoxElement implements StackProps {
369
449
  constructor();
@@ -383,7 +463,7 @@ declare global {
383
463
  declare module 'preact' {
384
464
  namespace createElement.JSX {
385
465
  interface IntrinsicElements {
386
- [tagName]: StackJSXProps & PreactBaseElementProps<Stack>;
466
+ [tagName]: StackJSXProps & PreactBaseElementPropsWithChildren<Stack>;
387
467
  }
388
468
  }
389
469
  }
@@ -21,6 +21,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
21
21
  (event: CallbackEvent<T>): void;
22
22
  })
23
23
  | null;
24
+ /** Used when an element does not have children. */
24
25
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
25
26
  /** Assigns a unique key to this element. */
26
27
  key?: preact.Key;
@@ -113,6 +113,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
113
113
  (event: CallbackEvent<T>): void;
114
114
  })
115
115
  | null;
116
+ /** Used when an element does not have children. */
116
117
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
117
118
  /** Assigns a unique key to this element. */
118
119
  key?: preact.Key;
@@ -121,6 +122,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
121
122
  /** Assigns this element to a parent's slot. */
122
123
  slot?: Lowercase<string>;
123
124
  }
125
+ /** Used when an element has children. */
126
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
127
+ extends PreactBaseElementProps<TClass> {
128
+ children?: preact.ComponentChildren;
129
+ }
124
130
 
125
131
  declare class Table extends PreactCustomElement implements TableProps {
126
132
  accessor variant: TableProps['variant'];
@@ -154,7 +160,8 @@ declare global {
154
160
  declare module 'preact' {
155
161
  namespace createElement.JSX {
156
162
  interface IntrinsicElements {
157
- [tagName]: Omit<TableJSXProps, 'filters'> & PreactBaseElementProps<Table>;
163
+ [tagName]: Omit<TableJSXProps, 'filters'> &
164
+ PreactBaseElementPropsWithChildren<Table>;
158
165
  }
159
166
  }
160
167
  }
@@ -69,6 +69,7 @@ declare abstract class PreactCustomElement extends BaseClass {
69
69
  click({sourceEvent}?: ClickOptions): void;
70
70
  }
71
71
 
72
+ /** Used when an element does not have children. */
72
73
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
73
74
  /** Assigns a unique key to this element. */
74
75
  key?: preact.Key;
@@ -77,6 +78,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
77
78
  /** Assigns this element to a parent's slot. */
78
79
  slot?: Lowercase<string>;
79
80
  }
81
+ /** Used when an element has children. */
82
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
83
+ extends PreactBaseElementProps<TClass> {
84
+ children?: preact.ComponentChildren;
85
+ }
80
86
 
81
87
  declare class TableBody extends PreactCustomElement implements TableBodyProps {
82
88
  constructor();
@@ -89,7 +95,8 @@ declare global {
89
95
  declare module 'preact' {
90
96
  namespace createElement.JSX {
91
97
  interface IntrinsicElements {
92
- [tagName]: TableBodyJSXProps & PreactBaseElementProps<TableBody>;
98
+ [tagName]: TableBodyJSXProps &
99
+ PreactBaseElementPropsWithChildren<TableBody>;
93
100
  }
94
101
  }
95
102
  }