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

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 (109) hide show
  1. package/build/ts/surfaces/admin/components/Avatar.d.ts +1 -0
  2. package/build/ts/surfaces/admin/components/Badge.d.ts +7 -1
  3. package/build/ts/surfaces/admin/components/Banner.d.ts +7 -1
  4. package/build/ts/surfaces/admin/components/Box.d.ts +70 -7
  5. package/build/ts/surfaces/admin/components/Button.d.ts +7 -1
  6. package/build/ts/surfaces/admin/components/ButtonGroup.d.ts +11 -1
  7. package/build/ts/surfaces/admin/components/Checkbox.d.ts +1 -0
  8. package/build/ts/surfaces/admin/components/Chip.d.ts +7 -1
  9. package/build/ts/surfaces/admin/components/Choice.d.ts +8 -1
  10. package/build/ts/surfaces/admin/components/ChoiceList.d.ts +8 -1
  11. package/build/ts/surfaces/admin/components/Clickable.d.ts +71 -7
  12. package/build/ts/surfaces/admin/components/ClickableChip.d.ts +7 -1
  13. package/build/ts/surfaces/admin/components/ColorField.d.ts +1 -0
  14. package/build/ts/surfaces/admin/components/DatePicker.d.ts +1 -0
  15. package/build/ts/surfaces/admin/components/Divider.d.ts +1 -0
  16. package/build/ts/surfaces/admin/components/EmailField.d.ts +1 -0
  17. package/build/ts/surfaces/admin/components/Grid.d.ts +123 -10
  18. package/build/ts/surfaces/admin/components/GridItem.d.ts +71 -7
  19. package/build/ts/surfaces/admin/components/Heading.d.ts +7 -1
  20. package/build/ts/surfaces/admin/components/Icon.d.ts +1 -0
  21. package/build/ts/surfaces/admin/components/Image.d.ts +64 -6
  22. package/build/ts/surfaces/admin/components/Link.d.ts +7 -1
  23. package/build/ts/surfaces/admin/components/ListItem.d.ts +8 -1
  24. package/build/ts/surfaces/admin/components/Modal.d.ts +1 -1
  25. package/build/ts/surfaces/admin/components/MoneyField.d.ts +1 -0
  26. package/build/ts/surfaces/admin/components/NumberField.d.ts +1 -0
  27. package/build/ts/surfaces/admin/components/Option.d.ts +7 -1
  28. package/build/ts/surfaces/admin/components/OptionGroup.d.ts +8 -1
  29. package/build/ts/surfaces/admin/components/OrderedList.d.ts +8 -1
  30. package/build/ts/surfaces/admin/components/Page.d.ts +11 -1
  31. package/build/ts/surfaces/admin/components/Paragraph.d.ts +8 -1
  32. package/build/ts/surfaces/admin/components/PasswordField.d.ts +1 -0
  33. package/build/ts/surfaces/admin/components/SearchField.d.ts +1 -0
  34. package/build/ts/surfaces/admin/components/Section.d.ts +7 -1
  35. package/build/ts/surfaces/admin/components/Select.d.ts +7 -1
  36. package/build/ts/surfaces/admin/components/Spinner.d.ts +1 -0
  37. package/build/ts/surfaces/admin/components/Stack.d.ts +87 -7
  38. package/build/ts/surfaces/admin/components/Switch.d.ts +1 -0
  39. package/build/ts/surfaces/admin/components/Table.d.ts +8 -1
  40. package/build/ts/surfaces/admin/components/TableBody.d.ts +8 -1
  41. package/build/ts/surfaces/admin/components/TableCell.d.ts +8 -1
  42. package/build/ts/surfaces/admin/components/TableHeader.d.ts +8 -1
  43. package/build/ts/surfaces/admin/components/TableHeaderRow.d.ts +7 -1
  44. package/build/ts/surfaces/admin/components/TableRow.d.ts +8 -1
  45. package/build/ts/surfaces/admin/components/Text.d.ts +7 -1
  46. package/build/ts/surfaces/admin/components/TextArea.d.ts +1 -0
  47. package/build/ts/surfaces/admin/components/TextField.d.ts +1 -0
  48. package/build/ts/surfaces/admin/components/Thumbnail.d.ts +1 -0
  49. package/build/ts/surfaces/admin/components/Tooltip.d.ts +7 -1
  50. package/build/ts/surfaces/admin/components/URLField.d.ts +1 -0
  51. package/build/ts/surfaces/admin/components/UnorderedList.d.ts +8 -1
  52. package/build/ts/surfaces/admin/components/shared.d.ts +7 -24
  53. package/build/ts/surfaces/point-of-sale/api/navigation-api/navigation-api.d.ts +1 -1
  54. package/build/tsconfig.tsbuildinfo +1 -1
  55. package/package.json +1 -1
  56. package/src/surfaces/admin/components/Avatar.d.ts +1 -0
  57. package/src/surfaces/admin/components/Badge.d.ts +7 -1
  58. package/src/surfaces/admin/components/Banner.d.ts +7 -1
  59. package/src/surfaces/admin/components/Box.d.ts +70 -7
  60. package/src/surfaces/admin/components/Button.d.ts +7 -1
  61. package/src/surfaces/admin/components/ButtonGroup.d.ts +11 -1
  62. package/src/surfaces/admin/components/Checkbox.d.ts +1 -0
  63. package/src/surfaces/admin/components/Chip.d.ts +7 -1
  64. package/src/surfaces/admin/components/Choice.d.ts +8 -1
  65. package/src/surfaces/admin/components/ChoiceList.d.ts +8 -1
  66. package/src/surfaces/admin/components/Clickable.d.ts +71 -7
  67. package/src/surfaces/admin/components/ClickableChip.d.ts +7 -1
  68. package/src/surfaces/admin/components/ColorField.d.ts +1 -0
  69. package/src/surfaces/admin/components/DatePicker.d.ts +1 -0
  70. package/src/surfaces/admin/components/Divider.d.ts +1 -0
  71. package/src/surfaces/admin/components/EmailField.d.ts +1 -0
  72. package/src/surfaces/admin/components/Grid.d.ts +123 -10
  73. package/src/surfaces/admin/components/GridItem.d.ts +71 -7
  74. package/src/surfaces/admin/components/Heading.d.ts +7 -1
  75. package/src/surfaces/admin/components/Icon.d.ts +1 -0
  76. package/src/surfaces/admin/components/Image.d.ts +64 -6
  77. package/src/surfaces/admin/components/Link.d.ts +7 -1
  78. package/src/surfaces/admin/components/ListItem.d.ts +8 -1
  79. package/src/surfaces/admin/components/Modal.d.ts +1 -1
  80. package/src/surfaces/admin/components/MoneyField.d.ts +1 -0
  81. package/src/surfaces/admin/components/NumberField.d.ts +1 -0
  82. package/src/surfaces/admin/components/Option.d.ts +7 -1
  83. package/src/surfaces/admin/components/OptionGroup.d.ts +8 -1
  84. package/src/surfaces/admin/components/OrderedList.d.ts +8 -1
  85. package/src/surfaces/admin/components/Page.d.ts +11 -1
  86. package/src/surfaces/admin/components/Paragraph.d.ts +8 -1
  87. package/src/surfaces/admin/components/PasswordField.d.ts +1 -0
  88. package/src/surfaces/admin/components/SearchField.d.ts +1 -0
  89. package/src/surfaces/admin/components/Section.d.ts +7 -1
  90. package/src/surfaces/admin/components/Select.d.ts +7 -1
  91. package/src/surfaces/admin/components/Spinner.d.ts +1 -0
  92. package/src/surfaces/admin/components/Stack.d.ts +87 -7
  93. package/src/surfaces/admin/components/Switch.d.ts +1 -0
  94. package/src/surfaces/admin/components/Table.d.ts +8 -1
  95. package/src/surfaces/admin/components/TableBody.d.ts +8 -1
  96. package/src/surfaces/admin/components/TableCell.d.ts +8 -1
  97. package/src/surfaces/admin/components/TableHeader.d.ts +8 -1
  98. package/src/surfaces/admin/components/TableHeaderRow.d.ts +7 -1
  99. package/src/surfaces/admin/components/TableRow.d.ts +8 -1
  100. package/src/surfaces/admin/components/Text.d.ts +7 -1
  101. package/src/surfaces/admin/components/TextArea.d.ts +1 -0
  102. package/src/surfaces/admin/components/TextField.d.ts +1 -0
  103. package/src/surfaces/admin/components/Thumbnail.d.ts +1 -0
  104. package/src/surfaces/admin/components/Tooltip.d.ts +7 -1
  105. package/src/surfaces/admin/components/URLField.d.ts +1 -0
  106. package/src/surfaces/admin/components/UnorderedList.d.ts +8 -1
  107. package/src/surfaces/admin/components/shared.d.ts +7 -24
  108. package/src/surfaces/admin/components.d.ts +323 -146
  109. package/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts +1 -1
@@ -84,6 +84,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
84
84
  (event: CallbackEvent<T>): void;
85
85
  })
86
86
  | null;
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;
@@ -101,6 +101,7 @@ declare abstract class PreactCustomElement extends BaseClass {
101
101
  click({sourceEvent}?: ClickOptions): void;
102
102
  }
103
103
 
104
+ /** Used when an element does not have children. */
104
105
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
105
106
  /** Assigns a unique key to this element. */
106
107
  key?: preact.Key;
@@ -109,6 +110,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
109
110
  /** Assigns this element to a parent's slot. */
110
111
  slot?: Lowercase<string>;
111
112
  }
113
+ /** Used when an element has children. */
114
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
115
+ extends PreactBaseElementProps<TClass> {
116
+ children?: preact.ComponentChildren;
117
+ }
112
118
 
113
119
  declare class Badge extends PreactCustomElement implements BadgeProps {
114
120
  accessor color: BadgeProps['color'];
@@ -125,7 +131,7 @@ declare global {
125
131
  declare module 'preact' {
126
132
  namespace createElement.JSX {
127
133
  interface IntrinsicElements {
128
- [tagName]: BadgeJSXProps & PreactBaseElementProps<Badge>;
134
+ [tagName]: BadgeJSXProps & PreactBaseElementPropsWithChildren<Badge>;
129
135
  }
130
136
  }
131
137
  }
@@ -16,6 +16,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
16
16
  (event: CallbackEvent<T>): void;
17
17
  })
18
18
  | null;
19
+ /** Used when an element does not have children. */
19
20
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
20
21
  /** Assigns a unique key to this element. */
21
22
  key?: preact.Key;
@@ -24,6 +25,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
24
25
  /** Assigns this element to a parent's slot. */
25
26
  slot?: Lowercase<string>;
26
27
  }
28
+ /** Used when an element has children. */
29
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
30
+ extends PreactBaseElementProps<TClass> {
31
+ children?: preact.ComponentChildren;
32
+ }
27
33
 
28
34
  export type RequiredBannerProps = Required<BannerProps$1>;
29
35
  export interface BannerProps
@@ -115,7 +121,7 @@ declare module 'preact' {
115
121
  namespace createElement.JSX {
116
122
  interface IntrinsicElements {
117
123
  [tagName]: Omit<BannerJSXProps, 'secondaryActions'> &
118
- PreactBaseElementProps<Banner>;
124
+ PreactBaseElementPropsWithChildren<Banner>;
119
125
  }
120
126
  }
121
127
  }
@@ -9,7 +9,9 @@ import type {
9
9
  ComponentChildren,
10
10
  BoxProps$1,
11
11
  MaybeAllValuesShorthandProperty,
12
+ SizeUnitsOrAuto,
12
13
  SizeUnits,
14
+ SizeUnitsOrNone,
13
15
  } from './shared.d.ts';
14
16
 
15
17
  export type MakeResponsive<T> = T | `@container${string}`;
@@ -80,10 +82,20 @@ export interface BoxProps
80
82
  | 'minInlineSize'
81
83
  | 'overflow'
82
84
  > {
85
+ /**
86
+ * Adjust the background of the component.
87
+ *
88
+ * @default 'transparent'
89
+ */
83
90
  background: Extract<
84
91
  RequiredBoxProps['background'],
85
92
  'transparent' | 'base' | 'subdued' | 'strong'
86
93
  >;
94
+ /**
95
+ * Adjust the width of the border.
96
+ *
97
+ * @default '' - meaning no override
98
+ */
87
99
  borderWidth:
88
100
  | MaybeAllValuesShorthandProperty<
89
101
  Extract<
@@ -92,13 +104,28 @@ export interface BoxProps
92
104
  >
93
105
  >
94
106
  | Extract<RequiredBoxProps['borderWidth'], ''>;
107
+ /**
108
+ * Adjust the style of the border.
109
+ *
110
+ * @default '' - meaning no override
111
+ */
95
112
  borderStyle:
96
113
  | MaybeAllValuesShorthandProperty<BoxBorderStyles>
97
114
  | Extract<RequiredBoxProps['borderStyle'], ''>;
115
+ /**
116
+ * Adjust the color of the border.
117
+ *
118
+ * @default '' - meaning no override
119
+ */
98
120
  borderColor: Extract<
99
121
  RequiredBoxProps['borderColor'],
100
122
  'subdued' | 'base' | 'strong' | ''
101
123
  >;
124
+ /**
125
+ * Adjust the radius of the border.
126
+ *
127
+ * @default 'none'
128
+ */
102
129
  borderRadius: MaybeAllValuesShorthandProperty<BoxBorderRadii>;
103
130
  /**
104
131
  * Adjust the padding of all edges.
@@ -195,12 +222,42 @@ export interface BoxProps
195
222
  * @default 'auto'
196
223
  */
197
224
  display: ResponsiveBoxProps['display'];
198
- blockSize: SizeUnits | 'auto';
199
- minBlockSize: SizeUnits | '0';
200
- maxBlockSize: SizeUnits | 'none';
201
- inlineSize: SizeUnits | 'auto';
202
- minInlineSize: SizeUnits | '0';
203
- maxInlineSize: SizeUnits | 'none';
225
+ /**
226
+ * Adjust the [block size](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).
227
+ *
228
+ * @default 'auto'
229
+ */
230
+ blockSize: SizeUnitsOrAuto;
231
+ /**
232
+ * Adjust the [minimum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).
233
+ *
234
+ * @default '0'
235
+ */
236
+ minBlockSize: SizeUnits;
237
+ /**
238
+ * Adjust the [maximum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).
239
+ *
240
+ * @default 'none'
241
+ */
242
+ maxBlockSize: SizeUnitsOrNone;
243
+ /**
244
+ * Adjust the [inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).
245
+ *
246
+ * @default 'auto'
247
+ */
248
+ inlineSize: SizeUnitsOrAuto;
249
+ /**
250
+ * Adjust the [minimum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).
251
+ *
252
+ * @default '0'
253
+ */
254
+ minInlineSize: SizeUnits;
255
+ /**
256
+ * Adjust the [maximum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).
257
+ *
258
+ * @default 'none'
259
+ */
260
+ maxInlineSize: SizeUnitsOrNone;
204
261
  }
205
262
 
206
263
  export type Styles = string;
@@ -291,6 +348,7 @@ declare class BoxElement extends PreactCustomElement implements BoxProps {
291
348
  accessor display: BoxProps['display'];
292
349
  }
293
350
 
351
+ /** Used when an element does not have children. */
294
352
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
295
353
  /** Assigns a unique key to this element. */
296
354
  key?: preact.Key;
@@ -299,6 +357,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
299
357
  /** Assigns this element to a parent's slot. */
300
358
  slot?: Lowercase<string>;
301
359
  }
360
+ /** Used when an element has children. */
361
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
362
+ extends PreactBaseElementProps<TClass> {
363
+ children?: preact.ComponentChildren;
364
+ }
302
365
 
303
366
  declare class Box extends BoxElement implements BoxProps {
304
367
  constructor();
@@ -311,7 +374,7 @@ declare global {
311
374
  declare module 'preact' {
312
375
  namespace createElement.JSX {
313
376
  interface IntrinsicElements {
314
- [tagName]: BoxJSXProps & PreactBaseElementProps<Box>;
377
+ [tagName]: BoxJSXProps & PreactBaseElementPropsWithChildren<Box>;
315
378
  }
316
379
  }
317
380
  }
@@ -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 interface IconProps
35
41
  extends Pick<
@@ -194,7 +200,7 @@ declare global {
194
200
  declare module 'preact' {
195
201
  namespace createElement.JSX {
196
202
  interface IntrinsicElements {
197
- [tagName]: ButtonJSXProps & PreactBaseElementProps<Button>;
203
+ [tagName]: ButtonJSXProps & PreactBaseElementPropsWithChildren<Button>;
198
204
  }
199
205
  }
200
206
  }
@@ -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 ButtonGroup
84
90
  extends PreactCustomElement
@@ -96,7 +102,11 @@ declare global {
96
102
  declare module 'preact' {
97
103
  namespace createElement.JSX {
98
104
  interface IntrinsicElements {
99
- [tagName]: ButtonGroupJSXProps & PreactBaseElementProps<ButtonGroup>;
105
+ [tagName]: Omit<
106
+ ButtonGroupJSXProps,
107
+ 'primaryAction' | 'secondaryActions'
108
+ > &
109
+ PreactBaseElementPropsWithChildren<ButtonGroup>;
100
110
  }
101
111
  }
102
112
  }
@@ -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;
@@ -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 Chip extends PreactCustomElement implements ChipProps {
84
90
  accessor color: ChipProps['color'];
@@ -98,7 +104,7 @@ declare module 'preact' {
98
104
  Extract<keyof HTMLAttributes<HTMLElement>, `on${Capitalize<string>}`>
99
105
  > &
100
106
  Omit<ChipJSXProps, 'graphic'> &
101
- PreactBaseElementProps<Chip>;
107
+ PreactBaseElementPropsWithChildren<Chip>;
102
108
  }
103
109
  }
104
110
  }
@@ -80,6 +80,7 @@ declare abstract class PreactCustomElement extends BaseClass {
80
80
  click({sourceEvent}?: ClickOptions): void;
81
81
  }
82
82
 
83
+ /** Used when an element does not have children. */
83
84
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
84
85
  /** Assigns a unique key to this element. */
85
86
  key?: preact.Key;
@@ -88,6 +89,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
88
89
  /** Assigns this element to a parent's slot. */
89
90
  slot?: Lowercase<string>;
90
91
  }
92
+ /** Used when an element has children. */
93
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
94
+ extends PreactBaseElementProps<TClass> {
95
+ children?: preact.ComponentChildren;
96
+ }
91
97
 
92
98
  declare class Choice extends PreactCustomElement implements ChoiceProps {
93
99
  accessor disabled: ChoiceProps['disabled'];
@@ -110,7 +116,8 @@ declare global {
110
116
  declare module 'preact' {
111
117
  namespace createElement.JSX {
112
118
  interface IntrinsicElements {
113
- [tagName]: ChoiceJSXProps & PreactBaseElementProps<Choice>;
119
+ [tagName]: Omit<ChoiceJSXProps, 'details'> &
120
+ PreactBaseElementPropsWithChildren<Choice>;
114
121
  }
115
122
  }
116
123
  }
@@ -16,6 +16,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
16
16
  (event: CallbackEvent<T>): void;
17
17
  })
18
18
  | null;
19
+ /** Used when an element does not have children. */
19
20
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
20
21
  /** Assigns a unique key to this element. */
21
22
  key?: preact.Key;
@@ -24,6 +25,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
24
25
  /** Assigns this element to a parent's slot. */
25
26
  slot?: Lowercase<string>;
26
27
  }
28
+ /** Used when an element has children. */
29
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
30
+ extends PreactBaseElementProps<TClass> {
31
+ children?: preact.ComponentChildren;
32
+ }
27
33
 
28
34
  export interface ChoiceListProps
29
35
  extends Required<
@@ -135,7 +141,8 @@ declare global {
135
141
  declare module 'preact' {
136
142
  namespace createElement.JSX {
137
143
  interface IntrinsicElements {
138
- [tagName]: ChoiceListJSXProps & PreactBaseElementProps<ChoiceList>;
144
+ [tagName]: ChoiceListJSXProps &
145
+ PreactBaseElementPropsWithChildren<ChoiceList>;
139
146
  }
140
147
  }
141
148
  }
@@ -11,7 +11,9 @@ import type {
11
11
  BoxProps$1,
12
12
  ClickableProps$1,
13
13
  MaybeAllValuesShorthandProperty,
14
+ SizeUnitsOrAuto,
14
15
  SizeUnits,
16
+ SizeUnitsOrNone,
15
17
  InteractionProps,
16
18
  } from './shared.d.ts';
17
19
 
@@ -23,6 +25,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
23
25
  (event: CallbackEvent<T>): void;
24
26
  })
25
27
  | null;
28
+ /** Used when an element does not have children. */
26
29
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
27
30
  /** Assigns a unique key to this element. */
28
31
  key?: preact.Key;
@@ -31,6 +34,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
31
34
  /** Assigns this element to a parent's slot. */
32
35
  slot?: Lowercase<string>;
33
36
  }
37
+ /** Used when an element has children. */
38
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
39
+ extends PreactBaseElementProps<TClass> {
40
+ children?: preact.ComponentChildren;
41
+ }
34
42
 
35
43
  export type MakeResponsive<T> = T | `@container${string}`;
36
44
  /**
@@ -100,10 +108,20 @@ export interface BoxProps
100
108
  | 'minInlineSize'
101
109
  | 'overflow'
102
110
  > {
111
+ /**
112
+ * Adjust the background of the component.
113
+ *
114
+ * @default 'transparent'
115
+ */
103
116
  background: Extract<
104
117
  RequiredBoxProps['background'],
105
118
  'transparent' | 'base' | 'subdued' | 'strong'
106
119
  >;
120
+ /**
121
+ * Adjust the width of the border.
122
+ *
123
+ * @default '' - meaning no override
124
+ */
107
125
  borderWidth:
108
126
  | MaybeAllValuesShorthandProperty<
109
127
  Extract<
@@ -112,13 +130,28 @@ export interface BoxProps
112
130
  >
113
131
  >
114
132
  | Extract<RequiredBoxProps['borderWidth'], ''>;
133
+ /**
134
+ * Adjust the style of the border.
135
+ *
136
+ * @default '' - meaning no override
137
+ */
115
138
  borderStyle:
116
139
  | MaybeAllValuesShorthandProperty<BoxBorderStyles>
117
140
  | Extract<RequiredBoxProps['borderStyle'], ''>;
141
+ /**
142
+ * Adjust the color of the border.
143
+ *
144
+ * @default '' - meaning no override
145
+ */
118
146
  borderColor: Extract<
119
147
  RequiredBoxProps['borderColor'],
120
148
  'subdued' | 'base' | 'strong' | ''
121
149
  >;
150
+ /**
151
+ * Adjust the radius of the border.
152
+ *
153
+ * @default 'none'
154
+ */
122
155
  borderRadius: MaybeAllValuesShorthandProperty<BoxBorderRadii>;
123
156
  /**
124
157
  * Adjust the padding of all edges.
@@ -215,12 +248,42 @@ export interface BoxProps
215
248
  * @default 'auto'
216
249
  */
217
250
  display: ResponsiveBoxProps['display'];
218
- blockSize: SizeUnits | 'auto';
219
- minBlockSize: SizeUnits | '0';
220
- maxBlockSize: SizeUnits | 'none';
221
- inlineSize: SizeUnits | 'auto';
222
- minInlineSize: SizeUnits | '0';
223
- maxInlineSize: SizeUnits | 'none';
251
+ /**
252
+ * Adjust the [block size](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).
253
+ *
254
+ * @default 'auto'
255
+ */
256
+ blockSize: SizeUnitsOrAuto;
257
+ /**
258
+ * Adjust the [minimum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).
259
+ *
260
+ * @default '0'
261
+ */
262
+ minBlockSize: SizeUnits;
263
+ /**
264
+ * Adjust the [maximum block size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).
265
+ *
266
+ * @default 'none'
267
+ */
268
+ maxBlockSize: SizeUnitsOrNone;
269
+ /**
270
+ * Adjust the [inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).
271
+ *
272
+ * @default 'auto'
273
+ */
274
+ inlineSize: SizeUnitsOrAuto;
275
+ /**
276
+ * Adjust the [minimum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).
277
+ *
278
+ * @default '0'
279
+ */
280
+ minInlineSize: SizeUnits;
281
+ /**
282
+ * Adjust the [maximum inline size](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).
283
+ *
284
+ * @default 'none'
285
+ */
286
+ maxInlineSize: SizeUnitsOrNone;
224
287
  }
225
288
 
226
289
  export type ClickableBaseProps = Required<
@@ -383,7 +446,8 @@ declare global {
383
446
  declare module 'preact' {
384
447
  namespace createElement.JSX {
385
448
  interface IntrinsicElements {
386
- [tagName]: ClickableJSXProps & PreactBaseElementProps<Clickable>;
449
+ [tagName]: ClickableJSXProps &
450
+ PreactBaseElementPropsWithChildren<Clickable>;
387
451
  }
388
452
  }
389
453
  }
@@ -16,6 +16,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
16
16
  (event: CallbackEvent<T>): void;
17
17
  })
18
18
  | null;
19
+ /** Used when an element does not have children. */
19
20
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
20
21
  /** Assigns a unique key to this element. */
21
22
  key?: preact.Key;
@@ -24,6 +25,11 @@ export interface PreactBaseElementProps<TClass extends HTMLElement> {
24
25
  /** Assigns this element to a parent's slot. */
25
26
  slot?: Lowercase<string>;
26
27
  }
28
+ /** Used when an element has children. */
29
+ export interface PreactBaseElementPropsWithChildren<TClass extends HTMLElement>
30
+ extends PreactBaseElementProps<TClass> {
31
+ children?: preact.ComponentChildren;
32
+ }
27
33
 
28
34
  export interface ClickableChipProps
29
35
  extends Required<
@@ -126,7 +132,7 @@ declare module 'preact' {
126
132
  Extract<keyof HTMLAttributes<HTMLElement>, `on${Capitalize<string>}`>
127
133
  > &
128
134
  Omit<ClickableChipJSXProps, 'graphic'> &
129
- PreactBaseElementProps<ClickableChip>;
135
+ PreactBaseElementPropsWithChildren<ClickableChip>;
130
136
  }
131
137
  }
132
138
  }
@@ -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;
@@ -34,6 +34,7 @@ export type CallbackEventListener<T extends keyof HTMLElementTagNameMap> =
34
34
  (event: CallbackEvent<T>): void;
35
35
  })
36
36
  | null;
37
+ /** Used when an element does not have children. */
37
38
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
38
39
  /** Assigns a unique key to this element. */
39
40
  key?: preact.Key;
@@ -74,6 +74,7 @@ declare abstract class PreactCustomElement extends BaseClass {
74
74
  click({sourceEvent}?: ClickOptions): void;
75
75
  }
76
76
 
77
+ /** Used when an element does not have children. */
77
78
  export interface PreactBaseElementProps<TClass extends HTMLElement> {
78
79
  /** Assigns a unique key to this element. */
79
80
  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;