@fluid-app/portal-sdk 0.1.469 → 0.1.470

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 (135) hide show
  1. package/authoring/portal-api/api.md +227 -0
  2. package/authoring/widget-api/api.md +6 -0
  3. package/authoring/widget-api/core/src/registries/property-schema-types.md +3769 -0
  4. package/authoring/widget-api/sdk/src/widgets/worker.md +3683 -0
  5. package/dist/{CarouselWidget-CnjImV4p.cjs → CarouselWidget-B9_YaBRd.cjs} +7 -3
  6. package/dist/{CarouselWidget-CnjImV4p.cjs.map → CarouselWidget-B9_YaBRd.cjs.map} +1 -1
  7. package/dist/{CarouselWidget-xVj0Nl_1.cjs → CarouselWidget-BEPWgTCi.cjs} +1 -1
  8. package/dist/{CarouselWidget-DcoqH7YF.mjs → CarouselWidget-u58GTUD2.mjs} +7 -3
  9. package/dist/{CarouselWidget-DcoqH7YF.mjs.map → CarouselWidget-u58GTUD2.mjs.map} +1 -1
  10. package/dist/{ChartWidget-DhH_Q0e9.cjs → ChartWidget-C6hsftO9.cjs} +1 -1
  11. package/dist/{ChartWidget-CFyWkbfl.mjs → ChartWidget-J_JLCsug.mjs} +9 -2
  12. package/dist/{ChartWidget-CFyWkbfl.mjs.map → ChartWidget-J_JLCsug.mjs.map} +1 -1
  13. package/dist/{ChartWidget-DF-KE_5t.cjs → ChartWidget-q9yjk-79.cjs} +9 -2
  14. package/dist/{ChartWidget-DF-KE_5t.cjs.map → ChartWidget-q9yjk-79.cjs.map} +1 -1
  15. package/dist/{FluidProvider-CHo5kVRs.cjs → FluidProvider-DD1pE8b6.cjs} +2 -2
  16. package/dist/{FluidProvider-CHo5kVRs.cjs.map → FluidProvider-DD1pE8b6.cjs.map} +1 -1
  17. package/dist/{FluidProvider-BUV8QY8z.mjs → FluidProvider-DoJ-j6H-.mjs} +2 -2
  18. package/dist/{FluidProvider-BUV8QY8z.mjs.map → FluidProvider-DoJ-j6H-.mjs.map} +1 -1
  19. package/dist/{ImageWidget-BK_f_L0T.mjs → ImageWidget-B2SfenSC.mjs} +2 -2
  20. package/dist/{ImageWidget-BK_f_L0T.mjs.map → ImageWidget-B2SfenSC.mjs.map} +1 -1
  21. package/dist/{ImageWidget-8WfRzR60.cjs → ImageWidget-BFyfpxLg.cjs} +1 -1
  22. package/dist/{ImageWidget-C9PCTFpZ.cjs → ImageWidget-C7U9t7a3.cjs} +2 -2
  23. package/dist/{ImageWidget-C9PCTFpZ.cjs.map → ImageWidget-C7U9t7a3.cjs.map} +1 -1
  24. package/dist/{LinkWidget-DRMzQhQz.cjs → LinkWidget-Cjzrpnzd.cjs} +4 -1
  25. package/dist/LinkWidget-Cjzrpnzd.cjs.map +1 -0
  26. package/dist/{LinkWidget-BqLCMzfY.cjs → LinkWidget-D3acO4R8.cjs} +1 -1
  27. package/dist/{LinkWidget-C3HRFueg.mjs → LinkWidget-Dlw2rzK6.mjs} +4 -1
  28. package/dist/LinkWidget-Dlw2rzK6.mjs.map +1 -0
  29. package/dist/{ListWidget-BiBx02S8.cjs → ListWidget-DWAtSTK6.cjs} +1 -1
  30. package/dist/{ListWidget-D7Ws1bMu.mjs → ListWidget-W5Tm4mWy.mjs} +7 -3
  31. package/dist/{ListWidget-D7Ws1bMu.mjs.map → ListWidget-W5Tm4mWy.mjs.map} +1 -1
  32. package/dist/{ListWidget-Ge83X2-d.cjs → ListWidget-YrcH5_Ez.cjs} +7 -3
  33. package/dist/{ListWidget-Ge83X2-d.cjs.map → ListWidget-YrcH5_Ez.cjs.map} +1 -1
  34. package/dist/{MessagingScreen-KYbF9U2N.cjs → MessagingScreen-B8Bcy-2V.cjs} +2 -2
  35. package/dist/{MessagingScreen-KYbF9U2N.cjs.map → MessagingScreen-B8Bcy-2V.cjs.map} +1 -1
  36. package/dist/{MessagingScreen-r40mXBJR.mjs → MessagingScreen-BBoYyLPj.mjs} +11 -11
  37. package/dist/{MessagingScreen-CC2FSdcv.cjs → MessagingScreen-BJ7NTczB.cjs} +11 -11
  38. package/dist/{MessagingScreen-B9LmuGG4.mjs → MessagingScreen-vaNfWYeM.mjs} +2 -2
  39. package/dist/{MessagingScreen-B9LmuGG4.mjs.map → MessagingScreen-vaNfWYeM.mjs.map} +1 -1
  40. package/dist/{NestedWidget-nWK5H1NG.cjs → NestedWidget-B5iyFylx.cjs} +6 -2
  41. package/dist/{NestedWidget-nWK5H1NG.cjs.map → NestedWidget-B5iyFylx.cjs.map} +1 -1
  42. package/dist/{NestedWidget-J8fPrBNA.mjs → NestedWidget-Bdll8TLQ.mjs} +6 -2
  43. package/dist/{NestedWidget-J8fPrBNA.mjs.map → NestedWidget-Bdll8TLQ.mjs.map} +1 -1
  44. package/dist/{NestedWidget-Bhltm3Db.cjs → NestedWidget-CBYJ_Qw7.cjs} +1 -1
  45. package/dist/{OrdersScreen-jhkTEp5y.cjs → OrdersScreen-BdtVN1wl.cjs} +11 -11
  46. package/dist/{OrdersScreen-BMslkiOK.mjs → OrdersScreen-ClB_Yor-.mjs} +2 -2
  47. package/dist/{OrdersScreen-BMslkiOK.mjs.map → OrdersScreen-ClB_Yor-.mjs.map} +1 -1
  48. package/dist/{OrdersScreen-CHt2QwB7.mjs → OrdersScreen-D2cymJtp.mjs} +11 -11
  49. package/dist/{OrdersScreen-DkRte66f.cjs → OrdersScreen-DnJa329w.cjs} +2 -2
  50. package/dist/{OrdersScreen-DkRte66f.cjs.map → OrdersScreen-DnJa329w.cjs.map} +1 -1
  51. package/dist/{ProfileScreen-Cw1hajhU.mjs → ProfileScreen-3ki8yPFt.mjs} +3 -3
  52. package/dist/{ProfileScreen-Cw1hajhU.mjs.map → ProfileScreen-3ki8yPFt.mjs.map} +1 -1
  53. package/dist/{ProfileScreen-BP5KEyW0.mjs → ProfileScreen-DY5leCsw.mjs} +12 -12
  54. package/dist/{ProfileScreen-Ba8B0_Bm.cjs → ProfileScreen-G3cmyl0b.cjs} +3 -3
  55. package/dist/{ProfileScreen-Ba8B0_Bm.cjs.map → ProfileScreen-G3cmyl0b.cjs.map} +1 -1
  56. package/dist/{ProfileScreen-BAbxbpdQ.cjs → ProfileScreen-ouDvR1F7.cjs} +12 -12
  57. package/dist/{ShopWidget-jQ-osGyn.mjs → ShopWidget-BH0Pcepg.mjs} +6 -2
  58. package/dist/{ShopWidget-jQ-osGyn.mjs.map → ShopWidget-BH0Pcepg.mjs.map} +1 -1
  59. package/dist/{ShopWidget-Dc3fH_tP.cjs → ShopWidget-RfF5ZRv2.cjs} +6 -2
  60. package/dist/{ShopWidget-Dc3fH_tP.cjs.map → ShopWidget-RfF5ZRv2.cjs.map} +1 -1
  61. package/dist/{ShopWidget-gc_BbyrJ.cjs → ShopWidget-ecp3h54J.cjs} +1 -1
  62. package/dist/{SubscriptionsScreen-BscwpAw8.cjs → SubscriptionsScreen-BiNmEFLP.cjs} +4 -4
  63. package/dist/{SubscriptionsScreen-BscwpAw8.cjs.map → SubscriptionsScreen-BiNmEFLP.cjs.map} +1 -1
  64. package/dist/{SubscriptionsScreen-D2uyJGIE.mjs → SubscriptionsScreen-NCU2I079.mjs} +4 -4
  65. package/dist/{SubscriptionsScreen-D2uyJGIE.mjs.map → SubscriptionsScreen-NCU2I079.mjs.map} +1 -1
  66. package/dist/{SubscriptionsScreen-Nfbt2u5r.cjs → SubscriptionsScreen-cuw6yk56.cjs} +12 -12
  67. package/dist/{SubscriptionsScreen-DU5AKlfR.mjs → SubscriptionsScreen-fv_xxA9j.mjs} +12 -12
  68. package/dist/{TableWidget-B4rGem0e.cjs → TableWidget-B8axD206.cjs} +1 -1
  69. package/dist/{TableWidget-LolaiYXA.mjs → TableWidget-C861T_Ac.mjs} +8 -1
  70. package/dist/{TableWidget-LolaiYXA.mjs.map → TableWidget-C861T_Ac.mjs.map} +1 -1
  71. package/dist/{TableWidget-Dfzx5jaI.cjs → TableWidget-CAgARK2Y.cjs} +8 -1
  72. package/dist/{TableWidget-Dfzx5jaI.cjs.map → TableWidget-CAgARK2Y.cjs.map} +1 -1
  73. package/dist/build-remote-widget-plugin-manifests-BDGS5t6k.d.mts +87 -0
  74. package/dist/build-remote-widget-plugin-manifests-BDGS5t6k.d.mts.map +1 -0
  75. package/dist/build-remote-widget-plugin-manifests-BS2FjZRV.d.cts +87 -0
  76. package/dist/build-remote-widget-plugin-manifests-BS2FjZRV.d.cts.map +1 -0
  77. package/dist/{build-widget-registry-BwiPIMcu.d.mts → build-widget-registry-ByUJk3-B.d.mts} +2 -2
  78. package/dist/{build-widget-registry-BwiPIMcu.d.mts.map → build-widget-registry-ByUJk3-B.d.mts.map} +1 -1
  79. package/dist/{build-widget-registry-BmU54VJb.cjs → build-widget-registry-CCmtBo8w.cjs} +17 -17
  80. package/dist/build-widget-registry-CCmtBo8w.cjs.map +1 -0
  81. package/dist/{build-widget-registry-DSE7CmVe.d.cts → build-widget-registry-Dsp9P8gq.d.cts} +2 -2
  82. package/dist/{build-widget-registry-DSE7CmVe.d.cts.map → build-widget-registry-Dsp9P8gq.d.cts.map} +1 -1
  83. package/dist/{build-widget-registry-Bimd6Pxq.mjs → build-widget-registry-DvCtfn9d.mjs} +17 -17
  84. package/dist/build-widget-registry-DvCtfn9d.mjs.map +1 -0
  85. package/dist/index.cjs +29 -24
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.cts +40 -13
  88. package/dist/index.d.cts.map +1 -1
  89. package/dist/index.d.mts +40 -13
  90. package/dist/index.d.mts.map +1 -1
  91. package/dist/index.mjs +29 -24
  92. package/dist/index.mjs.map +1 -1
  93. package/dist/{link-type-schema-fields-DJBFdG7t.mjs → link-type-schema-fields-CncR6GKa.mjs} +3 -1
  94. package/dist/link-type-schema-fields-CncR6GKa.mjs.map +1 -0
  95. package/dist/{link-type-schema-fields-CQXXgSqn.cjs → link-type-schema-fields-DvSzjbwD.cjs} +3 -1
  96. package/dist/link-type-schema-fields-DvSzjbwD.cjs.map +1 -0
  97. package/dist/{build-remote-widget-plugin-manifests-CFmLot7p.d.cts → portal-function-DYWFgeRx.d.cts} +826 -796
  98. package/dist/portal-function-DYWFgeRx.d.cts.map +1 -0
  99. package/dist/{build-remote-widget-plugin-manifests-BsgLYqar.d.mts → portal-function-DgqXwF13.d.mts} +932 -902
  100. package/dist/portal-function-DgqXwF13.d.mts.map +1 -0
  101. package/dist/registries-DgzzKX8_.cjs.map +1 -1
  102. package/dist/registries-Dvq4M6wO.mjs.map +1 -1
  103. package/dist/{use-portal-card-add-3ds-flow-BE4p2zYl.cjs → use-portal-card-add-3ds-flow-CRiGY6e0.cjs} +3 -3
  104. package/dist/{use-portal-card-add-3ds-flow-BE4p2zYl.cjs.map → use-portal-card-add-3ds-flow-CRiGY6e0.cjs.map} +1 -1
  105. package/dist/{use-portal-card-add-3ds-flow-DzhPOYGn.mjs → use-portal-card-add-3ds-flow-DjeKiZvQ.mjs} +3 -3
  106. package/dist/{use-portal-card-add-3ds-flow-DzhPOYGn.mjs.map → use-portal-card-add-3ds-flow-DjeKiZvQ.mjs.map} +1 -1
  107. package/dist/utils/build-remote-widget-plugin-manifests.cjs +9 -9
  108. package/dist/utils/build-remote-widget-plugin-manifests.d.cts +1 -1
  109. package/dist/utils/build-remote-widget-plugin-manifests.d.mts +1 -1
  110. package/dist/utils/build-remote-widget-plugin-manifests.mjs +9 -9
  111. package/dist/utils/build-widget-registry.cjs +9 -9
  112. package/dist/utils/build-widget-registry.d.cts +1 -1
  113. package/dist/utils/build-widget-registry.d.mts +1 -1
  114. package/dist/utils/build-widget-registry.mjs +9 -9
  115. package/dist/widgets/worker.cjs +20 -1
  116. package/dist/widgets/worker.cjs.map +1 -1
  117. package/dist/widgets/worker.d.cts +67 -4
  118. package/dist/widgets/worker.d.cts.map +1 -1
  119. package/dist/widgets/worker.d.mts +67 -4
  120. package/dist/widgets/worker.d.mts.map +1 -1
  121. package/dist/widgets/worker.mjs +20 -1
  122. package/dist/widgets/worker.mjs.map +1 -1
  123. package/package.json +18 -17
  124. package/dist/LinkWidget-C3HRFueg.mjs.map +0 -1
  125. package/dist/LinkWidget-DRMzQhQz.cjs.map +0 -1
  126. package/dist/build-remote-widget-plugin-manifests-BsgLYqar.d.mts.map +0 -1
  127. package/dist/build-remote-widget-plugin-manifests-CFmLot7p.d.cts.map +0 -1
  128. package/dist/build-widget-registry-Bimd6Pxq.mjs.map +0 -1
  129. package/dist/build-widget-registry-BmU54VJb.cjs.map +0 -1
  130. package/dist/link-type-schema-fields-CQXXgSqn.cjs.map +0 -1
  131. package/dist/link-type-schema-fields-DJBFdG7t.mjs.map +0 -1
  132. package/dist/portal-function-85qUlAVz.d.mts +0 -76
  133. package/dist/portal-function-85qUlAVz.d.mts.map +0 -1
  134. package/dist/portal-function-CW3U6P5p.d.cts +0 -76
  135. package/dist/portal-function-CW3U6P5p.d.cts.map +0 -1
@@ -0,0 +1,3769 @@
1
+ # core/src/registries/property-schema-types
2
+
3
+ ## Interfaces
4
+
5
+ ### AlignmentFieldSchema
6
+
7
+ Alignment field schema
8
+
9
+ #### Extends
10
+
11
+ - [`PropertyFieldSchema`](#propertyfieldschema)
12
+
13
+ #### Properties
14
+
15
+ ##### advanced?
16
+
17
+ > `optional` **advanced?**: `boolean`
18
+
19
+ When true, this field is treated as an override of a value that can
20
+ otherwise be inherited from the active theme (e.g. border radius,
21
+ padding, border width). Advanced fields are automatically bucketed
22
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
23
+ rendered collapsed by default so the default surface area stays
24
+ minimal.
25
+
26
+ ###### Inherited from
27
+
28
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
29
+
30
+ ##### defaultValue?
31
+
32
+ > `optional` **defaultValue?**: `AlignOptions`
33
+
34
+ Optional default value
35
+
36
+ ###### Overrides
37
+
38
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
39
+
40
+ ##### description?
41
+
42
+ > `optional` **description?**: `string`
43
+
44
+ Optional description/help text
45
+
46
+ ###### Inherited from
47
+
48
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
49
+
50
+ ##### group?
51
+
52
+ > `optional` **group?**: `string`
53
+
54
+ Optional group for organizing fields within a tab
55
+
56
+ ###### Inherited from
57
+
58
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
59
+
60
+ ##### key
61
+
62
+ > **key**: `string`
63
+
64
+ Property key in the widget props
65
+
66
+ ###### Inherited from
67
+
68
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
69
+
70
+ ##### label
71
+
72
+ > **label**: `string`
73
+
74
+ Display label for the field
75
+
76
+ ###### Inherited from
77
+
78
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
79
+
80
+ ##### options
81
+
82
+ > **options**: `object`
83
+
84
+ ###### horizontalEnabled
85
+
86
+ > **horizontalEnabled**: `boolean`
87
+
88
+ ###### verticalEnabled
89
+
90
+ > **verticalEnabled**: `boolean`
91
+
92
+ ##### ~~requiresKeyToBeTrue?~~
93
+
94
+ > `optional` **requiresKeyToBeTrue?**: `string`
95
+
96
+ ###### Deprecated
97
+
98
+ Use requiresKeyValue instead
99
+
100
+ ###### Inherited from
101
+
102
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
103
+
104
+ ##### requiresKeyValue?
105
+
106
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
107
+
108
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
109
+
110
+ ###### Inherited from
111
+
112
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
113
+
114
+ ##### tab?
115
+
116
+ > `optional` **tab?**: `string`
117
+
118
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
119
+
120
+ ###### Inherited from
121
+
122
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
123
+
124
+ ##### type
125
+
126
+ > **type**: `"alignment"`
127
+
128
+ Field type determines the input control
129
+
130
+ ###### Overrides
131
+
132
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
133
+
134
+ ---
135
+
136
+ ### BackgroundFieldSchema
137
+
138
+ Background field combines resource selection and color properties.
139
+ Uses StrictOmit to exclude conflicting "type" discriminant from parents.
140
+
141
+ #### Extends
142
+
143
+ - `StrictOmit`\<[`ResourceFieldSchema`](#resourcefieldschema), `"type"`\>.`StrictOmit`\<[`ColorFieldSchema`](#colorfieldschema), `"type"`\>
144
+
145
+ #### Properties
146
+
147
+ ##### advanced?
148
+
149
+ > `optional` **advanced?**: `boolean`
150
+
151
+ When true, this field is treated as an override of a value that can
152
+ otherwise be inherited from the active theme (e.g. border radius,
153
+ padding, border width). Advanced fields are automatically bucketed
154
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
155
+ rendered collapsed by default so the default surface area stays
156
+ minimal.
157
+
158
+ ###### Inherited from
159
+
160
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
161
+
162
+ ##### allowedTypes?
163
+
164
+ > `optional` **allowedTypes?**: `string`[]
165
+
166
+ Optional filter to specific shareable types
167
+
168
+ ###### Inherited from
169
+
170
+ [`ResourceFieldSchema`](#resourcefieldschema).[`allowedTypes`](#allowedtypes-1)
171
+
172
+ ##### defaultValue?
173
+
174
+ > `optional` **defaultValue?**: `unknown`
175
+
176
+ Optional default value
177
+
178
+ ###### Inherited from
179
+
180
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
181
+
182
+ ##### description?
183
+
184
+ > `optional` **description?**: `string`
185
+
186
+ Optional description/help text
187
+
188
+ ###### Inherited from
189
+
190
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
191
+
192
+ ##### group?
193
+
194
+ > `optional` **group?**: `string`
195
+
196
+ Optional group for organizing fields within a tab
197
+
198
+ ###### Inherited from
199
+
200
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
201
+
202
+ ##### key
203
+
204
+ > **key**: `string`
205
+
206
+ Property key in the widget props
207
+
208
+ ###### Inherited from
209
+
210
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
211
+
212
+ ##### label
213
+
214
+ > **label**: `string`
215
+
216
+ Display label for the field
217
+
218
+ ###### Inherited from
219
+
220
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
221
+
222
+ ##### ~~requiresKeyToBeTrue?~~
223
+
224
+ > `optional` **requiresKeyToBeTrue?**: `string`
225
+
226
+ ###### Deprecated
227
+
228
+ Use requiresKeyValue instead
229
+
230
+ ###### Inherited from
231
+
232
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
233
+
234
+ ##### requiresKeyValue?
235
+
236
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
237
+
238
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
239
+
240
+ ###### Inherited from
241
+
242
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
243
+
244
+ ##### tab?
245
+
246
+ > `optional` **tab?**: `string`
247
+
248
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
249
+
250
+ ###### Inherited from
251
+
252
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
253
+
254
+ ##### type
255
+
256
+ > **type**: `"background"`
257
+
258
+ ---
259
+
260
+ ### BooleanFieldSchema
261
+
262
+ Boolean field schema
263
+
264
+ #### Extends
265
+
266
+ - [`PropertyFieldSchema`](#propertyfieldschema)
267
+
268
+ #### Properties
269
+
270
+ ##### advanced?
271
+
272
+ > `optional` **advanced?**: `boolean`
273
+
274
+ When true, this field is treated as an override of a value that can
275
+ otherwise be inherited from the active theme (e.g. border radius,
276
+ padding, border width). Advanced fields are automatically bucketed
277
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
278
+ rendered collapsed by default so the default surface area stays
279
+ minimal.
280
+
281
+ ###### Inherited from
282
+
283
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
284
+
285
+ ##### defaultValue?
286
+
287
+ > `optional` **defaultValue?**: `unknown`
288
+
289
+ Optional default value
290
+
291
+ ###### Inherited from
292
+
293
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
294
+
295
+ ##### description?
296
+
297
+ > `optional` **description?**: `string`
298
+
299
+ Optional description/help text
300
+
301
+ ###### Inherited from
302
+
303
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
304
+
305
+ ##### group?
306
+
307
+ > `optional` **group?**: `string`
308
+
309
+ Optional group for organizing fields within a tab
310
+
311
+ ###### Inherited from
312
+
313
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
314
+
315
+ ##### key
316
+
317
+ > **key**: `string`
318
+
319
+ Property key in the widget props
320
+
321
+ ###### Inherited from
322
+
323
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
324
+
325
+ ##### label
326
+
327
+ > **label**: `string`
328
+
329
+ Display label for the field
330
+
331
+ ###### Inherited from
332
+
333
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
334
+
335
+ ##### ~~requiresKeyToBeTrue?~~
336
+
337
+ > `optional` **requiresKeyToBeTrue?**: `string`
338
+
339
+ ###### Deprecated
340
+
341
+ Use requiresKeyValue instead
342
+
343
+ ###### Inherited from
344
+
345
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
346
+
347
+ ##### requiresKeyValue?
348
+
349
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
350
+
351
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
352
+
353
+ ###### Inherited from
354
+
355
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
356
+
357
+ ##### tab?
358
+
359
+ > `optional` **tab?**: `string`
360
+
361
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
362
+
363
+ ###### Inherited from
364
+
365
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
366
+
367
+ ##### type
368
+
369
+ > **type**: `"boolean"`
370
+
371
+ Field type determines the input control
372
+
373
+ ###### Overrides
374
+
375
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
376
+
377
+ ---
378
+
379
+ ### BorderRadiusFieldSchema
380
+
381
+ Border radius composite field schema for controlling 4 corners with a single field.
382
+ Maps to 4 individual widget prop keys (topLeft, topRight, bottomLeft, bottomRight).
383
+
384
+ #### Extends
385
+
386
+ - [`PropertyFieldSchema`](#propertyfieldschema)
387
+
388
+ #### Properties
389
+
390
+ ##### advanced?
391
+
392
+ > `optional` **advanced?**: `boolean`
393
+
394
+ When true, this field is treated as an override of a value that can
395
+ otherwise be inherited from the active theme (e.g. border radius,
396
+ padding, border width). Advanced fields are automatically bucketed
397
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
398
+ rendered collapsed by default so the default surface area stays
399
+ minimal.
400
+
401
+ ###### Inherited from
402
+
403
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
404
+
405
+ ##### defaultValue?
406
+
407
+ > `optional` **defaultValue?**: `BorderRadiusOptions`
408
+
409
+ Optional default value
410
+
411
+ ###### Overrides
412
+
413
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
414
+
415
+ ##### description?
416
+
417
+ > `optional` **description?**: `string`
418
+
419
+ Optional description/help text
420
+
421
+ ###### Inherited from
422
+
423
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
424
+
425
+ ##### group?
426
+
427
+ > `optional` **group?**: `string`
428
+
429
+ Optional group for organizing fields within a tab
430
+
431
+ ###### Inherited from
432
+
433
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
434
+
435
+ ##### key
436
+
437
+ > **key**: `string`
438
+
439
+ Property key in the widget props
440
+
441
+ ###### Inherited from
442
+
443
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
444
+
445
+ ##### keys
446
+
447
+ > **keys**: `object`
448
+
449
+ ###### bottomLeft
450
+
451
+ > **bottomLeft**: `string`
452
+
453
+ ###### bottomRight
454
+
455
+ > **bottomRight**: `string`
456
+
457
+ ###### topLeft
458
+
459
+ > **topLeft**: `string`
460
+
461
+ ###### topRight
462
+
463
+ > **topRight**: `string`
464
+
465
+ ##### label
466
+
467
+ > **label**: `string`
468
+
469
+ Display label for the field
470
+
471
+ ###### Inherited from
472
+
473
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
474
+
475
+ ##### ~~requiresKeyToBeTrue?~~
476
+
477
+ > `optional` **requiresKeyToBeTrue?**: `string`
478
+
479
+ ###### Deprecated
480
+
481
+ Use requiresKeyValue instead
482
+
483
+ ###### Inherited from
484
+
485
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
486
+
487
+ ##### requiresKeyValue?
488
+
489
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
490
+
491
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
492
+
493
+ ###### Inherited from
494
+
495
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
496
+
497
+ ##### tab?
498
+
499
+ > `optional` **tab?**: `string`
500
+
501
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
502
+
503
+ ###### Inherited from
504
+
505
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
506
+
507
+ ##### type
508
+
509
+ > **type**: `"borderRadius"`
510
+
511
+ Field type determines the input control
512
+
513
+ ###### Overrides
514
+
515
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
516
+
517
+ ---
518
+
519
+ ### ButtonGroupFieldSchema
520
+
521
+ Button group field schema.
522
+ Uses StrictOmit to ensure "defaultValue" key exists on PropertyFieldSchema.
523
+
524
+ #### Extends
525
+
526
+ - `StrictOmit`\<[`PropertyFieldSchema`](#propertyfieldschema), `"defaultValue"`\>
527
+
528
+ #### Type Parameters
529
+
530
+ ##### T
531
+
532
+ `T` _extends_ `string` \| `number` = `string` \| `number`
533
+
534
+ #### Properties
535
+
536
+ ##### advanced?
537
+
538
+ > `optional` **advanced?**: `boolean`
539
+
540
+ When true, this field is treated as an override of a value that can
541
+ otherwise be inherited from the active theme (e.g. border radius,
542
+ padding, border width). Advanced fields are automatically bucketed
543
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
544
+ rendered collapsed by default so the default surface area stays
545
+ minimal.
546
+
547
+ ###### Inherited from
548
+
549
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
550
+
551
+ ##### defaultValue?
552
+
553
+ > `optional` **defaultValue?**: `T`
554
+
555
+ ##### description?
556
+
557
+ > `optional` **description?**: `string`
558
+
559
+ Optional description/help text
560
+
561
+ ###### Inherited from
562
+
563
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
564
+
565
+ ##### group?
566
+
567
+ > `optional` **group?**: `string`
568
+
569
+ Optional group for organizing fields within a tab
570
+
571
+ ###### Inherited from
572
+
573
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
574
+
575
+ ##### key
576
+
577
+ > **key**: `string`
578
+
579
+ Property key in the widget props
580
+
581
+ ###### Inherited from
582
+
583
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
584
+
585
+ ##### label
586
+
587
+ > **label**: `string`
588
+
589
+ Display label for the field
590
+
591
+ ###### Inherited from
592
+
593
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
594
+
595
+ ##### options
596
+
597
+ > **options**: `object`[]
598
+
599
+ ###### ariaLabel?
600
+
601
+ > `optional` **ariaLabel?**: `string`
602
+
603
+ ###### icon?
604
+
605
+ > `optional` **icon?**: `LucideIcon`
606
+
607
+ ###### label?
608
+
609
+ > `optional` **label?**: `string`
610
+
611
+ ###### value
612
+
613
+ > **value**: `T`
614
+
615
+ ##### ~~requiresKeyToBeTrue?~~
616
+
617
+ > `optional` **requiresKeyToBeTrue?**: `string`
618
+
619
+ ###### Deprecated
620
+
621
+ Use requiresKeyValue instead
622
+
623
+ ###### Inherited from
624
+
625
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
626
+
627
+ ##### requiresKeyValue?
628
+
629
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
630
+
631
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
632
+
633
+ ###### Inherited from
634
+
635
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
636
+
637
+ ##### tab?
638
+
639
+ > `optional` **tab?**: `string`
640
+
641
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
642
+
643
+ ###### Inherited from
644
+
645
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
646
+
647
+ ##### type
648
+
649
+ > **type**: `"buttonGroup"`
650
+
651
+ Field type determines the input control
652
+
653
+ ###### Overrides
654
+
655
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
656
+
657
+ ---
658
+
659
+ ### ~~ColorFieldSchema~~
660
+
661
+ Legacy free-form color field schema.
662
+
663
+ #### Deprecated
664
+
665
+ Use [ColorSelectFieldSchema](#colorselectfieldschema) (`type: "colorSelect"`) so
666
+ widget authors select a semantic color token supplied by the portal theme.
667
+
668
+ #### Extends
669
+
670
+ - [`PropertyFieldSchema`](#propertyfieldschema)
671
+
672
+ #### Properties
673
+
674
+ ##### ~~advanced?~~
675
+
676
+ > `optional` **advanced?**: `boolean`
677
+
678
+ When true, this field is treated as an override of a value that can
679
+ otherwise be inherited from the active theme (e.g. border radius,
680
+ padding, border width). Advanced fields are automatically bucketed
681
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
682
+ rendered collapsed by default so the default surface area stays
683
+ minimal.
684
+
685
+ ###### Inherited from
686
+
687
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
688
+
689
+ ##### ~~defaultValue?~~
690
+
691
+ > `optional` **defaultValue?**: `unknown`
692
+
693
+ Optional default value
694
+
695
+ ###### Inherited from
696
+
697
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
698
+
699
+ ##### ~~description?~~
700
+
701
+ > `optional` **description?**: `string`
702
+
703
+ Optional description/help text
704
+
705
+ ###### Inherited from
706
+
707
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
708
+
709
+ ##### ~~group?~~
710
+
711
+ > `optional` **group?**: `string`
712
+
713
+ Optional group for organizing fields within a tab
714
+
715
+ ###### Inherited from
716
+
717
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
718
+
719
+ ##### ~~key~~
720
+
721
+ > **key**: `string`
722
+
723
+ Property key in the widget props
724
+
725
+ ###### Inherited from
726
+
727
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
728
+
729
+ ##### ~~label~~
730
+
731
+ > **label**: `string`
732
+
733
+ Display label for the field
734
+
735
+ ###### Inherited from
736
+
737
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
738
+
739
+ ##### ~~requiresKeyToBeTrue?~~
740
+
741
+ > `optional` **requiresKeyToBeTrue?**: `string`
742
+
743
+ ###### Deprecated
744
+
745
+ Use requiresKeyValue instead
746
+
747
+ ###### Inherited from
748
+
749
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
750
+
751
+ ##### ~~requiresKeyValue?~~
752
+
753
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
754
+
755
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
756
+
757
+ ###### Inherited from
758
+
759
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
760
+
761
+ ##### ~~tab?~~
762
+
763
+ > `optional` **tab?**: `string`
764
+
765
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
766
+
767
+ ###### Inherited from
768
+
769
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
770
+
771
+ ##### ~~type~~
772
+
773
+ > **type**: `"color"`
774
+
775
+ Field type determines the input control
776
+
777
+ ###### Overrides
778
+
779
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
780
+
781
+ ---
782
+
783
+ ### ColorPickerFieldSchema
784
+
785
+ Color picker field schema with optional swatches
786
+
787
+ #### Extends
788
+
789
+ - [`PropertyFieldSchema`](#propertyfieldschema)
790
+
791
+ #### Properties
792
+
793
+ ##### advanced?
794
+
795
+ > `optional` **advanced?**: `boolean`
796
+
797
+ When true, this field is treated as an override of a value that can
798
+ otherwise be inherited from the active theme (e.g. border radius,
799
+ padding, border width). Advanced fields are automatically bucketed
800
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
801
+ rendered collapsed by default so the default surface area stays
802
+ minimal.
803
+
804
+ ###### Inherited from
805
+
806
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
807
+
808
+ ##### defaultValue?
809
+
810
+ > `optional` **defaultValue?**: `unknown`
811
+
812
+ Optional default value
813
+
814
+ ###### Inherited from
815
+
816
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
817
+
818
+ ##### description?
819
+
820
+ > `optional` **description?**: `string`
821
+
822
+ Optional description/help text
823
+
824
+ ###### Inherited from
825
+
826
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
827
+
828
+ ##### group?
829
+
830
+ > `optional` **group?**: `string`
831
+
832
+ Optional group for organizing fields within a tab
833
+
834
+ ###### Inherited from
835
+
836
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
837
+
838
+ ##### key
839
+
840
+ > **key**: `string`
841
+
842
+ Property key in the widget props
843
+
844
+ ###### Inherited from
845
+
846
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
847
+
848
+ ##### label
849
+
850
+ > **label**: `string`
851
+
852
+ Display label for the field
853
+
854
+ ###### Inherited from
855
+
856
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
857
+
858
+ ##### ~~requiresKeyToBeTrue?~~
859
+
860
+ > `optional` **requiresKeyToBeTrue?**: `string`
861
+
862
+ ###### Deprecated
863
+
864
+ Use requiresKeyValue instead
865
+
866
+ ###### Inherited from
867
+
868
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
869
+
870
+ ##### requiresKeyValue?
871
+
872
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
873
+
874
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
875
+
876
+ ###### Inherited from
877
+
878
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
879
+
880
+ ##### swatches?
881
+
882
+ > `optional` **swatches?**: `string`[]
883
+
884
+ ##### tab?
885
+
886
+ > `optional` **tab?**: `string`
887
+
888
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
889
+
890
+ ###### Inherited from
891
+
892
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
893
+
894
+ ##### type
895
+
896
+ > **type**: `"colorPicker"`
897
+
898
+ Field type determines the input control
899
+
900
+ ###### Overrides
901
+
902
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
903
+
904
+ ---
905
+
906
+ ### ColorSelectFieldSchema
907
+
908
+ Semantic theme-color token selector. Prefer this field over free-form color
909
+ controls so widgets continue to work across portal themes and color modes.
910
+
911
+ #### Extends
912
+
913
+ - [`PropertyFieldSchema`](#propertyfieldschema)
914
+
915
+ #### Properties
916
+
917
+ ##### advanced?
918
+
919
+ > `optional` **advanced?**: `boolean`
920
+
921
+ When true, this field is treated as an override of a value that can
922
+ otherwise be inherited from the active theme (e.g. border radius,
923
+ padding, border width). Advanced fields are automatically bucketed
924
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
925
+ rendered collapsed by default so the default surface area stays
926
+ minimal.
927
+
928
+ ###### Inherited from
929
+
930
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
931
+
932
+ ##### defaultValue?
933
+
934
+ > `optional` **defaultValue?**: `ColorOptions`
935
+
936
+ Optional default value
937
+
938
+ ###### Overrides
939
+
940
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
941
+
942
+ ##### description?
943
+
944
+ > `optional` **description?**: `string`
945
+
946
+ Optional description/help text
947
+
948
+ ###### Inherited from
949
+
950
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
951
+
952
+ ##### excludeColors?
953
+
954
+ > `optional` **excludeColors?**: `ColorOptions`[]
955
+
956
+ ##### group?
957
+
958
+ > `optional` **group?**: `string`
959
+
960
+ Optional group for organizing fields within a tab
961
+
962
+ ###### Inherited from
963
+
964
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
965
+
966
+ ##### key
967
+
968
+ > **key**: `string`
969
+
970
+ Property key in the widget props
971
+
972
+ ###### Inherited from
973
+
974
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
975
+
976
+ ##### label
977
+
978
+ > **label**: `string`
979
+
980
+ Display label for the field
981
+
982
+ ###### Inherited from
983
+
984
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
985
+
986
+ ##### ~~requiresKeyToBeTrue?~~
987
+
988
+ > `optional` **requiresKeyToBeTrue?**: `string`
989
+
990
+ ###### Deprecated
991
+
992
+ Use requiresKeyValue instead
993
+
994
+ ###### Inherited from
995
+
996
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
997
+
998
+ ##### requiresKeyValue?
999
+
1000
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1001
+
1002
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1003
+
1004
+ ###### Inherited from
1005
+
1006
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1007
+
1008
+ ##### tab?
1009
+
1010
+ > `optional` **tab?**: `string`
1011
+
1012
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1013
+
1014
+ ###### Inherited from
1015
+
1016
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1017
+
1018
+ ##### type
1019
+
1020
+ > **type**: `"colorSelect"`
1021
+
1022
+ Field type determines the input control
1023
+
1024
+ ###### Overrides
1025
+
1026
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1027
+
1028
+ ---
1029
+
1030
+ ### ContentPositionFieldSchema
1031
+
1032
+ Content position field schema for 3x3 grid position picker
1033
+
1034
+ #### Extends
1035
+
1036
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1037
+
1038
+ #### Properties
1039
+
1040
+ ##### advanced?
1041
+
1042
+ > `optional` **advanced?**: `boolean`
1043
+
1044
+ When true, this field is treated as an override of a value that can
1045
+ otherwise be inherited from the active theme (e.g. border radius,
1046
+ padding, border width). Advanced fields are automatically bucketed
1047
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1048
+ rendered collapsed by default so the default surface area stays
1049
+ minimal.
1050
+
1051
+ ###### Inherited from
1052
+
1053
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1054
+
1055
+ ##### defaultValue?
1056
+
1057
+ > `optional` **defaultValue?**: `string`
1058
+
1059
+ Optional default value
1060
+
1061
+ ###### Overrides
1062
+
1063
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1064
+
1065
+ ##### description?
1066
+
1067
+ > `optional` **description?**: `string`
1068
+
1069
+ Optional description/help text
1070
+
1071
+ ###### Inherited from
1072
+
1073
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1074
+
1075
+ ##### group?
1076
+
1077
+ > `optional` **group?**: `string`
1078
+
1079
+ Optional group for organizing fields within a tab
1080
+
1081
+ ###### Inherited from
1082
+
1083
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1084
+
1085
+ ##### key
1086
+
1087
+ > **key**: `string`
1088
+
1089
+ Property key in the widget props
1090
+
1091
+ ###### Inherited from
1092
+
1093
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1094
+
1095
+ ##### label
1096
+
1097
+ > **label**: `string`
1098
+
1099
+ Display label for the field
1100
+
1101
+ ###### Inherited from
1102
+
1103
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1104
+
1105
+ ##### ~~requiresKeyToBeTrue?~~
1106
+
1107
+ > `optional` **requiresKeyToBeTrue?**: `string`
1108
+
1109
+ ###### Deprecated
1110
+
1111
+ Use requiresKeyValue instead
1112
+
1113
+ ###### Inherited from
1114
+
1115
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
1116
+
1117
+ ##### requiresKeyValue?
1118
+
1119
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1120
+
1121
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1122
+
1123
+ ###### Inherited from
1124
+
1125
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1126
+
1127
+ ##### tab?
1128
+
1129
+ > `optional` **tab?**: `string`
1130
+
1131
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1132
+
1133
+ ###### Inherited from
1134
+
1135
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1136
+
1137
+ ##### type
1138
+
1139
+ > **type**: `"contentPosition"`
1140
+
1141
+ Field type determines the input control
1142
+
1143
+ ###### Overrides
1144
+
1145
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1146
+
1147
+ ---
1148
+
1149
+ ### CssUnitFieldSchema
1150
+
1151
+ CSS unit field schema for numeric values with selectable units (px, rem, vh, %)
1152
+
1153
+ #### Extends
1154
+
1155
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1156
+
1157
+ #### Properties
1158
+
1159
+ ##### advanced?
1160
+
1161
+ > `optional` **advanced?**: `boolean`
1162
+
1163
+ When true, this field is treated as an override of a value that can
1164
+ otherwise be inherited from the active theme (e.g. border radius,
1165
+ padding, border width). Advanced fields are automatically bucketed
1166
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1167
+ rendered collapsed by default so the default surface area stays
1168
+ minimal.
1169
+
1170
+ ###### Inherited from
1171
+
1172
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1173
+
1174
+ ##### allowedUnits?
1175
+
1176
+ > `optional` **allowedUnits?**: [`CssUnit`](#cssunit)[]
1177
+
1178
+ ##### defaultUnit?
1179
+
1180
+ > `optional` **defaultUnit?**: [`CssUnit`](#cssunit)
1181
+
1182
+ ##### defaultValue?
1183
+
1184
+ > `optional` **defaultValue?**: `unknown`
1185
+
1186
+ Optional default value
1187
+
1188
+ ###### Inherited from
1189
+
1190
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1191
+
1192
+ ##### description?
1193
+
1194
+ > `optional` **description?**: `string`
1195
+
1196
+ Optional description/help text
1197
+
1198
+ ###### Inherited from
1199
+
1200
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1201
+
1202
+ ##### group?
1203
+
1204
+ > `optional` **group?**: `string`
1205
+
1206
+ Optional group for organizing fields within a tab
1207
+
1208
+ ###### Inherited from
1209
+
1210
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1211
+
1212
+ ##### key
1213
+
1214
+ > **key**: `string`
1215
+
1216
+ Property key in the widget props
1217
+
1218
+ ###### Inherited from
1219
+
1220
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1221
+
1222
+ ##### label
1223
+
1224
+ > **label**: `string`
1225
+
1226
+ Display label for the field
1227
+
1228
+ ###### Inherited from
1229
+
1230
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1231
+
1232
+ ##### maxByUnit?
1233
+
1234
+ > `optional` **maxByUnit?**: `Partial`\<`Record`\<[`CssUnit`](#cssunit), `number`\>\>
1235
+
1236
+ ##### minByUnit?
1237
+
1238
+ > `optional` **minByUnit?**: `Partial`\<`Record`\<[`CssUnit`](#cssunit), `number`\>\>
1239
+
1240
+ ##### ~~requiresKeyToBeTrue?~~
1241
+
1242
+ > `optional` **requiresKeyToBeTrue?**: `string`
1243
+
1244
+ ###### Deprecated
1245
+
1246
+ Use requiresKeyValue instead
1247
+
1248
+ ###### Inherited from
1249
+
1250
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
1251
+
1252
+ ##### requiresKeyValue?
1253
+
1254
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1255
+
1256
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1257
+
1258
+ ###### Inherited from
1259
+
1260
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1261
+
1262
+ ##### stepByUnit?
1263
+
1264
+ > `optional` **stepByUnit?**: `Partial`\<`Record`\<[`CssUnit`](#cssunit), `number`\>\>
1265
+
1266
+ ##### tab?
1267
+
1268
+ > `optional` **tab?**: `string`
1269
+
1270
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1271
+
1272
+ ###### Inherited from
1273
+
1274
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1275
+
1276
+ ##### type
1277
+
1278
+ > **type**: `"cssUnit"`
1279
+
1280
+ Field type determines the input control
1281
+
1282
+ ###### Overrides
1283
+
1284
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1285
+
1286
+ ---
1287
+
1288
+ ### DataSourceFieldSchema
1289
+
1290
+ Data source field schema for configuring widget data sources
1291
+
1292
+ #### Extends
1293
+
1294
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1295
+
1296
+ #### Properties
1297
+
1298
+ ##### advanced?
1299
+
1300
+ > `optional` **advanced?**: `boolean`
1301
+
1302
+ When true, this field is treated as an override of a value that can
1303
+ otherwise be inherited from the active theme (e.g. border radius,
1304
+ padding, border width). Advanced fields are automatically bucketed
1305
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1306
+ rendered collapsed by default so the default surface area stays
1307
+ minimal.
1308
+
1309
+ ###### Inherited from
1310
+
1311
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1312
+
1313
+ ##### defaultValue?
1314
+
1315
+ > `optional` **defaultValue?**: `unknown`
1316
+
1317
+ Optional default value
1318
+
1319
+ ###### Inherited from
1320
+
1321
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1322
+
1323
+ ##### description?
1324
+
1325
+ > `optional` **description?**: `string`
1326
+
1327
+ Optional description/help text
1328
+
1329
+ ###### Inherited from
1330
+
1331
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1332
+
1333
+ ##### group?
1334
+
1335
+ > `optional` **group?**: `string`
1336
+
1337
+ Optional group for organizing fields within a tab
1338
+
1339
+ ###### Inherited from
1340
+
1341
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1342
+
1343
+ ##### key
1344
+
1345
+ > **key**: `string`
1346
+
1347
+ Property key in the widget props
1348
+
1349
+ ###### Inherited from
1350
+
1351
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1352
+
1353
+ ##### label
1354
+
1355
+ > **label**: `string`
1356
+
1357
+ Display label for the field
1358
+
1359
+ ###### Inherited from
1360
+
1361
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1362
+
1363
+ ##### ~~requiresKeyToBeTrue?~~
1364
+
1365
+ > `optional` **requiresKeyToBeTrue?**: `string`
1366
+
1367
+ ###### Deprecated
1368
+
1369
+ Use requiresKeyValue instead
1370
+
1371
+ ###### Inherited from
1372
+
1373
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
1374
+
1375
+ ##### requiresKeyValue?
1376
+
1377
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1378
+
1379
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1380
+
1381
+ ###### Inherited from
1382
+
1383
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1384
+
1385
+ ##### tab?
1386
+
1387
+ > `optional` **tab?**: `string`
1388
+
1389
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1390
+
1391
+ ###### Inherited from
1392
+
1393
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1394
+
1395
+ ##### targetProps?
1396
+
1397
+ > `optional` **targetProps?**: readonly `object`[]
1398
+
1399
+ Widget props that this data-source editor can populate.
1400
+
1401
+ ##### type
1402
+
1403
+ > **type**: `"dataSource"`
1404
+
1405
+ Identifies this field as the data-source editor.
1406
+
1407
+ ###### Overrides
1408
+
1409
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1410
+
1411
+ ---
1412
+
1413
+ ### FontPickerFieldSchema
1414
+
1415
+ Font picker field schema for Google Fonts selection
1416
+
1417
+ #### Extends
1418
+
1419
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1420
+
1421
+ #### Properties
1422
+
1423
+ ##### advanced?
1424
+
1425
+ > `optional` **advanced?**: `boolean`
1426
+
1427
+ When true, this field is treated as an override of a value that can
1428
+ otherwise be inherited from the active theme (e.g. border radius,
1429
+ padding, border width). Advanced fields are automatically bucketed
1430
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1431
+ rendered collapsed by default so the default surface area stays
1432
+ minimal.
1433
+
1434
+ ###### Inherited from
1435
+
1436
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1437
+
1438
+ ##### defaultValue?
1439
+
1440
+ > `optional` **defaultValue?**: `unknown`
1441
+
1442
+ Optional default value
1443
+
1444
+ ###### Inherited from
1445
+
1446
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1447
+
1448
+ ##### description?
1449
+
1450
+ > `optional` **description?**: `string`
1451
+
1452
+ Optional description/help text
1453
+
1454
+ ###### Inherited from
1455
+
1456
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1457
+
1458
+ ##### group?
1459
+
1460
+ > `optional` **group?**: `string`
1461
+
1462
+ Optional group for organizing fields within a tab
1463
+
1464
+ ###### Inherited from
1465
+
1466
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1467
+
1468
+ ##### key
1469
+
1470
+ > **key**: `string`
1471
+
1472
+ Property key in the widget props
1473
+
1474
+ ###### Inherited from
1475
+
1476
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1477
+
1478
+ ##### label
1479
+
1480
+ > **label**: `string`
1481
+
1482
+ Display label for the field
1483
+
1484
+ ###### Inherited from
1485
+
1486
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1487
+
1488
+ ##### placeholder?
1489
+
1490
+ > `optional` **placeholder?**: `string`
1491
+
1492
+ ##### ~~requiresKeyToBeTrue?~~
1493
+
1494
+ > `optional` **requiresKeyToBeTrue?**: `string`
1495
+
1496
+ ###### Deprecated
1497
+
1498
+ Use requiresKeyValue instead
1499
+
1500
+ ###### Inherited from
1501
+
1502
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
1503
+
1504
+ ##### requiresKeyValue?
1505
+
1506
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1507
+
1508
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1509
+
1510
+ ###### Inherited from
1511
+
1512
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1513
+
1514
+ ##### tab?
1515
+
1516
+ > `optional` **tab?**: `string`
1517
+
1518
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1519
+
1520
+ ###### Inherited from
1521
+
1522
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1523
+
1524
+ ##### type
1525
+
1526
+ > **type**: `"fontPicker"`
1527
+
1528
+ Field type determines the input control
1529
+
1530
+ ###### Overrides
1531
+
1532
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1533
+
1534
+ ---
1535
+
1536
+ ### ImageFieldSchema
1537
+
1538
+ Image field schema for selecting a single asset (image or video) from the
1539
+ image picker. Despite the legacy "image" name, this field supports video
1540
+ picking via the `accept` parameter — `VideoWidget`, `ListWidget` Featured
1541
+ Asset, and `NestedWidget` Primary Media all use it for video-or-mixed
1542
+ content.
1543
+
1544
+ #### Extends
1545
+
1546
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1547
+
1548
+ #### Properties
1549
+
1550
+ ##### accept?
1551
+
1552
+ > `optional` **accept?**: `"image"` \| `"video"` \| `"any"`
1553
+
1554
+ Restricts which MIME categories the picker offers. Defaults to "image".
1555
+
1556
+ ##### advanced?
1557
+
1558
+ > `optional` **advanced?**: `boolean`
1559
+
1560
+ When true, this field is treated as an override of a value that can
1561
+ otherwise be inherited from the active theme (e.g. border radius,
1562
+ padding, border width). Advanced fields are automatically bucketed
1563
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1564
+ rendered collapsed by default so the default surface area stays
1565
+ minimal.
1566
+
1567
+ ###### Inherited from
1568
+
1569
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1570
+
1571
+ ##### defaultValue?
1572
+
1573
+ > `optional` **defaultValue?**: `unknown`
1574
+
1575
+ Optional default value
1576
+
1577
+ ###### Inherited from
1578
+
1579
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1580
+
1581
+ ##### description?
1582
+
1583
+ > `optional` **description?**: `string`
1584
+
1585
+ Optional description/help text
1586
+
1587
+ ###### Inherited from
1588
+
1589
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1590
+
1591
+ ##### group?
1592
+
1593
+ > `optional` **group?**: `string`
1594
+
1595
+ Optional group for organizing fields within a tab
1596
+
1597
+ ###### Inherited from
1598
+
1599
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1600
+
1601
+ ##### key
1602
+
1603
+ > **key**: `string`
1604
+
1605
+ Property key in the widget props
1606
+
1607
+ ###### Inherited from
1608
+
1609
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1610
+
1611
+ ##### label
1612
+
1613
+ > **label**: `string`
1614
+
1615
+ Display label for the field
1616
+
1617
+ ###### Inherited from
1618
+
1619
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1620
+
1621
+ ##### ~~requiresKeyToBeTrue?~~
1622
+
1623
+ > `optional` **requiresKeyToBeTrue?**: `string`
1624
+
1625
+ ###### Deprecated
1626
+
1627
+ Use requiresKeyValue instead
1628
+
1629
+ ###### Inherited from
1630
+
1631
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
1632
+
1633
+ ##### requiresKeyValue?
1634
+
1635
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1636
+
1637
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1638
+
1639
+ ###### Inherited from
1640
+
1641
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1642
+
1643
+ ##### tab?
1644
+
1645
+ > `optional` **tab?**: `string`
1646
+
1647
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1648
+
1649
+ ###### Inherited from
1650
+
1651
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1652
+
1653
+ ##### type
1654
+
1655
+ > **type**: `"image"`
1656
+
1657
+ Field type determines the input control
1658
+
1659
+ ###### Overrides
1660
+
1661
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1662
+
1663
+ ---
1664
+
1665
+ ### ItemConfigSchema
1666
+
1667
+ Schema for per-item configuration in custom data sources.
1668
+ Widgets can define this to allow users to configure widget-specific
1669
+ settings for each selected item (e.g., title, description, button).
1670
+
1671
+ #### Properties
1672
+
1673
+ ##### description?
1674
+
1675
+ > `optional` **description?**: `string`
1676
+
1677
+ Optional description shown at top of item config panel
1678
+
1679
+ ##### fields
1680
+
1681
+ > **fields**: [`PropertyField`](#propertyfield)[]
1682
+
1683
+ Fields available for per-item configuration
1684
+
1685
+ ---
1686
+
1687
+ ### NumberFieldSchema
1688
+
1689
+ Number field schema
1690
+
1691
+ #### Extends
1692
+
1693
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1694
+
1695
+ #### Properties
1696
+
1697
+ ##### advanced?
1698
+
1699
+ > `optional` **advanced?**: `boolean`
1700
+
1701
+ When true, this field is treated as an override of a value that can
1702
+ otherwise be inherited from the active theme (e.g. border radius,
1703
+ padding, border width). Advanced fields are automatically bucketed
1704
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1705
+ rendered collapsed by default so the default surface area stays
1706
+ minimal.
1707
+
1708
+ ###### Inherited from
1709
+
1710
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1711
+
1712
+ ##### defaultValue?
1713
+
1714
+ > `optional` **defaultValue?**: `unknown`
1715
+
1716
+ Optional default value
1717
+
1718
+ ###### Inherited from
1719
+
1720
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1721
+
1722
+ ##### description?
1723
+
1724
+ > `optional` **description?**: `string`
1725
+
1726
+ Optional description/help text
1727
+
1728
+ ###### Inherited from
1729
+
1730
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1731
+
1732
+ ##### group?
1733
+
1734
+ > `optional` **group?**: `string`
1735
+
1736
+ Optional group for organizing fields within a tab
1737
+
1738
+ ###### Inherited from
1739
+
1740
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1741
+
1742
+ ##### key
1743
+
1744
+ > **key**: `string`
1745
+
1746
+ Property key in the widget props
1747
+
1748
+ ###### Inherited from
1749
+
1750
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1751
+
1752
+ ##### label
1753
+
1754
+ > **label**: `string`
1755
+
1756
+ Display label for the field
1757
+
1758
+ ###### Inherited from
1759
+
1760
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1761
+
1762
+ ##### max?
1763
+
1764
+ > `optional` **max?**: `number`
1765
+
1766
+ ##### min?
1767
+
1768
+ > `optional` **min?**: `number`
1769
+
1770
+ ##### ~~requiresKeyToBeTrue?~~
1771
+
1772
+ > `optional` **requiresKeyToBeTrue?**: `string`
1773
+
1774
+ ###### Deprecated
1775
+
1776
+ Use requiresKeyValue instead
1777
+
1778
+ ###### Inherited from
1779
+
1780
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
1781
+
1782
+ ##### requiresKeyValue?
1783
+
1784
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1785
+
1786
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1787
+
1788
+ ###### Inherited from
1789
+
1790
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
1791
+
1792
+ ##### step?
1793
+
1794
+ > `optional` **step?**: `number`
1795
+
1796
+ ##### tab?
1797
+
1798
+ > `optional` **tab?**: `string`
1799
+
1800
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1801
+
1802
+ ###### Inherited from
1803
+
1804
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
1805
+
1806
+ ##### type
1807
+
1808
+ > **type**: `"number"`
1809
+
1810
+ Field type determines the input control
1811
+
1812
+ ###### Overrides
1813
+
1814
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
1815
+
1816
+ ---
1817
+
1818
+ ### PropertyFieldSchema
1819
+
1820
+ Base schema for a property field
1821
+
1822
+ #### Extended by
1823
+
1824
+ - [`TextFieldSchema`](#textfieldschema)
1825
+ - [`TextareaFieldSchema`](#textareafieldschema)
1826
+ - [`NumberFieldSchema`](#numberfieldschema)
1827
+ - [`BooleanFieldSchema`](#booleanfieldschema)
1828
+ - [`ColorFieldSchema`](#colorfieldschema)
1829
+ - [`RangeFieldSchema`](#rangefieldschema)
1830
+ - [`DataSourceFieldSchema`](#datasourcefieldschema)
1831
+ - [`ResourceFieldSchema`](#resourcefieldschema)
1832
+ - [`ImageFieldSchema`](#imagefieldschema)
1833
+ - [`AlignmentFieldSchema`](#alignmentfieldschema)
1834
+ - [`SliderFieldSchema`](#sliderfieldschema)
1835
+ - [`ColorPickerFieldSchema`](#colorpickerfieldschema)
1836
+ - [`SectionHeaderFieldSchema`](#sectionheaderfieldschema)
1837
+ - [`SeparatorFieldSchema`](#separatorfieldschema)
1838
+ - [`ColorSelectFieldSchema`](#colorselectfieldschema)
1839
+ - [`SectionLayoutSelectFieldSchema`](#sectionlayoutselectfieldschema)
1840
+ - [`ContentPositionFieldSchema`](#contentpositionfieldschema)
1841
+ - [`TextSizeSelectFieldSchema`](#textsizeselectfieldschema)
1842
+ - [`CssUnitFieldSchema`](#cssunitfieldschema)
1843
+ - [`FontPickerFieldSchema`](#fontpickerfieldschema)
1844
+ - [`StringArrayFieldSchema`](#stringarrayfieldschema)
1845
+ - [`BorderRadiusFieldSchema`](#borderradiusfieldschema)
1846
+ - [`ScreenPickerFieldSchema`](#screenpickerfieldschema)
1847
+
1848
+ #### Properties
1849
+
1850
+ ##### advanced?
1851
+
1852
+ > `optional` **advanced?**: `boolean`
1853
+
1854
+ When true, this field is treated as an override of a value that can
1855
+ otherwise be inherited from the active theme (e.g. border radius,
1856
+ padding, border width). Advanced fields are automatically bucketed
1857
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1858
+ rendered collapsed by default so the default surface area stays
1859
+ minimal.
1860
+
1861
+ ##### defaultValue?
1862
+
1863
+ > `optional` **defaultValue?**: `unknown`
1864
+
1865
+ Optional default value
1866
+
1867
+ ##### description?
1868
+
1869
+ > `optional` **description?**: `string`
1870
+
1871
+ Optional description/help text
1872
+
1873
+ ##### group?
1874
+
1875
+ > `optional` **group?**: `string`
1876
+
1877
+ Optional group for organizing fields within a tab
1878
+
1879
+ ##### key
1880
+
1881
+ > **key**: `string`
1882
+
1883
+ Property key in the widget props
1884
+
1885
+ ##### label
1886
+
1887
+ > **label**: `string`
1888
+
1889
+ Display label for the field
1890
+
1891
+ ##### ~~requiresKeyToBeTrue?~~
1892
+
1893
+ > `optional` **requiresKeyToBeTrue?**: `string`
1894
+
1895
+ ###### Deprecated
1896
+
1897
+ Use requiresKeyValue instead
1898
+
1899
+ ##### requiresKeyValue?
1900
+
1901
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
1902
+
1903
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
1904
+
1905
+ ##### tab?
1906
+
1907
+ > `optional` **tab?**: `string`
1908
+
1909
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
1910
+
1911
+ ##### type
1912
+
1913
+ > **type**: [`PropertyFieldType`](#propertyfieldtype)
1914
+
1915
+ Field type determines the input control
1916
+
1917
+ ---
1918
+
1919
+ ### RangeFieldSchema
1920
+
1921
+ Range slider field schema
1922
+
1923
+ #### Extends
1924
+
1925
+ - [`PropertyFieldSchema`](#propertyfieldschema)
1926
+
1927
+ #### Properties
1928
+
1929
+ ##### advanced?
1930
+
1931
+ > `optional` **advanced?**: `boolean`
1932
+
1933
+ When true, this field is treated as an override of a value that can
1934
+ otherwise be inherited from the active theme (e.g. border radius,
1935
+ padding, border width). Advanced fields are automatically bucketed
1936
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
1937
+ rendered collapsed by default so the default surface area stays
1938
+ minimal.
1939
+
1940
+ ###### Inherited from
1941
+
1942
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
1943
+
1944
+ ##### defaultValue?
1945
+
1946
+ > `optional` **defaultValue?**: `unknown`
1947
+
1948
+ Optional default value
1949
+
1950
+ ###### Inherited from
1951
+
1952
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
1953
+
1954
+ ##### description?
1955
+
1956
+ > `optional` **description?**: `string`
1957
+
1958
+ Optional description/help text
1959
+
1960
+ ###### Inherited from
1961
+
1962
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
1963
+
1964
+ ##### group?
1965
+
1966
+ > `optional` **group?**: `string`
1967
+
1968
+ Optional group for organizing fields within a tab
1969
+
1970
+ ###### Inherited from
1971
+
1972
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
1973
+
1974
+ ##### key
1975
+
1976
+ > **key**: `string`
1977
+
1978
+ Property key in the widget props
1979
+
1980
+ ###### Inherited from
1981
+
1982
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
1983
+
1984
+ ##### label
1985
+
1986
+ > **label**: `string`
1987
+
1988
+ Display label for the field
1989
+
1990
+ ###### Inherited from
1991
+
1992
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
1993
+
1994
+ ##### max
1995
+
1996
+ > **max**: `number`
1997
+
1998
+ ##### min
1999
+
2000
+ > **min**: `number`
2001
+
2002
+ ##### ~~requiresKeyToBeTrue?~~
2003
+
2004
+ > `optional` **requiresKeyToBeTrue?**: `string`
2005
+
2006
+ ###### Deprecated
2007
+
2008
+ Use requiresKeyValue instead
2009
+
2010
+ ###### Inherited from
2011
+
2012
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2013
+
2014
+ ##### requiresKeyValue?
2015
+
2016
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2017
+
2018
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2019
+
2020
+ ###### Inherited from
2021
+
2022
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2023
+
2024
+ ##### step?
2025
+
2026
+ > `optional` **step?**: `number`
2027
+
2028
+ ##### tab?
2029
+
2030
+ > `optional` **tab?**: `string`
2031
+
2032
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2033
+
2034
+ ###### Inherited from
2035
+
2036
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2037
+
2038
+ ##### type
2039
+
2040
+ > **type**: `"range"`
2041
+
2042
+ Field type determines the input control
2043
+
2044
+ ###### Overrides
2045
+
2046
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2047
+
2048
+ ---
2049
+
2050
+ ### ResourceFieldSchema
2051
+
2052
+ Resource field schema for selecting a single resource from the selection modal
2053
+
2054
+ #### Extends
2055
+
2056
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2057
+
2058
+ #### Properties
2059
+
2060
+ ##### advanced?
2061
+
2062
+ > `optional` **advanced?**: `boolean`
2063
+
2064
+ When true, this field is treated as an override of a value that can
2065
+ otherwise be inherited from the active theme (e.g. border radius,
2066
+ padding, border width). Advanced fields are automatically bucketed
2067
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2068
+ rendered collapsed by default so the default surface area stays
2069
+ minimal.
2070
+
2071
+ ###### Inherited from
2072
+
2073
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2074
+
2075
+ ##### allowedTypes?
2076
+
2077
+ > `optional` **allowedTypes?**: `string`[]
2078
+
2079
+ Optional filter to specific shareable types
2080
+
2081
+ ##### defaultValue?
2082
+
2083
+ > `optional` **defaultValue?**: `unknown`
2084
+
2085
+ Optional default value
2086
+
2087
+ ###### Inherited from
2088
+
2089
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2090
+
2091
+ ##### description?
2092
+
2093
+ > `optional` **description?**: `string`
2094
+
2095
+ Optional description/help text
2096
+
2097
+ ###### Inherited from
2098
+
2099
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2100
+
2101
+ ##### group?
2102
+
2103
+ > `optional` **group?**: `string`
2104
+
2105
+ Optional group for organizing fields within a tab
2106
+
2107
+ ###### Inherited from
2108
+
2109
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2110
+
2111
+ ##### key
2112
+
2113
+ > **key**: `string`
2114
+
2115
+ Property key in the widget props
2116
+
2117
+ ###### Inherited from
2118
+
2119
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2120
+
2121
+ ##### label
2122
+
2123
+ > **label**: `string`
2124
+
2125
+ Display label for the field
2126
+
2127
+ ###### Inherited from
2128
+
2129
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2130
+
2131
+ ##### ~~requiresKeyToBeTrue?~~
2132
+
2133
+ > `optional` **requiresKeyToBeTrue?**: `string`
2134
+
2135
+ ###### Deprecated
2136
+
2137
+ Use requiresKeyValue instead
2138
+
2139
+ ###### Inherited from
2140
+
2141
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2142
+
2143
+ ##### requiresKeyValue?
2144
+
2145
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2146
+
2147
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2148
+
2149
+ ###### Inherited from
2150
+
2151
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2152
+
2153
+ ##### tab?
2154
+
2155
+ > `optional` **tab?**: `string`
2156
+
2157
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2158
+
2159
+ ###### Inherited from
2160
+
2161
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2162
+
2163
+ ##### type
2164
+
2165
+ > **type**: `"resource"`
2166
+
2167
+ Field type determines the input control
2168
+
2169
+ ###### Overrides
2170
+
2171
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2172
+
2173
+ ---
2174
+
2175
+ ### ScreenPickerFieldSchema
2176
+
2177
+ Screen picker field schema for selecting a portal screen (navigation, system, or available)
2178
+
2179
+ #### Extends
2180
+
2181
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2182
+
2183
+ #### Properties
2184
+
2185
+ ##### advanced?
2186
+
2187
+ > `optional` **advanced?**: `boolean`
2188
+
2189
+ When true, this field is treated as an override of a value that can
2190
+ otherwise be inherited from the active theme (e.g. border radius,
2191
+ padding, border width). Advanced fields are automatically bucketed
2192
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2193
+ rendered collapsed by default so the default surface area stays
2194
+ minimal.
2195
+
2196
+ ###### Inherited from
2197
+
2198
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2199
+
2200
+ ##### defaultValue?
2201
+
2202
+ > `optional` **defaultValue?**: `unknown`
2203
+
2204
+ Optional default value
2205
+
2206
+ ###### Inherited from
2207
+
2208
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2209
+
2210
+ ##### description?
2211
+
2212
+ > `optional` **description?**: `string`
2213
+
2214
+ Optional description/help text
2215
+
2216
+ ###### Inherited from
2217
+
2218
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2219
+
2220
+ ##### group?
2221
+
2222
+ > `optional` **group?**: `string`
2223
+
2224
+ Optional group for organizing fields within a tab
2225
+
2226
+ ###### Inherited from
2227
+
2228
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2229
+
2230
+ ##### includeSystemItems?
2231
+
2232
+ > `optional` **includeSystemItems?**: `boolean`
2233
+
2234
+ Whether to include system navigation items in the picker
2235
+
2236
+ ##### key
2237
+
2238
+ > **key**: `string`
2239
+
2240
+ Property key in the widget props
2241
+
2242
+ ###### Inherited from
2243
+
2244
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2245
+
2246
+ ##### label
2247
+
2248
+ > **label**: `string`
2249
+
2250
+ Display label for the field
2251
+
2252
+ ###### Inherited from
2253
+
2254
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2255
+
2256
+ ##### ~~requiresKeyToBeTrue?~~
2257
+
2258
+ > `optional` **requiresKeyToBeTrue?**: `string`
2259
+
2260
+ ###### Deprecated
2261
+
2262
+ Use requiresKeyValue instead
2263
+
2264
+ ###### Inherited from
2265
+
2266
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2267
+
2268
+ ##### requiresKeyValue?
2269
+
2270
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2271
+
2272
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2273
+
2274
+ ###### Inherited from
2275
+
2276
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2277
+
2278
+ ##### tab?
2279
+
2280
+ > `optional` **tab?**: `string`
2281
+
2282
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2283
+
2284
+ ###### Inherited from
2285
+
2286
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2287
+
2288
+ ##### type
2289
+
2290
+ > **type**: `"screenPicker"`
2291
+
2292
+ Field type determines the input control
2293
+
2294
+ ###### Overrides
2295
+
2296
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2297
+
2298
+ ---
2299
+
2300
+ ### SectionHeaderFieldSchema
2301
+
2302
+ Section header field schema for visual grouping
2303
+
2304
+ #### Extends
2305
+
2306
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2307
+
2308
+ #### Properties
2309
+
2310
+ ##### advanced?
2311
+
2312
+ > `optional` **advanced?**: `boolean`
2313
+
2314
+ When true, this field is treated as an override of a value that can
2315
+ otherwise be inherited from the active theme (e.g. border radius,
2316
+ padding, border width). Advanced fields are automatically bucketed
2317
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2318
+ rendered collapsed by default so the default surface area stays
2319
+ minimal.
2320
+
2321
+ ###### Inherited from
2322
+
2323
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2324
+
2325
+ ##### defaultValue?
2326
+
2327
+ > `optional` **defaultValue?**: `unknown`
2328
+
2329
+ Optional default value
2330
+
2331
+ ###### Inherited from
2332
+
2333
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2334
+
2335
+ ##### description?
2336
+
2337
+ > `optional` **description?**: `string`
2338
+
2339
+ Optional description/help text
2340
+
2341
+ ###### Inherited from
2342
+
2343
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2344
+
2345
+ ##### group?
2346
+
2347
+ > `optional` **group?**: `string`
2348
+
2349
+ Optional group for organizing fields within a tab
2350
+
2351
+ ###### Inherited from
2352
+
2353
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2354
+
2355
+ ##### key
2356
+
2357
+ > **key**: `string`
2358
+
2359
+ Property key in the widget props
2360
+
2361
+ ###### Inherited from
2362
+
2363
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2364
+
2365
+ ##### label
2366
+
2367
+ > **label**: `string`
2368
+
2369
+ Display label for the field
2370
+
2371
+ ###### Inherited from
2372
+
2373
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2374
+
2375
+ ##### ~~requiresKeyToBeTrue?~~
2376
+
2377
+ > `optional` **requiresKeyToBeTrue?**: `string`
2378
+
2379
+ ###### Deprecated
2380
+
2381
+ Use requiresKeyValue instead
2382
+
2383
+ ###### Inherited from
2384
+
2385
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2386
+
2387
+ ##### requiresKeyValue?
2388
+
2389
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2390
+
2391
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2392
+
2393
+ ###### Inherited from
2394
+
2395
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2396
+
2397
+ ##### subtitle?
2398
+
2399
+ > `optional` **subtitle?**: `string`
2400
+
2401
+ ##### tab?
2402
+
2403
+ > `optional` **tab?**: `string`
2404
+
2405
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2406
+
2407
+ ###### Inherited from
2408
+
2409
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2410
+
2411
+ ##### type
2412
+
2413
+ > **type**: `"sectionHeader"`
2414
+
2415
+ Field type determines the input control
2416
+
2417
+ ###### Overrides
2418
+
2419
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2420
+
2421
+ ---
2422
+
2423
+ ### SectionLayoutSelectFieldSchema
2424
+
2425
+ Section layout select field schema for visual masonry layout selector
2426
+
2427
+ #### Extends
2428
+
2429
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2430
+
2431
+ #### Properties
2432
+
2433
+ ##### advanced?
2434
+
2435
+ > `optional` **advanced?**: `boolean`
2436
+
2437
+ When true, this field is treated as an override of a value that can
2438
+ otherwise be inherited from the active theme (e.g. border radius,
2439
+ padding, border width). Advanced fields are automatically bucketed
2440
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2441
+ rendered collapsed by default so the default surface area stays
2442
+ minimal.
2443
+
2444
+ ###### Inherited from
2445
+
2446
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2447
+
2448
+ ##### defaultValue?
2449
+
2450
+ > `optional` **defaultValue?**: `"single-column"` \| `"2c-equal"` \| `"2c-left-wider"` \| `"2c-right-wider"` \| `"2c-left-narrow"` \| `"2c-right-narrow"` \| `"3c-equal"` \| `"3c-middle-wider"`
2451
+
2452
+ Optional default value
2453
+
2454
+ ###### Overrides
2455
+
2456
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2457
+
2458
+ ##### description?
2459
+
2460
+ > `optional` **description?**: `string`
2461
+
2462
+ Optional description/help text
2463
+
2464
+ ###### Inherited from
2465
+
2466
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2467
+
2468
+ ##### group?
2469
+
2470
+ > `optional` **group?**: `string`
2471
+
2472
+ Optional group for organizing fields within a tab
2473
+
2474
+ ###### Inherited from
2475
+
2476
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2477
+
2478
+ ##### key
2479
+
2480
+ > **key**: `string`
2481
+
2482
+ Property key in the widget props
2483
+
2484
+ ###### Inherited from
2485
+
2486
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2487
+
2488
+ ##### label
2489
+
2490
+ > **label**: `string`
2491
+
2492
+ Display label for the field
2493
+
2494
+ ###### Inherited from
2495
+
2496
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2497
+
2498
+ ##### ~~requiresKeyToBeTrue?~~
2499
+
2500
+ > `optional` **requiresKeyToBeTrue?**: `string`
2501
+
2502
+ ###### Deprecated
2503
+
2504
+ Use requiresKeyValue instead
2505
+
2506
+ ###### Inherited from
2507
+
2508
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2509
+
2510
+ ##### requiresKeyValue?
2511
+
2512
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2513
+
2514
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2515
+
2516
+ ###### Inherited from
2517
+
2518
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2519
+
2520
+ ##### tab?
2521
+
2522
+ > `optional` **tab?**: `string`
2523
+
2524
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2525
+
2526
+ ###### Inherited from
2527
+
2528
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2529
+
2530
+ ##### type
2531
+
2532
+ > **type**: `"sectionLayoutSelect"`
2533
+
2534
+ Field type determines the input control
2535
+
2536
+ ###### Overrides
2537
+
2538
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2539
+
2540
+ ---
2541
+
2542
+ ### SelectFieldSchema
2543
+
2544
+ Select field schema with type-safe option values.
2545
+ Uses StrictOmit to ensure "defaultValue" key exists on PropertyFieldSchema.
2546
+
2547
+ #### Extends
2548
+
2549
+ - `StrictOmit`\<[`PropertyFieldSchema`](#propertyfieldschema), `"defaultValue"`\>
2550
+
2551
+ #### Type Parameters
2552
+
2553
+ ##### T
2554
+
2555
+ `T` _extends_ `string` \| `number` = `string` \| `number`
2556
+
2557
+ #### Properties
2558
+
2559
+ ##### advanced?
2560
+
2561
+ > `optional` **advanced?**: `boolean`
2562
+
2563
+ When true, this field is treated as an override of a value that can
2564
+ otherwise be inherited from the active theme (e.g. border radius,
2565
+ padding, border width). Advanced fields are automatically bucketed
2566
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2567
+ rendered collapsed by default so the default surface area stays
2568
+ minimal.
2569
+
2570
+ ###### Inherited from
2571
+
2572
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2573
+
2574
+ ##### defaultValue?
2575
+
2576
+ > `optional` **defaultValue?**: `T`
2577
+
2578
+ ##### description?
2579
+
2580
+ > `optional` **description?**: `string`
2581
+
2582
+ Optional description/help text
2583
+
2584
+ ###### Inherited from
2585
+
2586
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2587
+
2588
+ ##### group?
2589
+
2590
+ > `optional` **group?**: `string`
2591
+
2592
+ Optional group for organizing fields within a tab
2593
+
2594
+ ###### Inherited from
2595
+
2596
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2597
+
2598
+ ##### key
2599
+
2600
+ > **key**: `string`
2601
+
2602
+ Property key in the widget props
2603
+
2604
+ ###### Inherited from
2605
+
2606
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2607
+
2608
+ ##### label
2609
+
2610
+ > **label**: `string`
2611
+
2612
+ Display label for the field
2613
+
2614
+ ###### Inherited from
2615
+
2616
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2617
+
2618
+ ##### options
2619
+
2620
+ > **options**: `object`[]
2621
+
2622
+ ###### label
2623
+
2624
+ > **label**: `string`
2625
+
2626
+ ###### value
2627
+
2628
+ > **value**: `T`
2629
+
2630
+ ##### ~~requiresKeyToBeTrue?~~
2631
+
2632
+ > `optional` **requiresKeyToBeTrue?**: `string`
2633
+
2634
+ ###### Deprecated
2635
+
2636
+ Use requiresKeyValue instead
2637
+
2638
+ ###### Inherited from
2639
+
2640
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2641
+
2642
+ ##### requiresKeyValue?
2643
+
2644
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2645
+
2646
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2647
+
2648
+ ###### Inherited from
2649
+
2650
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2651
+
2652
+ ##### tab?
2653
+
2654
+ > `optional` **tab?**: `string`
2655
+
2656
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2657
+
2658
+ ###### Inherited from
2659
+
2660
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2661
+
2662
+ ##### type
2663
+
2664
+ > **type**: `"select"`
2665
+
2666
+ Field type determines the input control
2667
+
2668
+ ###### Overrides
2669
+
2670
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2671
+
2672
+ ---
2673
+
2674
+ ### SeparatorFieldSchema
2675
+
2676
+ Separator field schema for visual separation
2677
+
2678
+ #### Extends
2679
+
2680
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2681
+
2682
+ #### Properties
2683
+
2684
+ ##### advanced?
2685
+
2686
+ > `optional` **advanced?**: `boolean`
2687
+
2688
+ When true, this field is treated as an override of a value that can
2689
+ otherwise be inherited from the active theme (e.g. border radius,
2690
+ padding, border width). Advanced fields are automatically bucketed
2691
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2692
+ rendered collapsed by default so the default surface area stays
2693
+ minimal.
2694
+
2695
+ ###### Inherited from
2696
+
2697
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2698
+
2699
+ ##### defaultValue?
2700
+
2701
+ > `optional` **defaultValue?**: `unknown`
2702
+
2703
+ Optional default value
2704
+
2705
+ ###### Inherited from
2706
+
2707
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2708
+
2709
+ ##### description?
2710
+
2711
+ > `optional` **description?**: `string`
2712
+
2713
+ Optional description/help text
2714
+
2715
+ ###### Inherited from
2716
+
2717
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2718
+
2719
+ ##### group?
2720
+
2721
+ > `optional` **group?**: `string`
2722
+
2723
+ Optional group for organizing fields within a tab
2724
+
2725
+ ###### Inherited from
2726
+
2727
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2728
+
2729
+ ##### key
2730
+
2731
+ > **key**: `string`
2732
+
2733
+ Property key in the widget props
2734
+
2735
+ ###### Inherited from
2736
+
2737
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2738
+
2739
+ ##### label
2740
+
2741
+ > **label**: `string`
2742
+
2743
+ Display label for the field
2744
+
2745
+ ###### Inherited from
2746
+
2747
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2748
+
2749
+ ##### ~~requiresKeyToBeTrue?~~
2750
+
2751
+ > `optional` **requiresKeyToBeTrue?**: `string`
2752
+
2753
+ ###### Deprecated
2754
+
2755
+ Use requiresKeyValue instead
2756
+
2757
+ ###### Inherited from
2758
+
2759
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2760
+
2761
+ ##### requiresKeyValue?
2762
+
2763
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2764
+
2765
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2766
+
2767
+ ###### Inherited from
2768
+
2769
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2770
+
2771
+ ##### tab?
2772
+
2773
+ > `optional` **tab?**: `string`
2774
+
2775
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2776
+
2777
+ ###### Inherited from
2778
+
2779
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2780
+
2781
+ ##### type
2782
+
2783
+ > **type**: `"separator"`
2784
+
2785
+ Field type determines the input control
2786
+
2787
+ ###### Overrides
2788
+
2789
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2790
+
2791
+ ---
2792
+
2793
+ ### SliderFieldSchema
2794
+
2795
+ Slider field schema with optional unit suffix (e.g., "rem", "px")
2796
+
2797
+ #### Extends
2798
+
2799
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2800
+
2801
+ #### Properties
2802
+
2803
+ ##### advanced?
2804
+
2805
+ > `optional` **advanced?**: `boolean`
2806
+
2807
+ When true, this field is treated as an override of a value that can
2808
+ otherwise be inherited from the active theme (e.g. border radius,
2809
+ padding, border width). Advanced fields are automatically bucketed
2810
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2811
+ rendered collapsed by default so the default surface area stays
2812
+ minimal.
2813
+
2814
+ ###### Inherited from
2815
+
2816
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2817
+
2818
+ ##### defaultValue?
2819
+
2820
+ > `optional` **defaultValue?**: `unknown`
2821
+
2822
+ Optional default value
2823
+
2824
+ ###### Inherited from
2825
+
2826
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2827
+
2828
+ ##### description?
2829
+
2830
+ > `optional` **description?**: `string`
2831
+
2832
+ Optional description/help text
2833
+
2834
+ ###### Inherited from
2835
+
2836
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2837
+
2838
+ ##### group?
2839
+
2840
+ > `optional` **group?**: `string`
2841
+
2842
+ Optional group for organizing fields within a tab
2843
+
2844
+ ###### Inherited from
2845
+
2846
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2847
+
2848
+ ##### key
2849
+
2850
+ > **key**: `string`
2851
+
2852
+ Property key in the widget props
2853
+
2854
+ ###### Inherited from
2855
+
2856
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2857
+
2858
+ ##### label
2859
+
2860
+ > **label**: `string`
2861
+
2862
+ Display label for the field
2863
+
2864
+ ###### Inherited from
2865
+
2866
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
2867
+
2868
+ ##### max
2869
+
2870
+ > **max**: `number`
2871
+
2872
+ ##### min
2873
+
2874
+ > **min**: `number`
2875
+
2876
+ ##### ~~requiresKeyToBeTrue?~~
2877
+
2878
+ > `optional` **requiresKeyToBeTrue?**: `string`
2879
+
2880
+ ###### Deprecated
2881
+
2882
+ Use requiresKeyValue instead
2883
+
2884
+ ###### Inherited from
2885
+
2886
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
2887
+
2888
+ ##### requiresKeyValue?
2889
+
2890
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
2891
+
2892
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
2893
+
2894
+ ###### Inherited from
2895
+
2896
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
2897
+
2898
+ ##### step?
2899
+
2900
+ > `optional` **step?**: `number`
2901
+
2902
+ ##### tab?
2903
+
2904
+ > `optional` **tab?**: `string`
2905
+
2906
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
2907
+
2908
+ ###### Inherited from
2909
+
2910
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
2911
+
2912
+ ##### type
2913
+
2914
+ > **type**: `"slider"`
2915
+
2916
+ Field type determines the input control
2917
+
2918
+ ###### Overrides
2919
+
2920
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
2921
+
2922
+ ##### unit?
2923
+
2924
+ > `optional` **unit?**: `string`
2925
+
2926
+ ---
2927
+
2928
+ ### StringArrayFieldSchema
2929
+
2930
+ String array field schema for managing lists of text items
2931
+
2932
+ #### Extends
2933
+
2934
+ - [`PropertyFieldSchema`](#propertyfieldschema)
2935
+
2936
+ #### Properties
2937
+
2938
+ ##### advanced?
2939
+
2940
+ > `optional` **advanced?**: `boolean`
2941
+
2942
+ When true, this field is treated as an override of a value that can
2943
+ otherwise be inherited from the active theme (e.g. border radius,
2944
+ padding, border width). Advanced fields are automatically bucketed
2945
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
2946
+ rendered collapsed by default so the default surface area stays
2947
+ minimal.
2948
+
2949
+ ###### Inherited from
2950
+
2951
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
2952
+
2953
+ ##### defaultValue?
2954
+
2955
+ > `optional` **defaultValue?**: `string`[]
2956
+
2957
+ Optional default value
2958
+
2959
+ ###### Overrides
2960
+
2961
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
2962
+
2963
+ ##### description?
2964
+
2965
+ > `optional` **description?**: `string`
2966
+
2967
+ Optional description/help text
2968
+
2969
+ ###### Inherited from
2970
+
2971
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
2972
+
2973
+ ##### group?
2974
+
2975
+ > `optional` **group?**: `string`
2976
+
2977
+ Optional group for organizing fields within a tab
2978
+
2979
+ ###### Inherited from
2980
+
2981
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
2982
+
2983
+ ##### key
2984
+
2985
+ > **key**: `string`
2986
+
2987
+ Property key in the widget props
2988
+
2989
+ ###### Inherited from
2990
+
2991
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
2992
+
2993
+ ##### label
2994
+
2995
+ > **label**: `string`
2996
+
2997
+ Display label for the field
2998
+
2999
+ ###### Inherited from
3000
+
3001
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
3002
+
3003
+ ##### placeholder?
3004
+
3005
+ > `optional` **placeholder?**: `string`
3006
+
3007
+ ##### ~~requiresKeyToBeTrue?~~
3008
+
3009
+ > `optional` **requiresKeyToBeTrue?**: `string`
3010
+
3011
+ ###### Deprecated
3012
+
3013
+ Use requiresKeyValue instead
3014
+
3015
+ ###### Inherited from
3016
+
3017
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
3018
+
3019
+ ##### requiresKeyValue?
3020
+
3021
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
3022
+
3023
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
3024
+
3025
+ ###### Inherited from
3026
+
3027
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
3028
+
3029
+ ##### tab?
3030
+
3031
+ > `optional` **tab?**: `string`
3032
+
3033
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
3034
+
3035
+ ###### Inherited from
3036
+
3037
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
3038
+
3039
+ ##### type
3040
+
3041
+ > **type**: `"stringArray"`
3042
+
3043
+ Field type determines the input control
3044
+
3045
+ ###### Overrides
3046
+
3047
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
3048
+
3049
+ ---
3050
+
3051
+ ### TabConfig
3052
+
3053
+ Tab configuration for organizing properties
3054
+
3055
+ #### Properties
3056
+
3057
+ ##### id
3058
+
3059
+ > **id**: `string`
3060
+
3061
+ Unique identifier for the tab
3062
+
3063
+ ##### label
3064
+
3065
+ > **label**: `string`
3066
+
3067
+ Display label for the tab
3068
+
3069
+ ---
3070
+
3071
+ ### TextareaFieldSchema
3072
+
3073
+ Textarea field schema
3074
+
3075
+ #### Extends
3076
+
3077
+ - [`PropertyFieldSchema`](#propertyfieldschema)
3078
+
3079
+ #### Properties
3080
+
3081
+ ##### advanced?
3082
+
3083
+ > `optional` **advanced?**: `boolean`
3084
+
3085
+ When true, this field is treated as an override of a value that can
3086
+ otherwise be inherited from the active theme (e.g. border radius,
3087
+ padding, border width). Advanced fields are automatically bucketed
3088
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
3089
+ rendered collapsed by default so the default surface area stays
3090
+ minimal.
3091
+
3092
+ ###### Inherited from
3093
+
3094
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
3095
+
3096
+ ##### defaultValue?
3097
+
3098
+ > `optional` **defaultValue?**: `unknown`
3099
+
3100
+ Optional default value
3101
+
3102
+ ###### Inherited from
3103
+
3104
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
3105
+
3106
+ ##### description?
3107
+
3108
+ > `optional` **description?**: `string`
3109
+
3110
+ Optional description/help text
3111
+
3112
+ ###### Inherited from
3113
+
3114
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
3115
+
3116
+ ##### group?
3117
+
3118
+ > `optional` **group?**: `string`
3119
+
3120
+ Optional group for organizing fields within a tab
3121
+
3122
+ ###### Inherited from
3123
+
3124
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
3125
+
3126
+ ##### key
3127
+
3128
+ > **key**: `string`
3129
+
3130
+ Property key in the widget props
3131
+
3132
+ ###### Inherited from
3133
+
3134
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
3135
+
3136
+ ##### label
3137
+
3138
+ > **label**: `string`
3139
+
3140
+ Display label for the field
3141
+
3142
+ ###### Inherited from
3143
+
3144
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
3145
+
3146
+ ##### maxLength?
3147
+
3148
+ > `optional` **maxLength?**: `number`
3149
+
3150
+ ##### placeholder?
3151
+
3152
+ > `optional` **placeholder?**: `string`
3153
+
3154
+ ##### ~~requiresKeyToBeTrue?~~
3155
+
3156
+ > `optional` **requiresKeyToBeTrue?**: `string`
3157
+
3158
+ ###### Deprecated
3159
+
3160
+ Use requiresKeyValue instead
3161
+
3162
+ ###### Inherited from
3163
+
3164
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
3165
+
3166
+ ##### requiresKeyValue?
3167
+
3168
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
3169
+
3170
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
3171
+
3172
+ ###### Inherited from
3173
+
3174
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
3175
+
3176
+ ##### rows?
3177
+
3178
+ > `optional` **rows?**: `number`
3179
+
3180
+ ##### tab?
3181
+
3182
+ > `optional` **tab?**: `string`
3183
+
3184
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
3185
+
3186
+ ###### Inherited from
3187
+
3188
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
3189
+
3190
+ ##### type
3191
+
3192
+ > **type**: `"textarea"`
3193
+
3194
+ Field type determines the input control
3195
+
3196
+ ###### Overrides
3197
+
3198
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
3199
+
3200
+ ---
3201
+
3202
+ ### TextFieldSchema
3203
+
3204
+ Text field schema
3205
+
3206
+ #### Extends
3207
+
3208
+ - [`PropertyFieldSchema`](#propertyfieldschema)
3209
+
3210
+ #### Properties
3211
+
3212
+ ##### advanced?
3213
+
3214
+ > `optional` **advanced?**: `boolean`
3215
+
3216
+ When true, this field is treated as an override of a value that can
3217
+ otherwise be inherited from the active theme (e.g. border radius,
3218
+ padding, border width). Advanced fields are automatically bucketed
3219
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
3220
+ rendered collapsed by default so the default surface area stays
3221
+ minimal.
3222
+
3223
+ ###### Inherited from
3224
+
3225
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
3226
+
3227
+ ##### defaultValue?
3228
+
3229
+ > `optional` **defaultValue?**: `unknown`
3230
+
3231
+ Optional default value
3232
+
3233
+ ###### Inherited from
3234
+
3235
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
3236
+
3237
+ ##### description?
3238
+
3239
+ > `optional` **description?**: `string`
3240
+
3241
+ Optional description/help text
3242
+
3243
+ ###### Inherited from
3244
+
3245
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
3246
+
3247
+ ##### group?
3248
+
3249
+ > `optional` **group?**: `string`
3250
+
3251
+ Optional group for organizing fields within a tab
3252
+
3253
+ ###### Inherited from
3254
+
3255
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
3256
+
3257
+ ##### key
3258
+
3259
+ > **key**: `string`
3260
+
3261
+ Property key in the widget props
3262
+
3263
+ ###### Inherited from
3264
+
3265
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
3266
+
3267
+ ##### label
3268
+
3269
+ > **label**: `string`
3270
+
3271
+ Display label for the field
3272
+
3273
+ ###### Inherited from
3274
+
3275
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
3276
+
3277
+ ##### maxLength?
3278
+
3279
+ > `optional` **maxLength?**: `number`
3280
+
3281
+ ##### placeholder?
3282
+
3283
+ > `optional` **placeholder?**: `string`
3284
+
3285
+ ##### ~~requiresKeyToBeTrue?~~
3286
+
3287
+ > `optional` **requiresKeyToBeTrue?**: `string`
3288
+
3289
+ ###### Deprecated
3290
+
3291
+ Use requiresKeyValue instead
3292
+
3293
+ ###### Inherited from
3294
+
3295
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
3296
+
3297
+ ##### requiresKeyValue?
3298
+
3299
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
3300
+
3301
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
3302
+
3303
+ ###### Inherited from
3304
+
3305
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
3306
+
3307
+ ##### tab?
3308
+
3309
+ > `optional` **tab?**: `string`
3310
+
3311
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
3312
+
3313
+ ###### Inherited from
3314
+
3315
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
3316
+
3317
+ ##### tokenSuggestions?
3318
+
3319
+ > `optional` **tokenSuggestions?**: readonly `object`[]
3320
+
3321
+ Optional quick-insert chips rendered below the input. Clicking a chip
3322
+ inserts `{{value}}` at the caret. Used for URL template tokens
3323
+ (e.g. `{{username}}`, `{{replicated_url || /signup}}`) so admins
3324
+ don't have to remember the exact spelling.
3325
+
3326
+ ##### type
3327
+
3328
+ > **type**: `"text"`
3329
+
3330
+ Field type determines the input control
3331
+
3332
+ ###### Overrides
3333
+
3334
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
3335
+
3336
+ ---
3337
+
3338
+ ### TextSizeSelectFieldSchema
3339
+
3340
+ Text size select field schema for visual font size selector
3341
+
3342
+ #### Extends
3343
+
3344
+ - [`PropertyFieldSchema`](#propertyfieldschema)
3345
+
3346
+ #### Properties
3347
+
3348
+ ##### advanced?
3349
+
3350
+ > `optional` **advanced?**: `boolean`
3351
+
3352
+ When true, this field is treated as an override of a value that can
3353
+ otherwise be inherited from the active theme (e.g. border radius,
3354
+ padding, border width). Advanced fields are automatically bucketed
3355
+ into the `CUSTOM_STYLING_GROUP` at the bottom of their tab and
3356
+ rendered collapsed by default so the default surface area stays
3357
+ minimal.
3358
+
3359
+ ###### Inherited from
3360
+
3361
+ [`PropertyFieldSchema`](#propertyfieldschema).[`advanced`](#advanced-14)
3362
+
3363
+ ##### defaultValue?
3364
+
3365
+ > `optional` **defaultValue?**: `FontSizeOptions`
3366
+
3367
+ Optional default value
3368
+
3369
+ ###### Overrides
3370
+
3371
+ [`PropertyFieldSchema`](#propertyfieldschema).[`defaultValue`](#defaultvalue-14)
3372
+
3373
+ ##### description?
3374
+
3375
+ > `optional` **description?**: `string`
3376
+
3377
+ Optional description/help text
3378
+
3379
+ ###### Inherited from
3380
+
3381
+ [`PropertyFieldSchema`](#propertyfieldschema).[`description`](#description-15)
3382
+
3383
+ ##### group?
3384
+
3385
+ > `optional` **group?**: `string`
3386
+
3387
+ Optional group for organizing fields within a tab
3388
+
3389
+ ###### Inherited from
3390
+
3391
+ [`PropertyFieldSchema`](#propertyfieldschema).[`group`](#group-14)
3392
+
3393
+ ##### key
3394
+
3395
+ > **key**: `string`
3396
+
3397
+ Property key in the widget props
3398
+
3399
+ ###### Inherited from
3400
+
3401
+ [`PropertyFieldSchema`](#propertyfieldschema).[`key`](#key-14)
3402
+
3403
+ ##### label
3404
+
3405
+ > **label**: `string`
3406
+
3407
+ Display label for the field
3408
+
3409
+ ###### Inherited from
3410
+
3411
+ [`PropertyFieldSchema`](#propertyfieldschema).[`label`](#label-14)
3412
+
3413
+ ##### ~~requiresKeyToBeTrue?~~
3414
+
3415
+ > `optional` **requiresKeyToBeTrue?**: `string`
3416
+
3417
+ ###### Deprecated
3418
+
3419
+ Use requiresKeyValue instead
3420
+
3421
+ ###### Inherited from
3422
+
3423
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyToBeTrue`](#requireskeytobetrue-14)
3424
+
3425
+ ##### requiresKeyValue?
3426
+
3427
+ > `optional` **requiresKeyValue?**: \{ `key`: `string`; `value`: `unknown`; \} \| `object`[]
3428
+
3429
+ Optional requires a specific key to have a specific value. Supports single condition or array (AND logic).
3430
+
3431
+ ###### Inherited from
3432
+
3433
+ [`PropertyFieldSchema`](#propertyfieldschema).[`requiresKeyValue`](#requireskeyvalue-14)
3434
+
3435
+ ##### tab?
3436
+
3437
+ > `optional` **tab?**: `string`
3438
+
3439
+ Optional tab ID (must match a TabConfig id if widget has tabsConfig)
3440
+
3441
+ ###### Inherited from
3442
+
3443
+ [`PropertyFieldSchema`](#propertyfieldschema).[`tab`](#tab-14)
3444
+
3445
+ ##### type
3446
+
3447
+ > **type**: `"textSizeSelect"`
3448
+
3449
+ Field type determines the input control
3450
+
3451
+ ###### Overrides
3452
+
3453
+ [`PropertyFieldSchema`](#propertyfieldschema).[`type`](#type-14)
3454
+
3455
+ ---
3456
+
3457
+ ### WidgetPropertySchema
3458
+
3459
+ Schema for a widget's editable properties
3460
+
3461
+ #### Properties
3462
+
3463
+ ##### dataSourceTargetProps?
3464
+
3465
+ > `optional` **dataSourceTargetProps?**: `string`[]
3466
+
3467
+ Props that can be populated from data sources
3468
+
3469
+ ##### displayName
3470
+
3471
+ > **displayName**: `string`
3472
+
3473
+ Display name for the widget
3474
+
3475
+ ##### fields
3476
+
3477
+ > **fields**: [`PropertyField`](#propertyfield)[]
3478
+
3479
+ Editable property fields
3480
+
3481
+ ##### itemConfigSchema?
3482
+
3483
+ > `optional` **itemConfigSchema?**: [`ItemConfigSchema`](#itemconfigschema)
3484
+
3485
+ Optional schema for per-item configurations in custom data sources
3486
+
3487
+ ##### tabsConfig?
3488
+
3489
+ > `optional` **tabsConfig?**: [`TabConfig`](#tabconfig)[]
3490
+
3491
+ Optional tab configuration - if present, tabs are enabled
3492
+
3493
+ ##### validate?
3494
+
3495
+ > `optional` **validate?**: (`props`) => `string` \| `null`
3496
+
3497
+ Optional custom validator function
3498
+
3499
+ ###### Parameters
3500
+
3501
+ ###### props
3502
+
3503
+ `Record`\<`string`, `unknown`\>
3504
+
3505
+ ###### Returns
3506
+
3507
+ `string` \| `null`
3508
+
3509
+ ##### widgetType
3510
+
3511
+ > **widgetType**: `string`
3512
+
3513
+ Widget type this schema applies to
3514
+
3515
+ ## Type Aliases
3516
+
3517
+ ### CssUnit
3518
+
3519
+ > **CssUnit** = `"px"` \| `"rem"` \| `"vh"` \| `"%"`
3520
+
3521
+ CSS unit type for height/width fields
3522
+
3523
+ ---
3524
+
3525
+ ### PropertyField
3526
+
3527
+ > **PropertyField** = [`TextFieldSchema`](#textfieldschema) \| [`TextareaFieldSchema`](#textareafieldschema) \| [`NumberFieldSchema`](#numberfieldschema) \| [`BooleanFieldSchema`](#booleanfieldschema) \| [`SelectFieldSchema`](#selectfieldschema)\<`string` \| `number`\> \| [`ColorFieldSchema`](#colorfieldschema) \| [`RangeFieldSchema`](#rangefieldschema) \| [`DataSourceFieldSchema`](#datasourcefieldschema) \| [`ResourceFieldSchema`](#resourcefieldschema) \| [`ImageFieldSchema`](#imagefieldschema) \| [`AlignmentFieldSchema`](#alignmentfieldschema) \| [`SliderFieldSchema`](#sliderfieldschema) \| [`ColorPickerFieldSchema`](#colorpickerfieldschema) \| [`SectionHeaderFieldSchema`](#sectionheaderfieldschema) \| [`SeparatorFieldSchema`](#separatorfieldschema) \| [`ButtonGroupFieldSchema`](#buttongroupfieldschema)\<`string` \| `number`\> \| [`ColorSelectFieldSchema`](#colorselectfieldschema) \| [`SectionLayoutSelectFieldSchema`](#sectionlayoutselectfieldschema) \| [`BackgroundFieldSchema`](#backgroundfieldschema) \| [`ContentPositionFieldSchema`](#contentpositionfieldschema) \| [`TextSizeSelectFieldSchema`](#textsizeselectfieldschema) \| [`CssUnitFieldSchema`](#cssunitfieldschema) \| [`FontPickerFieldSchema`](#fontpickerfieldschema) \| [`StringArrayFieldSchema`](#stringarrayfieldschema) \| [`BorderRadiusFieldSchema`](#borderradiusfieldschema) \| [`ScreenPickerFieldSchema`](#screenpickerfieldschema)
3528
+
3529
+ Union of all field schema types
3530
+
3531
+ ---
3532
+
3533
+ ### PropertyFieldType
3534
+
3535
+ > **PropertyFieldType** = _typeof_ [`PROPERTY_FIELD_TYPES`](#property_field_types)\[keyof _typeof_ [`PROPERTY_FIELD_TYPES`](#property_field_types)\]
3536
+
3537
+ Union type of all property field types, derived from PROPERTY_FIELD_TYPES constant.
3538
+
3539
+ #### See
3540
+
3541
+ deriving-typeof-for-object-keys pattern
3542
+
3543
+ ---
3544
+
3545
+ ### PropertySchemaRegistry
3546
+
3547
+ > **PropertySchemaRegistry** = `Record`\<`WidgetType`, [`WidgetPropertySchema`](#widgetpropertyschema)\>
3548
+
3549
+ Registry mapping widget types to their property schemas
3550
+
3551
+ ## Variables
3552
+
3553
+ ### CUSTOM_STYLING_GROUP
3554
+
3555
+ > `const` **CUSTOM_STYLING_GROUP**: `"Custom styling"` = `"Custom styling"`
3556
+
3557
+ Group label for fields that override theme-derived styling.
3558
+ Rendered last within a tab and collapsed by default so the primary
3559
+ configuration surface stays clean.
3560
+
3561
+ ---
3562
+
3563
+ ### PROPERTY_FIELD_TYPES
3564
+
3565
+ > `const` **PROPERTY_FIELD_TYPES**: `object`
3566
+
3567
+ Property field type constant - single source of truth for field types.
3568
+ Use PROPERTY_FIELD_TYPES.text instead of "text" for type-safe comparisons.
3569
+
3570
+ #### Type Declaration
3571
+
3572
+ ##### alignment
3573
+
3574
+ > `readonly` **alignment**: `"alignment"` = `"alignment"`
3575
+
3576
+ ##### background
3577
+
3578
+ > `readonly` **background**: `"background"` = `"background"`
3579
+
3580
+ ##### boolean
3581
+
3582
+ > `readonly` **boolean**: `"boolean"` = `"boolean"`
3583
+
3584
+ ##### borderRadius
3585
+
3586
+ > `readonly` **borderRadius**: `"borderRadius"` = `"borderRadius"`
3587
+
3588
+ ##### buttonGroup
3589
+
3590
+ > `readonly` **buttonGroup**: `"buttonGroup"` = `"buttonGroup"`
3591
+
3592
+ ##### ~~color~~
3593
+
3594
+ > `readonly` **color**: `"color"` = `"color"`
3595
+
3596
+ ###### Deprecated
3597
+
3598
+ Use `colorSelect` for semantic portal-theme colors.
3599
+
3600
+ ##### colorPicker
3601
+
3602
+ > `readonly` **colorPicker**: `"colorPicker"` = `"colorPicker"`
3603
+
3604
+ ##### colorSelect
3605
+
3606
+ > `readonly` **colorSelect**: `"colorSelect"` = `"colorSelect"`
3607
+
3608
+ ##### contentPosition
3609
+
3610
+ > `readonly` **contentPosition**: `"contentPosition"` = `"contentPosition"`
3611
+
3612
+ ##### cssUnit
3613
+
3614
+ > `readonly` **cssUnit**: `"cssUnit"` = `"cssUnit"`
3615
+
3616
+ ##### dataSource
3617
+
3618
+ > `readonly` **dataSource**: `"dataSource"` = `"dataSource"`
3619
+
3620
+ ##### fontPicker
3621
+
3622
+ > `readonly` **fontPicker**: `"fontPicker"` = `"fontPicker"`
3623
+
3624
+ ##### image
3625
+
3626
+ > `readonly` **image**: `"image"` = `"image"`
3627
+
3628
+ ##### number
3629
+
3630
+ > `readonly` **number**: `"number"` = `"number"`
3631
+
3632
+ ##### range
3633
+
3634
+ > `readonly` **range**: `"range"` = `"range"`
3635
+
3636
+ ##### resource
3637
+
3638
+ > `readonly` **resource**: `"resource"` = `"resource"`
3639
+
3640
+ ##### screenPicker
3641
+
3642
+ > `readonly` **screenPicker**: `"screenPicker"` = `"screenPicker"`
3643
+
3644
+ ##### sectionHeader
3645
+
3646
+ > `readonly` **sectionHeader**: `"sectionHeader"` = `"sectionHeader"`
3647
+
3648
+ ##### sectionLayoutSelect
3649
+
3650
+ > `readonly` **sectionLayoutSelect**: `"sectionLayoutSelect"` = `"sectionLayoutSelect"`
3651
+
3652
+ ##### select
3653
+
3654
+ > `readonly` **select**: `"select"` = `"select"`
3655
+
3656
+ ##### separator
3657
+
3658
+ > `readonly` **separator**: `"separator"` = `"separator"`
3659
+
3660
+ ##### slider
3661
+
3662
+ > `readonly` **slider**: `"slider"` = `"slider"`
3663
+
3664
+ ##### stringArray
3665
+
3666
+ > `readonly` **stringArray**: `"stringArray"` = `"stringArray"`
3667
+
3668
+ ##### text
3669
+
3670
+ > `readonly` **text**: `"text"` = `"text"`
3671
+
3672
+ ##### textarea
3673
+
3674
+ > `readonly` **textarea**: `"textarea"` = `"textarea"`
3675
+
3676
+ ##### textSizeSelect
3677
+
3678
+ > `readonly` **textSizeSelect**: `"textSizeSelect"` = `"textSizeSelect"`
3679
+
3680
+ ## Functions
3681
+
3682
+ ### applyPropertyValues()
3683
+
3684
+ > **applyPropertyValues**(`widget`, `values`): `WidgetSchema`
3685
+
3686
+ Apply property values to widget props
3687
+
3688
+ #### Parameters
3689
+
3690
+ ##### widget
3691
+
3692
+ `Readonly`\<`WidgetSchema`\>
3693
+
3694
+ ##### values
3695
+
3696
+ `Readonly`\<`Record`\<`string`, `unknown`\>\>
3697
+
3698
+ #### Returns
3699
+
3700
+ `WidgetSchema`
3701
+
3702
+ ---
3703
+
3704
+ ### extractPropertyValues()
3705
+
3706
+ > **extractPropertyValues**(`widget`, `fields`): `Record`\<`string`, `unknown`\>
3707
+
3708
+ Extract current values from widget props based on property fields
3709
+
3710
+ #### Parameters
3711
+
3712
+ ##### widget
3713
+
3714
+ `Readonly`\<`WidgetSchema`\>
3715
+
3716
+ ##### fields
3717
+
3718
+ readonly [`PropertyField`](#propertyfield)[]
3719
+
3720
+ #### Returns
3721
+
3722
+ `Record`\<`string`, `unknown`\>
3723
+
3724
+ ---
3725
+
3726
+ ### groupPropertyFields()
3727
+
3728
+ > **groupPropertyFields**(`fields`): `Record`\<`string`, [`PropertyField`](#propertyfield)[]\>
3729
+
3730
+ Group property fields by their group property.
3731
+
3732
+ Fields flagged with `advanced: true` are collected into the
3733
+ `CUSTOM_STYLING_GROUP` bucket regardless of their declared `group`,
3734
+ and that bucket is always placed last so it renders at the bottom of
3735
+ the tab. Non-advanced fields keep their author-declared group and
3736
+ their relative insertion order, including fields that explicitly use
3737
+ `CUSTOM_STYLING_GROUP`.
3738
+
3739
+ #### Parameters
3740
+
3741
+ ##### fields
3742
+
3743
+ readonly [`PropertyField`](#propertyfield)[]
3744
+
3745
+ #### Returns
3746
+
3747
+ `Record`\<`string`, [`PropertyField`](#propertyfield)[]\>
3748
+
3749
+ ---
3750
+
3751
+ ### isPropertyFieldType()
3752
+
3753
+ > **isPropertyFieldType**(`value`): `value is PropertyFieldType`
3754
+
3755
+ Runtime validation for property field types.
3756
+
3757
+ #### Parameters
3758
+
3759
+ ##### value
3760
+
3761
+ `string`
3762
+
3763
+ The value to check
3764
+
3765
+ #### Returns
3766
+
3767
+ `value is PropertyFieldType`
3768
+
3769
+ true if value is a valid PropertyFieldType