@wordpress/components 36.0.1 → 37.0.0

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 (1026) hide show
  1. package/CHANGELOG.md +80 -3
  2. package/CONTRIBUTING.md +6 -4
  3. package/build/angle-picker-control/index.cjs +0 -1
  4. package/build/angle-picker-control/index.cjs.map +2 -2
  5. package/build/autocomplete/index.cjs +3 -3
  6. package/build/autocomplete/index.cjs.map +3 -3
  7. package/build/border-box-control/border-box-control/component.cjs +4 -9
  8. package/build/border-box-control/border-box-control/component.cjs.map +2 -2
  9. package/build/border-box-control/border-box-control/hook.cjs +3 -10
  10. package/build/border-box-control/border-box-control/hook.cjs.map +2 -2
  11. package/build/border-box-control/border-box-control-linked-button/hook.cjs +2 -3
  12. package/build/border-box-control/border-box-control-linked-button/hook.cjs.map +2 -2
  13. package/build/border-box-control/border-box-control-split-controls/component.cjs +2 -6
  14. package/build/border-box-control/border-box-control-split-controls/component.cjs.map +2 -2
  15. package/build/border-box-control/border-box-control-split-controls/hook.cjs +2 -4
  16. package/build/border-box-control/border-box-control-split-controls/hook.cjs.map +2 -2
  17. package/build/border-box-control/border-box-control-visualizer/hook.cjs +2 -3
  18. package/build/border-box-control/border-box-control-visualizer/hook.cjs.map +2 -2
  19. package/build/border-box-control/styles.cjs +21 -18
  20. package/build/border-box-control/styles.cjs.map +2 -2
  21. package/build/border-control/border-control/component.cjs +3 -11
  22. package/build/border-control/border-control/component.cjs.map +2 -2
  23. package/build/border-control/border-control/hook.cjs +11 -21
  24. package/build/border-control/border-control/hook.cjs.map +3 -3
  25. package/build/border-control/border-control-dropdown/component.cjs +1 -2
  26. package/build/border-control/border-control-dropdown/component.cjs.map +2 -2
  27. package/build/border-control/border-control-dropdown/hook.cjs +2 -4
  28. package/build/border-control/border-control-dropdown/hook.cjs.map +2 -2
  29. package/build/border-control/border-control-style-picker/component.cjs +0 -1
  30. package/build/border-control/border-control-style-picker/component.cjs.map +2 -2
  31. package/build/border-control/styles.cjs +27 -15
  32. package/build/border-control/styles.cjs.map +2 -2
  33. package/build/box-control/box-input-control.cjs +0 -5
  34. package/build/box-control/box-input-control.cjs.map +2 -2
  35. package/build/card/card/hook.cjs +4 -1
  36. package/build/card/card/hook.cjs.map +2 -2
  37. package/build/card/card-footer/hook.cjs +12 -12
  38. package/build/card/card-footer/hook.cjs.map +2 -2
  39. package/build/card/card-header/hook.cjs +12 -12
  40. package/build/card/card-header/hook.cjs.map +2 -2
  41. package/build/card/styles.cjs +43 -13
  42. package/build/card/styles.cjs.map +2 -2
  43. package/build/color-palette/styles.cjs +1 -1
  44. package/build/color-palette/styles.cjs.map +2 -2
  45. package/build/color-picker/component.cjs.map +2 -2
  46. package/build/color-picker/hex-input.cjs +0 -1
  47. package/build/color-picker/hex-input.cjs.map +2 -2
  48. package/build/color-picker/input-with-slider.cjs +0 -2
  49. package/build/color-picker/input-with-slider.cjs.map +2 -2
  50. package/build/combobox-control/index.cjs +1 -10
  51. package/build/combobox-control/index.cjs.map +2 -2
  52. package/build/combobox-control/styles.cjs +1 -5
  53. package/build/combobox-control/styles.cjs.map +2 -2
  54. package/build/content-editable-control/docs-manifest.json +5 -0
  55. package/build/content-editable-control/index.cjs +171 -0
  56. package/build/content-editable-control/index.cjs.map +7 -0
  57. package/build/content-editable-control/types.cjs +19 -0
  58. package/build/content-editable-control/types.cjs.map +7 -0
  59. package/build/custom-gradient-picker/index.cjs +0 -1
  60. package/build/custom-gradient-picker/index.cjs.map +2 -2
  61. package/build/custom-select-control/index.cjs +4 -19
  62. package/build/custom-select-control/index.cjs.map +2 -2
  63. package/build/custom-select-control-v2/custom-select.cjs +0 -1
  64. package/build/custom-select-control-v2/custom-select.cjs.map +2 -2
  65. package/build/date-time/date-picker/styles.cjs +8 -8
  66. package/build/date-time/date-picker/styles.cjs.map +2 -2
  67. package/build/date-time/time-picker/index.cjs +0 -3
  68. package/build/date-time/time-picker/index.cjs.map +2 -2
  69. package/build/date-time/time-picker/time-input/index.cjs +0 -3
  70. package/build/date-time/time-picker/time-input/index.cjs.map +2 -2
  71. package/build/divider/component.cjs +1 -1
  72. package/build/divider/component.cjs.map +2 -2
  73. package/build/elevation/hook.cjs +6 -5
  74. package/build/elevation/hook.cjs.map +2 -2
  75. package/build/external-link/index.cjs +0 -3
  76. package/build/external-link/index.cjs.map +2 -2
  77. package/build/flex/flex/hook.cjs +97 -18
  78. package/build/flex/flex/hook.cjs.map +4 -4
  79. package/build/flex/flex-item/hook.cjs +94 -10
  80. package/build/flex/flex-item/hook.cjs.map +4 -4
  81. package/build/focal-point-picker/controls.cjs +0 -1
  82. package/build/focal-point-picker/controls.cjs.map +2 -2
  83. package/build/focal-point-picker/index.cjs +1 -0
  84. package/build/focal-point-picker/index.cjs.map +2 -2
  85. package/build/font-size-picker/font-size-picker-select.cjs +1 -6
  86. package/build/font-size-picker/font-size-picker-select.cjs.map +2 -2
  87. package/build/font-size-picker/font-size-picker-toggle-group.cjs +0 -5
  88. package/build/font-size-picker/font-size-picker-toggle-group.cjs.map +2 -2
  89. package/build/font-size-picker/index.cjs +1 -18
  90. package/build/font-size-picker/index.cjs.map +2 -2
  91. package/build/form-file-upload/index.cjs +7 -18
  92. package/build/form-file-upload/index.cjs.map +2 -2
  93. package/build/form-token-field/index.cjs +1 -11
  94. package/build/form-token-field/index.cjs.map +2 -2
  95. package/build/form-token-field/styles.cjs +1 -7
  96. package/build/form-token-field/styles.cjs.map +2 -2
  97. package/build/heading/hook.cjs +1 -1
  98. package/build/heading/hook.cjs.map +1 -1
  99. package/build/input-control/index.cjs +5 -14
  100. package/build/input-control/index.cjs.map +2 -2
  101. package/build/input-control/input-base.cjs +2 -6
  102. package/build/input-control/input-base.cjs.map +2 -2
  103. package/build/input-control/styles/input-control-styles.cjs +24 -30
  104. package/build/input-control/styles/input-control-styles.cjs.map +2 -2
  105. package/build/menu/group-label.cjs +2 -1
  106. package/build/menu/group-label.cjs.map +2 -2
  107. package/build/number-control/index.cjs +1 -11
  108. package/build/number-control/index.cjs.map +2 -2
  109. package/build/palette-edit/styles.cjs +9 -9
  110. package/build/palette-edit/styles.cjs.map +2 -2
  111. package/build/private-apis.cjs +3 -0
  112. package/build/private-apis.cjs.map +3 -3
  113. package/build/query-controls/author-select.cjs +1 -3
  114. package/build/query-controls/author-select.cjs.map +2 -2
  115. package/build/query-controls/category-select.cjs +1 -3
  116. package/build/query-controls/category-select.cjs.map +2 -2
  117. package/build/query-controls/index.cjs +0 -5
  118. package/build/query-controls/index.cjs.map +2 -2
  119. package/build/radio-group/radio.cjs +6 -14
  120. package/build/radio-group/radio.cjs.map +2 -2
  121. package/build/range-control/index.cjs +5 -15
  122. package/build/range-control/index.cjs.map +2 -2
  123. package/build/range-control/styles/range-control-styles.cjs +32 -30
  124. package/build/range-control/styles/range-control-styles.cjs.map +2 -2
  125. package/build/resizable-box/index.cjs.map +2 -2
  126. package/build/sandbox/index.cjs +73 -69
  127. package/build/sandbox/index.cjs.map +2 -2
  128. package/build/search-control/index.cjs +2 -2
  129. package/build/search-control/index.cjs.map +2 -2
  130. package/build/select-control/index.cjs +6 -15
  131. package/build/select-control/index.cjs.map +2 -2
  132. package/build/select-control/styles/select-control-styles.cjs +8 -16
  133. package/build/select-control/styles/select-control-styles.cjs.map +2 -2
  134. package/build/slot-fill/index.cjs.map +2 -2
  135. package/build/spacer/hook.cjs +150 -13
  136. package/build/spacer/hook.cjs.map +4 -4
  137. package/build/surface/hook.cjs +103 -16
  138. package/build/surface/hook.cjs.map +4 -4
  139. package/build/text/hook.cjs +11 -11
  140. package/build/text/hook.cjs.map +2 -2
  141. package/build/theme/index.cjs +119 -7
  142. package/build/theme/index.cjs.map +4 -4
  143. package/build/toggle-group-control/toggle-group-control/as-button-group.cjs +1 -3
  144. package/build/toggle-group-control/toggle-group-control/as-button-group.cjs.map +2 -2
  145. package/build/toggle-group-control/toggle-group-control/as-radio-group.cjs +1 -3
  146. package/build/toggle-group-control/toggle-group-control/as-radio-group.cjs.map +2 -2
  147. package/build/toggle-group-control/toggle-group-control/component.cjs +6 -16
  148. package/build/toggle-group-control/toggle-group-control/component.cjs.map +2 -2
  149. package/build/toggle-group-control/toggle-group-control/styles.cjs +11 -37
  150. package/build/toggle-group-control/toggle-group-control/styles.cjs.map +2 -2
  151. package/build/toggle-group-control/toggle-group-control-option/component.cjs.map +2 -2
  152. package/build/toggle-group-control/toggle-group-control-option-base/component.cjs +3 -5
  153. package/build/toggle-group-control/toggle-group-control-option-base/component.cjs.map +2 -2
  154. package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs +14 -18
  155. package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs.map +2 -2
  156. package/build/toggle-group-control/toggle-group-control-option-icon/component.cjs.map +1 -1
  157. package/build/tools-panel/styles.cjs +25 -16
  158. package/build/tools-panel/styles.cjs.map +2 -2
  159. package/build/tools-panel/tools-panel/component.cjs.map +2 -2
  160. package/build/tools-panel/tools-panel/hook.cjs +5 -3
  161. package/build/tools-panel/tools-panel/hook.cjs.map +2 -2
  162. package/build/tree-select/index.cjs +9 -20
  163. package/build/tree-select/index.cjs.map +2 -2
  164. package/build/truncate/hook.cjs +95 -9
  165. package/build/truncate/hook.cjs.map +4 -4
  166. package/build/unit-control/index.cjs +2 -12
  167. package/build/unit-control/index.cjs.map +2 -2
  168. package/build/utils/base-label.cjs +1 -1
  169. package/build/utils/base-label.cjs.map +2 -2
  170. package/build/utils/config-values.cjs +1 -9
  171. package/build/utils/config-values.cjs.map +2 -2
  172. package/build/utils/font-values.cjs +1 -1
  173. package/build/utils/font-values.cjs.map +1 -1
  174. package/build/utils/hooks/use-cx.cjs.map +2 -2
  175. package/build/utils/polymorphic-element.cjs +123 -0
  176. package/build/utils/polymorphic-element.cjs.map +7 -0
  177. package/build/validated-form-controls/components/combobox-control.cjs +0 -1
  178. package/build/validated-form-controls/components/combobox-control.cjs.map +2 -2
  179. package/build/validated-form-controls/components/content-editable-control.cjs +84 -0
  180. package/build/validated-form-controls/components/content-editable-control.cjs.map +7 -0
  181. package/build/validated-form-controls/components/custom-select-control.cjs +0 -1
  182. package/build/validated-form-controls/components/custom-select-control.cjs.map +2 -2
  183. package/build/validated-form-controls/components/form-token-field.cjs +0 -1
  184. package/build/validated-form-controls/components/form-token-field.cjs.map +2 -2
  185. package/build/validated-form-controls/components/index.cjs +2 -0
  186. package/build/validated-form-controls/components/index.cjs.map +2 -2
  187. package/build/validated-form-controls/components/input-control.cjs +0 -1
  188. package/build/validated-form-controls/components/input-control.cjs.map +2 -2
  189. package/build/validated-form-controls/components/number-control.cjs +0 -1
  190. package/build/validated-form-controls/components/number-control.cjs.map +2 -2
  191. package/build/validated-form-controls/components/range-control.cjs +0 -1
  192. package/build/validated-form-controls/components/range-control.cjs.map +2 -2
  193. package/build/validated-form-controls/components/select-control.cjs +0 -1
  194. package/build/validated-form-controls/components/select-control.cjs.map +2 -2
  195. package/build/validated-form-controls/components/toggle-group-control.cjs +0 -1
  196. package/build/validated-form-controls/components/toggle-group-control.cjs.map +2 -2
  197. package/build/validated-form-controls/control-with-error.cjs +1 -4
  198. package/build/validated-form-controls/control-with-error.cjs.map +2 -2
  199. package/build/view/component.cjs +4 -20
  200. package/build/view/component.cjs.map +3 -3
  201. package/build-module/angle-picker-control/index.mjs +0 -1
  202. package/build-module/angle-picker-control/index.mjs.map +2 -2
  203. package/build-module/autocomplete/index.mjs +5 -5
  204. package/build-module/autocomplete/index.mjs.map +2 -2
  205. package/build-module/border-box-control/border-box-control/component.mjs +4 -9
  206. package/build-module/border-box-control/border-box-control/component.mjs.map +2 -2
  207. package/build-module/border-box-control/border-box-control/hook.mjs +3 -10
  208. package/build-module/border-box-control/border-box-control/hook.mjs.map +2 -2
  209. package/build-module/border-box-control/border-box-control-linked-button/hook.mjs +2 -3
  210. package/build-module/border-box-control/border-box-control-linked-button/hook.mjs.map +2 -2
  211. package/build-module/border-box-control/border-box-control-split-controls/component.mjs +2 -6
  212. package/build-module/border-box-control/border-box-control-split-controls/component.mjs.map +2 -2
  213. package/build-module/border-box-control/border-box-control-split-controls/hook.mjs +2 -4
  214. package/build-module/border-box-control/border-box-control-split-controls/hook.mjs.map +2 -2
  215. package/build-module/border-box-control/border-box-control-visualizer/hook.mjs +2 -3
  216. package/build-module/border-box-control/border-box-control-visualizer/hook.mjs.map +2 -2
  217. package/build-module/border-box-control/styles.mjs +21 -18
  218. package/build-module/border-box-control/styles.mjs.map +2 -2
  219. package/build-module/border-control/border-control/component.mjs +3 -11
  220. package/build-module/border-control/border-control/component.mjs.map +2 -2
  221. package/build-module/border-control/border-control/hook.mjs +11 -21
  222. package/build-module/border-control/border-control/hook.mjs.map +3 -3
  223. package/build-module/border-control/border-control-dropdown/component.mjs +1 -2
  224. package/build-module/border-control/border-control-dropdown/component.mjs.map +2 -2
  225. package/build-module/border-control/border-control-dropdown/hook.mjs +2 -4
  226. package/build-module/border-control/border-control-dropdown/hook.mjs.map +2 -2
  227. package/build-module/border-control/border-control-style-picker/component.mjs +0 -1
  228. package/build-module/border-control/border-control-style-picker/component.mjs.map +2 -2
  229. package/build-module/border-control/styles.mjs +26 -15
  230. package/build-module/border-control/styles.mjs.map +2 -2
  231. package/build-module/box-control/box-input-control.mjs +0 -5
  232. package/build-module/box-control/box-input-control.mjs.map +2 -2
  233. package/build-module/card/card/hook.mjs +4 -1
  234. package/build-module/card/card/hook.mjs.map +2 -2
  235. package/build-module/card/card-footer/hook.mjs +12 -12
  236. package/build-module/card/card-footer/hook.mjs.map +2 -2
  237. package/build-module/card/card-header/hook.mjs +12 -12
  238. package/build-module/card/card-header/hook.mjs.map +2 -2
  239. package/build-module/card/styles.mjs +40 -13
  240. package/build-module/card/styles.mjs.map +2 -2
  241. package/build-module/color-palette/styles.mjs +1 -1
  242. package/build-module/color-palette/styles.mjs.map +2 -2
  243. package/build-module/color-picker/component.mjs.map +2 -2
  244. package/build-module/color-picker/hex-input.mjs +0 -1
  245. package/build-module/color-picker/hex-input.mjs.map +2 -2
  246. package/build-module/color-picker/input-with-slider.mjs +0 -2
  247. package/build-module/color-picker/input-with-slider.mjs.map +2 -2
  248. package/build-module/combobox-control/index.mjs +1 -10
  249. package/build-module/combobox-control/index.mjs.map +2 -2
  250. package/build-module/combobox-control/styles.mjs +1 -5
  251. package/build-module/combobox-control/styles.mjs.map +2 -2
  252. package/build-module/content-editable-control/docs-manifest.json +5 -0
  253. package/build-module/content-editable-control/index.mjs +136 -0
  254. package/build-module/content-editable-control/index.mjs.map +7 -0
  255. package/build-module/content-editable-control/types.mjs +1 -0
  256. package/build-module/content-editable-control/types.mjs.map +7 -0
  257. package/build-module/custom-gradient-picker/index.mjs +0 -1
  258. package/build-module/custom-gradient-picker/index.mjs.map +2 -2
  259. package/build-module/custom-select-control/index.mjs +4 -19
  260. package/build-module/custom-select-control/index.mjs.map +2 -2
  261. package/build-module/custom-select-control-v2/custom-select.mjs +0 -1
  262. package/build-module/custom-select-control-v2/custom-select.mjs.map +2 -2
  263. package/build-module/date-time/date-picker/styles.mjs +8 -8
  264. package/build-module/date-time/date-picker/styles.mjs.map +2 -2
  265. package/build-module/date-time/time-picker/index.mjs +0 -3
  266. package/build-module/date-time/time-picker/index.mjs.map +2 -2
  267. package/build-module/date-time/time-picker/time-input/index.mjs +0 -3
  268. package/build-module/date-time/time-picker/time-input/index.mjs.map +2 -2
  269. package/build-module/divider/component.mjs +1 -1
  270. package/build-module/divider/component.mjs.map +2 -2
  271. package/build-module/elevation/hook.mjs +6 -5
  272. package/build-module/elevation/hook.mjs.map +2 -2
  273. package/build-module/external-link/index.mjs +0 -3
  274. package/build-module/external-link/index.mjs.map +2 -2
  275. package/build-module/flex/flex/hook.mjs +97 -18
  276. package/build-module/flex/flex/hook.mjs.map +3 -3
  277. package/build-module/flex/flex-item/hook.mjs +94 -10
  278. package/build-module/flex/flex-item/hook.mjs.map +3 -3
  279. package/build-module/focal-point-picker/controls.mjs +0 -1
  280. package/build-module/focal-point-picker/controls.mjs.map +2 -2
  281. package/build-module/focal-point-picker/index.mjs +1 -0
  282. package/build-module/focal-point-picker/index.mjs.map +2 -2
  283. package/build-module/font-size-picker/font-size-picker-select.mjs +1 -6
  284. package/build-module/font-size-picker/font-size-picker-select.mjs.map +2 -2
  285. package/build-module/font-size-picker/font-size-picker-toggle-group.mjs +0 -5
  286. package/build-module/font-size-picker/font-size-picker-toggle-group.mjs.map +2 -2
  287. package/build-module/font-size-picker/index.mjs +1 -18
  288. package/build-module/font-size-picker/index.mjs.map +2 -2
  289. package/build-module/form-file-upload/index.mjs +7 -18
  290. package/build-module/form-file-upload/index.mjs.map +2 -2
  291. package/build-module/form-token-field/index.mjs +1 -11
  292. package/build-module/form-token-field/index.mjs.map +2 -2
  293. package/build-module/form-token-field/styles.mjs +1 -7
  294. package/build-module/form-token-field/styles.mjs.map +2 -2
  295. package/build-module/heading/hook.mjs +1 -1
  296. package/build-module/heading/hook.mjs.map +1 -1
  297. package/build-module/input-control/index.mjs +5 -14
  298. package/build-module/input-control/index.mjs.map +2 -2
  299. package/build-module/input-control/input-base.mjs +2 -6
  300. package/build-module/input-control/input-base.mjs.map +2 -2
  301. package/build-module/input-control/styles/input-control-styles.mjs +24 -30
  302. package/build-module/input-control/styles/input-control-styles.mjs.map +2 -2
  303. package/build-module/menu/group-label.mjs +2 -1
  304. package/build-module/menu/group-label.mjs.map +2 -2
  305. package/build-module/number-control/index.mjs +1 -11
  306. package/build-module/number-control/index.mjs.map +2 -2
  307. package/build-module/palette-edit/styles.mjs +9 -9
  308. package/build-module/palette-edit/styles.mjs.map +2 -2
  309. package/build-module/private-apis.mjs +4 -1
  310. package/build-module/private-apis.mjs.map +2 -2
  311. package/build-module/query-controls/author-select.mjs +1 -3
  312. package/build-module/query-controls/author-select.mjs.map +2 -2
  313. package/build-module/query-controls/category-select.mjs +1 -3
  314. package/build-module/query-controls/category-select.mjs.map +2 -2
  315. package/build-module/query-controls/index.mjs +0 -5
  316. package/build-module/query-controls/index.mjs.map +2 -2
  317. package/build-module/radio-group/radio.mjs +6 -14
  318. package/build-module/radio-group/radio.mjs.map +2 -2
  319. package/build-module/range-control/index.mjs +5 -15
  320. package/build-module/range-control/index.mjs.map +2 -2
  321. package/build-module/range-control/styles/range-control-styles.mjs +32 -30
  322. package/build-module/range-control/styles/range-control-styles.mjs.map +2 -2
  323. package/build-module/resizable-box/index.mjs.map +2 -2
  324. package/build-module/sandbox/index.mjs +71 -68
  325. package/build-module/sandbox/index.mjs.map +2 -2
  326. package/build-module/search-control/index.mjs +2 -2
  327. package/build-module/search-control/index.mjs.map +2 -2
  328. package/build-module/select-control/index.mjs +6 -15
  329. package/build-module/select-control/index.mjs.map +2 -2
  330. package/build-module/select-control/styles/select-control-styles.mjs +8 -16
  331. package/build-module/select-control/styles/select-control-styles.mjs.map +2 -2
  332. package/build-module/slot-fill/index.mjs.map +2 -2
  333. package/build-module/spacer/hook.mjs +140 -13
  334. package/build-module/spacer/hook.mjs.map +3 -3
  335. package/build-module/surface/hook.mjs +103 -16
  336. package/build-module/surface/hook.mjs.map +3 -3
  337. package/build-module/text/hook.mjs +11 -11
  338. package/build-module/text/hook.mjs.map +2 -2
  339. package/build-module/theme/index.mjs +109 -7
  340. package/build-module/theme/index.mjs.map +3 -3
  341. package/build-module/toggle-group-control/toggle-group-control/as-button-group.mjs +1 -3
  342. package/build-module/toggle-group-control/toggle-group-control/as-button-group.mjs.map +2 -2
  343. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.mjs +1 -3
  344. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.mjs.map +2 -2
  345. package/build-module/toggle-group-control/toggle-group-control/component.mjs +6 -16
  346. package/build-module/toggle-group-control/toggle-group-control/component.mjs.map +2 -2
  347. package/build-module/toggle-group-control/toggle-group-control/styles.mjs +10 -35
  348. package/build-module/toggle-group-control/toggle-group-control/styles.mjs.map +2 -2
  349. package/build-module/toggle-group-control/toggle-group-control-option/component.mjs.map +2 -2
  350. package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs +3 -5
  351. package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs.map +2 -2
  352. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs +14 -18
  353. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs.map +2 -2
  354. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.mjs.map +1 -1
  355. package/build-module/tools-panel/styles.mjs +23 -15
  356. package/build-module/tools-panel/styles.mjs.map +2 -2
  357. package/build-module/tools-panel/tools-panel/component.mjs.map +2 -2
  358. package/build-module/tools-panel/tools-panel/hook.mjs +5 -3
  359. package/build-module/tools-panel/tools-panel/hook.mjs.map +2 -2
  360. package/build-module/tree-select/index.mjs +9 -20
  361. package/build-module/tree-select/index.mjs.map +2 -2
  362. package/build-module/truncate/hook.mjs +95 -9
  363. package/build-module/truncate/hook.mjs.map +3 -3
  364. package/build-module/unit-control/index.mjs +2 -12
  365. package/build-module/unit-control/index.mjs.map +2 -2
  366. package/build-module/utils/base-label.mjs +1 -1
  367. package/build-module/utils/base-label.mjs.map +2 -2
  368. package/build-module/utils/config-values.mjs +1 -9
  369. package/build-module/utils/config-values.mjs.map +2 -2
  370. package/build-module/utils/font-values.mjs +1 -1
  371. package/build-module/utils/font-values.mjs.map +1 -1
  372. package/build-module/utils/hooks/use-cx.mjs.map +2 -2
  373. package/build-module/utils/polymorphic-element.mjs +98 -0
  374. package/build-module/utils/polymorphic-element.mjs.map +7 -0
  375. package/build-module/validated-form-controls/components/combobox-control.mjs +0 -1
  376. package/build-module/validated-form-controls/components/combobox-control.mjs.map +2 -2
  377. package/build-module/validated-form-controls/components/content-editable-control.mjs +49 -0
  378. package/build-module/validated-form-controls/components/content-editable-control.mjs.map +7 -0
  379. package/build-module/validated-form-controls/components/custom-select-control.mjs +0 -1
  380. package/build-module/validated-form-controls/components/custom-select-control.mjs.map +2 -2
  381. package/build-module/validated-form-controls/components/form-token-field.mjs +0 -1
  382. package/build-module/validated-form-controls/components/form-token-field.mjs.map +2 -2
  383. package/build-module/validated-form-controls/components/index.mjs +1 -0
  384. package/build-module/validated-form-controls/components/index.mjs.map +2 -2
  385. package/build-module/validated-form-controls/components/input-control.mjs +0 -1
  386. package/build-module/validated-form-controls/components/input-control.mjs.map +2 -2
  387. package/build-module/validated-form-controls/components/number-control.mjs +0 -1
  388. package/build-module/validated-form-controls/components/number-control.mjs.map +2 -2
  389. package/build-module/validated-form-controls/components/range-control.mjs +0 -1
  390. package/build-module/validated-form-controls/components/range-control.mjs.map +2 -2
  391. package/build-module/validated-form-controls/components/select-control.mjs +0 -1
  392. package/build-module/validated-form-controls/components/select-control.mjs.map +2 -2
  393. package/build-module/validated-form-controls/components/toggle-group-control.mjs +0 -1
  394. package/build-module/validated-form-controls/components/toggle-group-control.mjs.map +2 -2
  395. package/build-module/validated-form-controls/control-with-error.mjs +1 -4
  396. package/build-module/validated-form-controls/control-with-error.mjs.map +2 -2
  397. package/build-module/view/component.mjs +4 -10
  398. package/build-module/view/component.mjs.map +2 -2
  399. package/build-style/style-rtl.css +67 -91
  400. package/build-style/style.css +67 -91
  401. package/build-types/angle-picker-control/index.d.ts.map +1 -1
  402. package/build-types/autocomplete/autocompleter-ui.d.ts +1 -1
  403. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  404. package/build-types/autocomplete/index.d.ts +1 -1
  405. package/build-types/autocomplete/index.d.ts.map +1 -1
  406. package/build-types/border-box-control/border-box-control/component.d.ts +2 -2
  407. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  408. package/build-types/border-box-control/border-box-control/hook.d.ts +0 -1
  409. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  410. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +2 -4
  411. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  412. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  413. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  414. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  415. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +0 -1
  416. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  417. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +2 -3
  418. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -1
  419. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  420. package/build-types/border-box-control/stories/index.story.d.ts +2 -1
  421. package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
  422. package/build-types/border-box-control/styles.d.ts +3 -3
  423. package/build-types/border-box-control/styles.d.ts.map +1 -1
  424. package/build-types/border-box-control/types.d.ts +13 -5
  425. package/build-types/border-box-control/types.d.ts.map +1 -1
  426. package/build-types/border-control/border-control/component.d.ts +0 -2
  427. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  428. package/build-types/border-control/border-control/hook.d.ts +0 -2
  429. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  430. package/build-types/border-control/border-control-dropdown/component.d.ts +1 -1
  431. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  432. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  433. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  434. package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
  435. package/build-types/border-control/stories/index.story.d.ts +5 -10
  436. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  437. package/build-types/border-control/styles.d.ts +5 -2
  438. package/build-types/border-control/styles.d.ts.map +1 -1
  439. package/build-types/border-control/types.d.ts +5 -10
  440. package/build-types/border-control/types.d.ts.map +1 -1
  441. package/build-types/box-control/box-input-control.d.ts.map +1 -1
  442. package/build-types/box-control/index.d.ts +1 -1
  443. package/build-types/box-control/index.d.ts.map +1 -1
  444. package/build-types/box-control/styles/box-control-styles.d.ts +2 -1
  445. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
  446. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  447. package/build-types/calendar/date-range-calendar/index.d.ts +1 -1
  448. package/build-types/calendar/date-range-calendar/index.d.ts.map +1 -1
  449. package/build-types/calendar/utils/use-localization-props.d.ts +6 -2
  450. package/build-types/calendar/utils/use-localization-props.d.ts.map +1 -1
  451. package/build-types/card/card/hook.d.ts +1 -1
  452. package/build-types/card/card/hook.d.ts.map +1 -1
  453. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  454. package/build-types/card/card-header/hook.d.ts.map +1 -1
  455. package/build-types/card/styles.d.ts +4 -0
  456. package/build-types/card/styles.d.ts.map +1 -1
  457. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +1 -1
  458. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -1
  459. package/build-types/circular-option-picker/circular-option-picker.d.ts +8 -13
  460. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  461. package/build-types/color-picker/component.d.ts +4 -0
  462. package/build-types/color-picker/component.d.ts.map +1 -1
  463. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  464. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  465. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  466. package/build-types/color-picker/styles.d.ts +2 -1
  467. package/build-types/color-picker/styles.d.ts.map +1 -1
  468. package/build-types/combobox-control/index.d.ts +0 -1
  469. package/build-types/combobox-control/index.d.ts.map +1 -1
  470. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  471. package/build-types/combobox-control/styles.d.ts +1 -2
  472. package/build-types/combobox-control/styles.d.ts.map +1 -1
  473. package/build-types/combobox-control/types.d.ts +2 -1
  474. package/build-types/combobox-control/types.d.ts.map +1 -1
  475. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  476. package/build-types/content-editable-control/index.d.ts +31 -0
  477. package/build-types/content-editable-control/index.d.ts.map +1 -0
  478. package/build-types/content-editable-control/stories/index.story.d.ts +13 -0
  479. package/build-types/content-editable-control/stories/index.story.d.ts.map +1 -0
  480. package/build-types/content-editable-control/test/index.d.ts +2 -0
  481. package/build-types/content-editable-control/test/index.d.ts.map +1 -0
  482. package/build-types/content-editable-control/types.d.ts +32 -0
  483. package/build-types/content-editable-control/types.d.ts.map +1 -0
  484. package/build-types/context/context-system-provider.d.ts +21 -2
  485. package/build-types/context/context-system-provider.d.ts.map +1 -1
  486. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +3 -2
  487. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
  488. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +1 -1
  489. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
  490. package/build-types/custom-gradient-picker/index.d.ts +1 -1
  491. package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
  492. package/build-types/custom-gradient-picker/serializer.d.ts +3 -3
  493. package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -1
  494. package/build-types/custom-select-control/index.d.ts +5 -0
  495. package/build-types/custom-select-control/index.d.ts.map +1 -1
  496. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  497. package/build-types/custom-select-control/types.d.ts +2 -1
  498. package/build-types/custom-select-control/types.d.ts.map +1 -1
  499. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  500. package/build-types/custom-select-control-v2/index.d.ts +2 -1
  501. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  502. package/build-types/custom-select-control-v2/item.d.ts.map +1 -1
  503. package/build-types/date-time/date-picker/index.d.ts +1 -1
  504. package/build-types/date-time/date-picker/index.d.ts.map +1 -1
  505. package/build-types/date-time/time-picker/index.d.ts +3 -2
  506. package/build-types/date-time/time-picker/index.d.ts.map +1 -1
  507. package/build-types/date-time/time-picker/styles.d.ts +8 -4
  508. package/build-types/date-time/time-picker/styles.d.ts.map +1 -1
  509. package/build-types/date-time/time-picker/time-input/index.d.ts +1 -1
  510. package/build-types/date-time/time-picker/time-input/index.d.ts.map +1 -1
  511. package/build-types/disabled/index.d.ts +4 -4
  512. package/build-types/disabled/index.d.ts.map +1 -1
  513. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  514. package/build-types/draggable/index.d.ts +1 -1
  515. package/build-types/draggable/index.d.ts.map +1 -1
  516. package/build-types/drop-zone/provider.d.ts +1 -1
  517. package/build-types/drop-zone/provider.d.ts.map +1 -1
  518. package/build-types/duotone-picker/color-list-picker/index.d.ts +1 -1
  519. package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
  520. package/build-types/duotone-picker/custom-duotone-bar.d.ts +1 -1
  521. package/build-types/duotone-picker/custom-duotone-bar.d.ts.map +1 -1
  522. package/build-types/elevation/hook.d.ts.map +1 -1
  523. package/build-types/external-link/index.d.ts.map +1 -1
  524. package/build-types/flex/flex/hook.d.ts +864 -4
  525. package/build-types/flex/flex/hook.d.ts.map +1 -1
  526. package/build-types/flex/flex-block/hook.d.ts +860 -1
  527. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  528. package/build-types/flex/flex-item/hook.d.ts +860 -4
  529. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  530. package/build-types/focal-point-picker/controls.d.ts +1 -1
  531. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  532. package/build-types/focal-point-picker/index.d.ts +1 -1
  533. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  534. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +252 -1
  535. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
  536. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  537. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -1
  538. package/build-types/font-size-picker/index.d.ts.map +1 -1
  539. package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
  540. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  541. package/build-types/font-size-picker/types.d.ts +6 -5
  542. package/build-types/font-size-picker/types.d.ts.map +1 -1
  543. package/build-types/form-file-upload/index.d.ts +1 -2
  544. package/build-types/form-file-upload/index.d.ts.map +1 -1
  545. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  546. package/build-types/form-file-upload/types.d.ts +2 -2
  547. package/build-types/form-file-upload/types.d.ts.map +1 -1
  548. package/build-types/form-token-field/index.d.ts.map +1 -1
  549. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  550. package/build-types/form-token-field/styles.d.ts +1 -6
  551. package/build-types/form-token-field/styles.d.ts.map +1 -1
  552. package/build-types/form-token-field/suggestions-list.d.ts +1 -1
  553. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  554. package/build-types/form-token-field/token.d.ts +1 -1
  555. package/build-types/form-token-field/token.d.ts.map +1 -1
  556. package/build-types/form-token-field/types.d.ts +2 -1
  557. package/build-types/form-token-field/types.d.ts.map +1 -1
  558. package/build-types/guide/index.d.ts +1 -1
  559. package/build-types/guide/index.d.ts.map +1 -1
  560. package/build-types/guide/page-control.d.ts +1 -1
  561. package/build-types/guide/page-control.d.ts.map +1 -1
  562. package/build-types/h-stack/hook.d.ts +864 -1
  563. package/build-types/h-stack/hook.d.ts.map +1 -1
  564. package/build-types/heading/hook.d.ts +1 -1
  565. package/build-types/higher-order/with-fallback-styles/index.d.ts +3 -3
  566. package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -1
  567. package/build-types/input-control/index.d.ts +0 -1
  568. package/build-types/input-control/index.d.ts.map +1 -1
  569. package/build-types/input-control/input-base.d.ts.map +1 -1
  570. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  571. package/build-types/input-control/styles/input-control-styles.d.ts +1 -2
  572. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  573. package/build-types/input-control/types.d.ts +21 -28
  574. package/build-types/input-control/types.d.ts.map +1 -1
  575. package/build-types/keyboard-shortcuts/index.d.ts +1 -1
  576. package/build-types/keyboard-shortcuts/index.d.ts.map +1 -1
  577. package/build-types/menu/group-label.d.ts.map +1 -1
  578. package/build-types/menu-items-choice/index.d.ts +1 -1
  579. package/build-types/menu-items-choice/index.d.ts.map +1 -1
  580. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  581. package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts +1 -1
  582. package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts.map +1 -1
  583. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  584. package/build-types/notice/index.d.ts +1 -1
  585. package/build-types/notice/index.d.ts.map +1 -1
  586. package/build-types/notice/list.d.ts +1 -1
  587. package/build-types/notice/list.d.ts.map +1 -1
  588. package/build-types/number-control/index.d.ts +6 -1
  589. package/build-types/number-control/index.d.ts.map +1 -1
  590. package/build-types/number-control/stories/index.story.d.ts +2 -1
  591. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  592. package/build-types/number-control/types.d.ts +8 -1
  593. package/build-types/number-control/types.d.ts.map +1 -1
  594. package/build-types/palette-edit/index.d.ts +1 -1
  595. package/build-types/palette-edit/index.d.ts.map +1 -1
  596. package/build-types/palette-edit/styles.d.ts +750 -0
  597. package/build-types/palette-edit/styles.d.ts.map +1 -1
  598. package/build-types/private-apis.d.ts.map +1 -1
  599. package/build-types/query-controls/author-select.d.ts +1 -1
  600. package/build-types/query-controls/author-select.d.ts.map +1 -1
  601. package/build-types/query-controls/category-select.d.ts +1 -1
  602. package/build-types/query-controls/category-select.d.ts.map +1 -1
  603. package/build-types/query-controls/index.d.ts.map +1 -1
  604. package/build-types/query-controls/types.d.ts +0 -2
  605. package/build-types/query-controls/types.d.ts.map +1 -1
  606. package/build-types/radio-group/radio.d.ts +2 -4
  607. package/build-types/radio-group/radio.d.ts.map +1 -1
  608. package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
  609. package/build-types/radio-group/types.d.ts +8 -5
  610. package/build-types/radio-group/types.d.ts.map +1 -1
  611. package/build-types/range-control/index.d.ts +0 -1
  612. package/build-types/range-control/index.d.ts.map +1 -1
  613. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  614. package/build-types/range-control/styles/range-control-styles.d.ts +4 -5
  615. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  616. package/build-types/range-control/types.d.ts +3 -1
  617. package/build-types/range-control/types.d.ts.map +1 -1
  618. package/build-types/resizable-box/index.d.ts +4 -0
  619. package/build-types/resizable-box/index.d.ts.map +1 -1
  620. package/build-types/resizable-box/resize-tooltip/utils.d.ts +1 -1
  621. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  622. package/build-types/responsive-wrapper/index.d.ts +1 -1
  623. package/build-types/responsive-wrapper/index.d.ts.map +1 -1
  624. package/build-types/sandbox/index.d.ts +34 -0
  625. package/build-types/sandbox/index.d.ts.map +1 -1
  626. package/build-types/search-control/index.d.ts.map +1 -1
  627. package/build-types/select-control/index.d.ts +0 -1
  628. package/build-types/select-control/index.d.ts.map +1 -1
  629. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  630. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  631. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  632. package/build-types/select-control/types.d.ts +23 -1
  633. package/build-types/select-control/types.d.ts.map +1 -1
  634. package/build-types/slot-fill/index.d.ts +6 -1
  635. package/build-types/slot-fill/index.d.ts.map +1 -1
  636. package/build-types/snackbar/list.d.ts +1 -1
  637. package/build-types/snackbar/list.d.ts.map +1 -1
  638. package/build-types/spacer/hook.d.ts +2 -4
  639. package/build-types/spacer/hook.d.ts.map +1 -1
  640. package/build-types/spacer/stories/index.story.d.ts +1 -6
  641. package/build-types/spacer/stories/index.story.d.ts.map +1 -1
  642. package/build-types/surface/hook.d.ts +1 -1
  643. package/build-types/surface/hook.d.ts.map +1 -1
  644. package/build-types/text/hook.d.ts +2 -2
  645. package/build-types/text/hook.d.ts.map +1 -1
  646. package/build-types/text/types.d.ts +4 -4
  647. package/build-types/text/types.d.ts.map +1 -1
  648. package/build-types/text/utils.d.ts +1 -1
  649. package/build-types/text/utils.d.ts.map +1 -1
  650. package/build-types/theme/index.d.ts +1 -4
  651. package/build-types/theme/index.d.ts.map +1 -1
  652. package/build-types/toggle-group-control/stories/index.story.d.ts.map +1 -1
  653. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +1 -1
  654. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
  655. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +1 -1
  656. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  657. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +0 -1
  658. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  659. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -4
  660. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  661. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +0 -1
  662. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  663. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  664. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +1 -1
  665. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  666. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  667. package/build-types/toggle-group-control/types.d.ts +5 -4
  668. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  669. package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
  670. package/build-types/tools-panel/styles.d.ts +5 -0
  671. package/build-types/tools-panel/styles.d.ts.map +1 -1
  672. package/build-types/tools-panel/tools-panel/component.d.ts +0 -2
  673. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  674. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  675. package/build-types/tree-grid/roving-tab-index.d.ts +1 -1
  676. package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -1
  677. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  678. package/build-types/tree-select/index.d.ts +0 -1
  679. package/build-types/tree-select/index.d.ts.map +1 -1
  680. package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
  681. package/build-types/tree-select/types.d.ts +8 -1
  682. package/build-types/tree-select/types.d.ts.map +1 -1
  683. package/build-types/truncate/hook.d.ts +1 -1
  684. package/build-types/truncate/hook.d.ts.map +1 -1
  685. package/build-types/unit-control/index.d.ts +3 -2
  686. package/build-types/unit-control/index.d.ts.map +1 -1
  687. package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
  688. package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -1
  689. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  690. package/build-types/unit-control/types.d.ts +8 -1
  691. package/build-types/unit-control/types.d.ts.map +1 -1
  692. package/build-types/utils/config-values.d.ts +1 -8
  693. package/build-types/utils/hooks/use-animated-offset-rect.d.ts +1 -1
  694. package/build-types/utils/hooks/use-animated-offset-rect.d.ts.map +1 -1
  695. package/build-types/utils/hooks/use-controlled-state.d.ts +6 -0
  696. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  697. package/build-types/utils/hooks/use-controlled-value.d.ts +1 -1
  698. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  699. package/build-types/utils/hooks/use-cx.d.ts +4 -0
  700. package/build-types/utils/hooks/use-cx.d.ts.map +1 -1
  701. package/build-types/utils/polymorphic-element.d.ts +17 -0
  702. package/build-types/utils/polymorphic-element.d.ts.map +1 -0
  703. package/build-types/utils/rtl.d.ts.map +1 -1
  704. package/build-types/utils/test/polymorphic-element.d.ts +2 -0
  705. package/build-types/utils/test/polymorphic-element.d.ts.map +1 -0
  706. package/build-types/v-stack/hook.d.ts +864 -1
  707. package/build-types/v-stack/hook.d.ts.map +1 -1
  708. package/build-types/validated-form-controls/components/combobox-control.d.ts +1 -1
  709. package/build-types/validated-form-controls/components/content-editable-control.d.ts +16 -0
  710. package/build-types/validated-form-controls/components/content-editable-control.d.ts.map +1 -0
  711. package/build-types/validated-form-controls/components/custom-select-control.d.ts +1 -1
  712. package/build-types/validated-form-controls/components/custom-select-control.d.ts.map +1 -1
  713. package/build-types/validated-form-controls/components/form-token-field.d.ts +1 -1
  714. package/build-types/validated-form-controls/components/form-token-field.d.ts.map +1 -1
  715. package/build-types/validated-form-controls/components/index.d.ts +1 -0
  716. package/build-types/validated-form-controls/components/index.d.ts.map +1 -1
  717. package/build-types/validated-form-controls/components/input-control.d.ts +1 -1
  718. package/build-types/validated-form-controls/components/input-control.d.ts.map +1 -1
  719. package/build-types/validated-form-controls/components/number-control.d.ts +3 -2
  720. package/build-types/validated-form-controls/components/number-control.d.ts.map +1 -1
  721. package/build-types/validated-form-controls/components/range-control.d.ts +2 -2
  722. package/build-types/validated-form-controls/components/range-control.d.ts.map +1 -1
  723. package/build-types/validated-form-controls/components/select-control.d.ts +1 -1
  724. package/build-types/validated-form-controls/components/select-control.d.ts.map +1 -1
  725. package/build-types/validated-form-controls/components/stories/content-editable-control.story.d.ts +9 -0
  726. package/build-types/validated-form-controls/components/stories/content-editable-control.story.d.ts.map +1 -0
  727. package/build-types/validated-form-controls/components/toggle-group-control.d.ts +2 -2
  728. package/build-types/validated-form-controls/components/toggle-group-control.d.ts.map +1 -1
  729. package/build-types/validated-form-controls/test/content-editable-control.d.ts +2 -0
  730. package/build-types/validated-form-controls/test/content-editable-control.d.ts.map +1 -0
  731. package/build-types/validated-form-controls/validity-indicator.d.ts +1 -1
  732. package/build-types/validated-form-controls/validity-indicator.d.ts.map +1 -1
  733. package/build-types/view/component.d.ts +1125 -0
  734. package/build-types/view/component.d.ts.map +1 -1
  735. package/package.json +27 -27
  736. package/src/angle-picker-control/index.tsx +0 -1
  737. package/src/autocomplete/index.tsx +4 -8
  738. package/src/autocomplete/style.scss +1 -0
  739. package/src/badge/stories/index.story.tsx +1 -1
  740. package/src/base-control/stories/index.story.tsx +1 -1
  741. package/src/border-box-control/border-box-control/README.md +0 -16
  742. package/src/border-box-control/border-box-control/component.tsx +1 -9
  743. package/src/border-box-control/border-box-control/hook.ts +3 -13
  744. package/src/border-box-control/border-box-control-linked-button/hook.ts +6 -7
  745. package/src/border-box-control/border-box-control-split-controls/component.tsx +1 -12
  746. package/src/border-box-control/border-box-control-split-controls/hook.ts +2 -4
  747. package/src/border-box-control/border-box-control-visualizer/hook.ts +6 -11
  748. package/src/border-box-control/stories/index.story.tsx +0 -2
  749. package/src/border-box-control/styles.ts +28 -36
  750. package/src/border-box-control/test/index.tsx +1 -3
  751. package/src/border-box-control/types.ts +13 -5
  752. package/src/border-control/border-control/README.md +0 -15
  753. package/src/border-control/border-control/component.tsx +0 -9
  754. package/src/border-control/border-control/hook.ts +10 -22
  755. package/src/border-control/border-control-dropdown/component.tsx +1 -2
  756. package/src/border-control/border-control-dropdown/hook.ts +2 -4
  757. package/src/border-control/border-control-style-picker/component.tsx +0 -1
  758. package/src/border-control/stories/index.story.tsx +0 -2
  759. package/src/border-control/styles.ts +11 -12
  760. package/src/border-control/test/index.js +32 -1
  761. package/src/border-control/types.ts +5 -10
  762. package/src/box-control/box-input-control.tsx +0 -5
  763. package/src/button/stories/e2e/index.story.tsx +10 -2
  764. package/src/button/stories/index.story.tsx +1 -1
  765. package/src/button/style.scss +42 -83
  766. package/src/button-group/style.scss +1 -6
  767. package/src/calendar/style.scss +1 -1
  768. package/src/card/card/hook.ts +4 -3
  769. package/src/card/card-footer/hook.ts +12 -16
  770. package/src/card/card-header/hook.ts +12 -16
  771. package/src/card/stories/index.story.tsx +1 -1
  772. package/src/card/styles.ts +49 -0
  773. package/src/card/test/__snapshots__/index.tsx.snap +94 -139
  774. package/src/card/test/index.tsx +97 -0
  775. package/src/checkbox-control/stories/index.story.tsx +1 -1
  776. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +1 -1
  777. package/src/circular-option-picker/style.scss +0 -1
  778. package/src/color-palette/styles.ts +1 -1
  779. package/src/color-picker/component.tsx +4 -0
  780. package/src/color-picker/hex-input.tsx +0 -1
  781. package/src/color-picker/input-with-slider.tsx +0 -2
  782. package/src/color-picker/stories/index.story.tsx +5 -0
  783. package/src/combobox-control/README.md +0 -9
  784. package/src/combobox-control/index.tsx +2 -14
  785. package/src/combobox-control/stories/index.story.tsx +0 -2
  786. package/src/combobox-control/styles.ts +0 -21
  787. package/src/combobox-control/test/index.tsx +1 -1
  788. package/src/combobox-control/types.ts +2 -1
  789. package/src/confirm-dialog/stories/index.story.tsx +1 -1
  790. package/src/content-editable-control/README.md +88 -0
  791. package/src/content-editable-control/docs-manifest.json +5 -0
  792. package/src/content-editable-control/index.tsx +91 -0
  793. package/src/content-editable-control/stories/index.story.tsx +32 -0
  794. package/src/content-editable-control/style.module.scss +34 -0
  795. package/src/content-editable-control/test/index.tsx +164 -0
  796. package/src/content-editable-control/types.ts +35 -0
  797. package/src/context/stories/ComponentsProvider.stories.jsx +3 -3
  798. package/src/custom-gradient-picker/index.tsx +0 -1
  799. package/src/custom-select-control/README.md +0 -9
  800. package/src/custom-select-control/index.tsx +9 -24
  801. package/src/custom-select-control/stories/index.story.tsx +1 -3
  802. package/src/custom-select-control/test/index.tsx +1 -1
  803. package/src/custom-select-control/types.ts +2 -1
  804. package/src/custom-select-control-v2/custom-select.tsx +1 -5
  805. package/src/custom-select-control-v2/stories/index.story.tsx +1 -1
  806. package/src/date-time/date-picker/styles.ts +1 -1
  807. package/src/date-time/time-picker/index.tsx +0 -3
  808. package/src/date-time/time-picker/time-input/index.tsx +0 -3
  809. package/src/disabled/stories/index.story.tsx +0 -1
  810. package/src/divider/style.module.scss +4 -2
  811. package/src/dropdown-menu/style.scss +1 -1
  812. package/src/elevation/hook.ts +4 -3
  813. package/src/elevation/stories/index.story.tsx +1 -1
  814. package/src/elevation/test/__snapshots__/index.tsx.snap +6 -6
  815. package/src/elevation/test/index.tsx +21 -0
  816. package/src/external-link/index.tsx +1 -7
  817. package/src/external-link/stories/index.story.tsx +1 -1
  818. package/src/external-link/style.scss +1 -1
  819. package/src/flex/flex/hook.ts +24 -43
  820. package/src/flex/flex-item/hook.ts +10 -27
  821. package/src/flex/stories/index.story.tsx +1 -1
  822. package/src/flex/style.module.scss +40 -0
  823. package/src/flex/test/__snapshots__/index.tsx.snap +6 -156
  824. package/src/flex/test/index.tsx +80 -49
  825. package/src/focal-point-picker/controls.tsx +0 -1
  826. package/src/focal-point-picker/index.tsx +1 -0
  827. package/src/font-size-picker/README.md +0 -15
  828. package/src/font-size-picker/font-size-picker-select.tsx +1 -11
  829. package/src/font-size-picker/font-size-picker-toggle-group.tsx +1 -11
  830. package/src/font-size-picker/index.tsx +1 -26
  831. package/src/font-size-picker/stories/e2e/index.story.tsx +0 -2
  832. package/src/font-size-picker/stories/index.story.tsx +0 -2
  833. package/src/font-size-picker/test/font-size-picker-select.tsx +0 -16
  834. package/src/font-size-picker/test/font-size-picker-toggle-group.tsx +0 -22
  835. package/src/font-size-picker/test/index.tsx +2 -16
  836. package/src/font-size-picker/types.ts +6 -5
  837. package/src/form-file-upload/README.md +0 -10
  838. package/src/form-file-upload/index.tsx +2 -14
  839. package/src/form-file-upload/stories/index.story.tsx +1 -2
  840. package/src/form-file-upload/test/index.tsx +1 -16
  841. package/src/form-file-upload/types.ts +2 -2
  842. package/src/form-token-field/README.md +0 -2
  843. package/src/form-token-field/index.tsx +1 -12
  844. package/src/form-token-field/stories/index.story.tsx +0 -4
  845. package/src/form-token-field/styles.ts +0 -19
  846. package/src/form-token-field/test/index.tsx +1 -5
  847. package/src/form-token-field/types.ts +2 -1
  848. package/src/h-stack/stories/index.story.tsx +1 -1
  849. package/src/h-stack/test/__snapshots__/index.tsx.snap +12 -91
  850. package/src/heading/hook.ts +1 -1
  851. package/src/heading/stories/index.story.tsx +1 -1
  852. package/src/heading/test/__snapshots__/index.tsx.snap +1 -1
  853. package/src/icon/stories/index.story.tsx +1 -1
  854. package/src/input-control/README.md +0 -8
  855. package/src/input-control/index.tsx +5 -16
  856. package/src/input-control/input-base.tsx +4 -8
  857. package/src/input-control/stories/index.story.tsx +2 -4
  858. package/src/input-control/styles/input-control-styles.tsx +1 -11
  859. package/src/input-control/test/index.js +1 -7
  860. package/src/input-control/types.ts +21 -29
  861. package/src/item-group/test/__snapshots__/index.js.snap +27 -21
  862. package/src/menu/group-label.tsx +2 -1
  863. package/src/menu-group/style.scss +1 -1
  864. package/src/menu-item/style.scss +1 -1
  865. package/src/modal/stories/index.story.tsx +2 -5
  866. package/src/modal/style.scss +1 -1
  867. package/src/navigator/stories/index.story.tsx +5 -0
  868. package/src/notice/stories/index.story.tsx +1 -1
  869. package/src/notice/test/__snapshots__/index.tsx.snap +1 -1
  870. package/src/number-control/README.md +0 -8
  871. package/src/number-control/index.tsx +5 -12
  872. package/src/number-control/stories/index.story.tsx +1 -3
  873. package/src/number-control/test/index.tsx +1 -1
  874. package/src/number-control/types.ts +15 -1
  875. package/src/palette-edit/styles.ts +1 -1
  876. package/src/panel/stories/index.story.tsx +4 -4
  877. package/src/panel/style.scss +2 -5
  878. package/src/placeholder/style.scss +1 -1
  879. package/src/private-apis.ts +4 -0
  880. package/src/query-controls/README.md +0 -7
  881. package/src/query-controls/author-select.tsx +0 -2
  882. package/src/query-controls/category-select.tsx +0 -2
  883. package/src/query-controls/index.tsx +0 -5
  884. package/src/query-controls/types.ts +0 -2
  885. package/src/radio-group/README.md +8 -8
  886. package/src/radio-group/radio.tsx +2 -9
  887. package/src/radio-group/stories/index.story.tsx +3 -9
  888. package/src/radio-group/types.ts +8 -6
  889. package/src/range-control/README.md +0 -8
  890. package/src/range-control/index.tsx +6 -26
  891. package/src/range-control/stories/index.story.tsx +0 -11
  892. package/src/range-control/styles/range-control-styles.ts +1 -10
  893. package/src/range-control/test/index.tsx +1 -14
  894. package/src/range-control/types.ts +3 -1
  895. package/src/resizable-box/index.tsx +4 -0
  896. package/src/sandbox/index.tsx +143 -96
  897. package/src/sandbox/test/index.tsx +42 -1
  898. package/src/scrollable/test/__snapshots__/index.tsx.snap +16 -11
  899. package/src/search-control/index.tsx +3 -2
  900. package/src/select-control/README.md +0 -11
  901. package/src/select-control/index.tsx +6 -16
  902. package/src/select-control/stories/index.story.tsx +1 -5
  903. package/src/select-control/styles/select-control-styles.ts +3 -22
  904. package/src/select-control/test/select-control.tsx +6 -12
  905. package/src/select-control/types.ts +22 -3
  906. package/src/slot-fill/index.tsx +5 -0
  907. package/src/slot-fill/test/__snapshots__/slot.js.snap +4 -12
  908. package/src/spacer/hook.ts +93 -76
  909. package/src/spacer/stories/index.story.tsx +8 -6
  910. package/src/spacer/style.module.scss +25 -0
  911. package/src/spacer/test/__snapshots__/index.tsx.snap +2 -222
  912. package/src/spacer/test/index.tsx +111 -87
  913. package/src/surface/hook.ts +30 -36
  914. package/src/surface/style.module.scss +53 -0
  915. package/src/surface/test/index.tsx +22 -29
  916. package/src/tab-panel/stories/index.story.tsx +1 -1
  917. package/src/tab-panel/style.scss +1 -1
  918. package/src/tabs/stories/index.story.tsx +1 -1
  919. package/src/text/README.md +1 -1
  920. package/src/text/hook.ts +11 -12
  921. package/src/text/stories/index.story.tsx +1 -1
  922. package/src/text/test/__snapshots__/index.tsx.snap +2 -2
  923. package/src/text/test/index.tsx +19 -4
  924. package/src/text/types.ts +5 -5
  925. package/src/textarea-control/stories/index.story.tsx +1 -1
  926. package/src/theme/index.tsx +43 -18
  927. package/src/theme/style.module.scss +4 -0
  928. package/src/theme/test/index.tsx +23 -6
  929. package/src/toggle-group-control/stories/index.story.tsx +0 -1
  930. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +86 -86
  931. package/src/toggle-group-control/test/index.tsx +20 -4
  932. package/src/toggle-group-control/toggle-group-control/README.md +0 -8
  933. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +0 -3
  934. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +0 -3
  935. package/src/toggle-group-control/toggle-group-control/component.tsx +6 -20
  936. package/src/toggle-group-control/toggle-group-control/styles.ts +8 -25
  937. package/src/toggle-group-control/toggle-group-control-option/README.md +0 -1
  938. package/src/toggle-group-control/toggle-group-control-option/component.tsx +0 -1
  939. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -7
  940. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +9 -19
  941. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  942. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -1
  943. package/src/toggle-group-control/types.ts +5 -4
  944. package/src/toolbar/toolbar-button/style.scss +1 -1
  945. package/src/tools-panel/stories/index.story.tsx +0 -15
  946. package/src/tools-panel/styles.ts +18 -2
  947. package/src/tools-panel/test/index.tsx +39 -0
  948. package/src/tools-panel/tools-panel/component.tsx +0 -2
  949. package/src/tools-panel/tools-panel/hook.ts +5 -9
  950. package/src/tooltip/stories/index.story.tsx +1 -1
  951. package/src/tree-grid/stories/index.story.tsx +0 -2
  952. package/src/tree-select/README.md +0 -9
  953. package/src/tree-select/index.tsx +4 -14
  954. package/src/tree-select/stories/index.story.tsx +0 -2
  955. package/src/tree-select/types.ts +8 -1
  956. package/src/truncate/hook.ts +23 -28
  957. package/src/truncate/style.module.scss +21 -0
  958. package/src/unit-control/README.md +3 -9
  959. package/src/unit-control/index.tsx +3 -17
  960. package/src/unit-control/stories/index.story.tsx +0 -3
  961. package/src/unit-control/test/index.tsx +1 -5
  962. package/src/unit-control/types.ts +11 -1
  963. package/src/utils/base-label.ts +1 -1
  964. package/src/utils/config-values.js +1 -8
  965. package/src/utils/font-values.js +1 -1
  966. package/src/utils/hooks/use-cx.ts +4 -0
  967. package/src/utils/polymorphic-element.tsx +152 -0
  968. package/src/utils/test/polymorphic-element.tsx +231 -0
  969. package/src/v-stack/stories/index.story.tsx +1 -1
  970. package/src/v-stack/test/__snapshots__/index.tsx.snap +12 -90
  971. package/src/validated-form-controls/components/combobox-control.tsx +1 -1
  972. package/src/validated-form-controls/components/content-editable-control.tsx +88 -0
  973. package/src/validated-form-controls/components/custom-select-control.tsx +1 -5
  974. package/src/validated-form-controls/components/form-token-field.tsx +2 -6
  975. package/src/validated-form-controls/components/index.ts +1 -0
  976. package/src/validated-form-controls/components/input-control.tsx +2 -10
  977. package/src/validated-form-controls/components/number-control.tsx +2 -10
  978. package/src/validated-form-controls/components/range-control.tsx +2 -10
  979. package/src/validated-form-controls/components/select-control.tsx +2 -6
  980. package/src/validated-form-controls/components/stories/content-editable-control.story.tsx +56 -0
  981. package/src/validated-form-controls/components/toggle-group-control.tsx +2 -9
  982. package/src/validated-form-controls/control-with-error.tsx +1 -1
  983. package/src/validated-form-controls/style.scss +7 -0
  984. package/src/validated-form-controls/test/content-editable-control.tsx +71 -0
  985. package/src/view/README.md +0 -6
  986. package/src/view/component.tsx +17 -8
  987. package/src/view/test/__snapshots__/index.js.snap +24 -16
  988. package/src/view/test/index.js +60 -4
  989. package/src/visually-hidden/stories/index.story.tsx +1 -1
  990. package/build/flex/styles.cjs +0 -82
  991. package/build/flex/styles.cjs.map +0 -7
  992. package/build/surface/styles.cjs +0 -97
  993. package/build/surface/styles.cjs.map +0 -7
  994. package/build/theme/styles.cjs +0 -66
  995. package/build/theme/styles.cjs.map +0 -7
  996. package/build/truncate/styles.cjs +0 -42
  997. package/build/truncate/styles.cjs.map +0 -7
  998. package/build/utils/deprecated-36px-size.cjs +0 -56
  999. package/build/utils/deprecated-36px-size.cjs.map +0 -7
  1000. package/build-module/flex/styles.mjs +0 -53
  1001. package/build-module/flex/styles.mjs.map +0 -7
  1002. package/build-module/surface/styles.mjs +0 -64
  1003. package/build-module/surface/styles.mjs.map +0 -7
  1004. package/build-module/theme/styles.mjs +0 -30
  1005. package/build-module/theme/styles.mjs.map +0 -7
  1006. package/build-module/truncate/styles.mjs +0 -17
  1007. package/build-module/truncate/styles.mjs.map +0 -7
  1008. package/build-module/utils/deprecated-36px-size.mjs +0 -21
  1009. package/build-module/utils/deprecated-36px-size.mjs.map +0 -7
  1010. package/build-types/flex/styles.d.ts +0 -17
  1011. package/build-types/flex/styles.d.ts.map +0 -1
  1012. package/build-types/surface/styles.d.ts +0 -11
  1013. package/build-types/surface/styles.d.ts.map +0 -1
  1014. package/build-types/theme/styles.d.ts +0 -10
  1015. package/build-types/theme/styles.d.ts.map +0 -1
  1016. package/build-types/truncate/styles.d.ts +0 -2
  1017. package/build-types/truncate/styles.d.ts.map +0 -1
  1018. package/build-types/utils/deprecated-36px-size.d.ts +0 -7
  1019. package/build-types/utils/deprecated-36px-size.d.ts.map +0 -1
  1020. package/src/flex/styles.ts +0 -44
  1021. package/src/focal-point-picker/style.scss +0 -58
  1022. package/src/surface/styles.ts +0 -139
  1023. package/src/surface/test/__snapshots__/index.tsx.snap +0 -104
  1024. package/src/theme/styles.ts +0 -35
  1025. package/src/truncate/styles.ts +0 -11
  1026. package/src/utils/deprecated-36px-size.ts +0 -30
@@ -0,0 +1,231 @@
1
+ import styled from '@emotion/styled';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { renderToString } from 'react-dom/server';
4
+
5
+ import { createElement, createRef } from '@wordpress/element';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { PolymorphicElement } from '../polymorphic-element';
11
+
12
+ const StyledDiv = styled.div``;
13
+
14
+ const components = [
15
+ {
16
+ name: 'PolymorphicElement',
17
+ Component: PolymorphicElement,
18
+ },
19
+ {
20
+ name: 'styled.div',
21
+ Component: StyledDiv,
22
+ },
23
+ ] as const;
24
+
25
+ describe.each( components )( '$name', ( { Component: RawComponent } ) => {
26
+ const Component = RawComponent as typeof PolymorphicElement;
27
+
28
+ it( 'filters invalid props from intrinsic elements', () => {
29
+ render(
30
+ createElement( Component, {
31
+ as: 'label',
32
+ 'data-testid': 'label',
33
+ htmlFor: 'field',
34
+ labelPosition: 'top',
35
+ } as Parameters< typeof Component >[ 0 ] & {
36
+ labelPosition: string;
37
+ } )
38
+ );
39
+
40
+ const label = screen.getByTestId( 'label' );
41
+
42
+ expect( label ).toHaveAttribute( 'for', 'field' );
43
+ expect( label ).not.toHaveAttribute( 'labelPosition' );
44
+ expect( label ).not.toHaveAttribute( 'labelposition' );
45
+ } );
46
+
47
+ it( 'preserves standard props for intrinsic elements', () => {
48
+ render(
49
+ <Component
50
+ aria-label="Notice"
51
+ className="custom-class"
52
+ data-testid="notice"
53
+ style={ { color: 'red' } }
54
+ title="Notice title"
55
+ />
56
+ );
57
+
58
+ const element = screen.getByTestId( 'notice' );
59
+
60
+ expect( element ).toHaveAttribute( 'aria-label', 'Notice' );
61
+ expect( element ).toHaveAttribute( 'title', 'Notice title' );
62
+ expect( element ).toHaveClass( 'custom-class' );
63
+ expect( element ).toHaveStyle( { color: 'rgb(255, 0, 0)' } );
64
+ } );
65
+
66
+ it( 'preserves standard props without relying on the DOM', () => {
67
+ const view = renderToString(
68
+ createElement( Component, {
69
+ as: 'form',
70
+ acceptCharset: 'utf-8',
71
+ } as Parameters< typeof Component >[ 0 ] & {
72
+ acceptCharset: string;
73
+ } )
74
+ );
75
+
76
+ expect( view ).toContain( 'accept-charset="utf-8"' );
77
+ } );
78
+
79
+ it( 'preserves SVG props for SVG intrinsic elements', () => {
80
+ render(
81
+ <Component
82
+ as="svg"
83
+ data-testid="svg"
84
+ fill="currentColor"
85
+ preserveAspectRatio="xMidYMid meet"
86
+ stroke="none"
87
+ strokeWidth={ 2 }
88
+ viewBox="0 0 24 24"
89
+ />
90
+ );
91
+
92
+ const svg = screen.getByTestId( 'svg' );
93
+
94
+ expect( svg ).toHaveAttribute( 'fill', 'currentColor' );
95
+ expect( svg ).toHaveAttribute( 'preserveAspectRatio', 'xMidYMid meet' );
96
+ expect( svg ).toHaveAttribute( 'stroke', 'none' );
97
+ expect( svg ).toHaveAttribute( 'stroke-width', '2' );
98
+ expect( svg ).toHaveAttribute( 'viewBox', '0 0 24 24' );
99
+ } );
100
+
101
+ it( 'preserves SVG props without relying on the DOM', () => {
102
+ const view = renderToString(
103
+ <Component
104
+ as="svg"
105
+ fill="currentColor"
106
+ strokeWidth={ 2 }
107
+ viewBox="0 0 24 24"
108
+ />
109
+ );
110
+
111
+ expect( view ).toContain( 'fill="currentColor"' );
112
+ expect( view ).toContain( 'stroke-width="2"' );
113
+ expect( view ).toContain( 'viewBox="0 0 24 24"' );
114
+ } );
115
+
116
+ it( 'preserves SVG props for non-SVG-root intrinsic elements', () => {
117
+ render(
118
+ <svg>
119
+ <Component
120
+ as="path"
121
+ d="M0 0h24v24H0z"
122
+ data-testid="path"
123
+ fillRule="evenodd"
124
+ clipPath="url(#clip)"
125
+ />
126
+ </svg>
127
+ );
128
+
129
+ const path = screen.getByTestId( 'path' );
130
+
131
+ expect( path ).toHaveAttribute( 'clip-path', 'url(#clip)' );
132
+ expect( path ).toHaveAttribute( 'd', 'M0 0h24v24H0z' );
133
+ expect( path ).toHaveAttribute( 'fill-rule', 'evenodd' );
134
+ } );
135
+
136
+ it( 'filters invalid props from SVG intrinsic elements', () => {
137
+ render(
138
+ createElement( Component, {
139
+ as: 'svg',
140
+ 'data-testid': 'svg',
141
+ labelPosition: 'top',
142
+ viewBox: '0 0 24 24',
143
+ } as Parameters< typeof Component >[ 0 ] & {
144
+ labelPosition: string;
145
+ } )
146
+ );
147
+
148
+ const svg = screen.getByTestId( 'svg' );
149
+
150
+ expect( svg ).toHaveAttribute( 'viewBox', '0 0 24 24' );
151
+ expect( svg ).not.toHaveAttribute( 'labelPosition' );
152
+ expect( svg ).not.toHaveAttribute( 'labelposition' );
153
+ } );
154
+
155
+ it( 'passes custom props through to custom components', () => {
156
+ function CustomComponent( {
157
+ variant,
158
+ ...props
159
+ }: JSX.IntrinsicElements[ 'section' ] & {
160
+ variant: string;
161
+ } ) {
162
+ return <section data-variant={ variant } { ...props } />;
163
+ }
164
+
165
+ render(
166
+ <Component
167
+ as={ CustomComponent }
168
+ data-testid="custom"
169
+ variant="primary"
170
+ />
171
+ );
172
+
173
+ expect( screen.getByTestId( 'custom' ) ).toHaveAttribute(
174
+ 'data-variant',
175
+ 'primary'
176
+ );
177
+ } );
178
+
179
+ it( 'forwards refs to the rendered element', () => {
180
+ const ref = createRef< HTMLButtonElement >();
181
+
182
+ render(
183
+ <Component
184
+ as="button"
185
+ data-testid="button"
186
+ ref={ ref }
187
+ type="button"
188
+ />
189
+ );
190
+
191
+ expect( ref.current ).toBe( screen.getByTestId( 'button' ) );
192
+ } );
193
+ } );
194
+
195
+ describe( 'PolymorphicElement prop filtering', () => {
196
+ it( 'filters invalid on-prefixed props from intrinsic elements', () => {
197
+ render(
198
+ createElement( PolymorphicElement, {
199
+ 'data-testid': 'element',
200
+ on1: 'invalid',
201
+ 'on-foo': 'invalid',
202
+ } as Parameters< typeof PolymorphicElement >[ 0 ] & {
203
+ on1: string;
204
+ 'on-foo': string;
205
+ } )
206
+ );
207
+
208
+ const element = screen.getByTestId( 'element' );
209
+
210
+ expect( element ).not.toHaveAttribute( 'on1' );
211
+ expect( element ).not.toHaveAttribute( 'on-foo' );
212
+ } );
213
+
214
+ it( 'filters SVG-only props from HTML intrinsic elements', () => {
215
+ render(
216
+ createElement( PolymorphicElement, {
217
+ 'data-testid': 'element',
218
+ fill: 'currentColor',
219
+ strokeWidth: 2,
220
+ } as Parameters< typeof PolymorphicElement >[ 0 ] & {
221
+ fill: string;
222
+ strokeWidth: number;
223
+ } )
224
+ );
225
+
226
+ const element = screen.getByTestId( 'element' );
227
+
228
+ expect( element ).not.toHaveAttribute( 'fill' );
229
+ expect( element ).not.toHaveAttribute( 'stroke-width' );
230
+ } );
231
+ } );
@@ -45,7 +45,7 @@ const meta: Meta< typeof VStack > = {
45
45
  componentStatus: {
46
46
  status: 'not-recommended',
47
47
  whereUsed: 'global',
48
- notes: 'Use `Stack` from `@wordpress/ui` instead.',
48
+ notes: 'Use [`Stack`](?path=/docs/design-system-components-stack--docs) from `@wordpress/ui` instead.',
49
49
  },
50
50
  },
51
51
  };
@@ -1,121 +1,43 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`props should render alignment 1`] = `
4
- .emotion-0 {
5
- display: -webkit-box;
6
- display: -webkit-flex;
7
- display: -ms-flexbox;
8
- display: flex;
9
- -webkit-align-items: center;
10
- -webkit-box-align: center;
11
- -ms-flex-align: center;
12
- align-items: center;
13
- -webkit-flex-direction: column;
14
- -ms-flex-direction: column;
15
- flex-direction: column;
16
- gap: calc(4px * 2);
17
- -webkit-box-pack: center;
18
- -ms-flex-pack: center;
19
- -webkit-justify-content: center;
20
- justify-content: center;
21
- }
22
-
23
- .emotion-0>* {
24
- min-height: 0;
25
- }
26
-
27
4
  <div>
28
5
  <div
29
- class="components-flex components-h-stack components-v-stack emotion-0 emotion-1"
6
+ class="style-flex style-items-column components-flex components-h-stack components-v-stack"
30
7
  data-wp-c16t="true"
31
8
  data-wp-component="VStack"
9
+ style="--wp-components-flex-align: center; --wp-components-flex-direction: column; --wp-components-flex-wrap: nowrap; --wp-components-flex-gap: calc(4px * 2); --wp-components-flex-justify: center;"
32
10
  >
33
- <div
34
- class="emotion-2 emotion-1"
35
- />
36
- <div
37
- class="emotion-2 emotion-1"
38
- />
11
+ <div />
12
+ <div />
39
13
  </div>
40
14
  </div>
41
15
  `;
42
16
 
43
17
  exports[`props should render correctly 1`] = `
44
- .emotion-0 {
45
- display: -webkit-box;
46
- display: -webkit-flex;
47
- display: -ms-flexbox;
48
- display: flex;
49
- -webkit-align-items: stretch;
50
- -webkit-box-align: stretch;
51
- -ms-flex-align: stretch;
52
- align-items: stretch;
53
- -webkit-flex-direction: column;
54
- -ms-flex-direction: column;
55
- flex-direction: column;
56
- gap: calc(4px * 2);
57
- -webkit-box-pack: center;
58
- -ms-flex-pack: center;
59
- -webkit-justify-content: center;
60
- justify-content: center;
61
- }
62
-
63
- .emotion-0>* {
64
- min-height: 0;
65
- }
66
-
67
18
  <div>
68
19
  <div
69
- class="components-flex components-h-stack components-v-stack emotion-0 emotion-1"
20
+ class="style-flex style-items-column components-flex components-h-stack components-v-stack"
70
21
  data-wp-c16t="true"
71
22
  data-wp-component="VStack"
23
+ style="--wp-components-flex-align: stretch; --wp-components-flex-direction: column; --wp-components-flex-wrap: nowrap; --wp-components-flex-gap: calc(4px * 2); --wp-components-flex-justify: center;"
72
24
  >
73
- <div
74
- class="emotion-2 emotion-1"
75
- />
76
- <div
77
- class="emotion-2 emotion-1"
78
- />
25
+ <div />
26
+ <div />
79
27
  </div>
80
28
  </div>
81
29
  `;
82
30
 
83
31
  exports[`props should render spacing 1`] = `
84
- .emotion-0 {
85
- display: -webkit-box;
86
- display: -webkit-flex;
87
- display: -ms-flexbox;
88
- display: flex;
89
- -webkit-align-items: stretch;
90
- -webkit-box-align: stretch;
91
- -ms-flex-align: stretch;
92
- align-items: stretch;
93
- -webkit-flex-direction: column;
94
- -ms-flex-direction: column;
95
- flex-direction: column;
96
- gap: calc(4px * 5);
97
- -webkit-box-pack: center;
98
- -ms-flex-pack: center;
99
- -webkit-justify-content: center;
100
- justify-content: center;
101
- }
102
-
103
- .emotion-0>* {
104
- min-height: 0;
105
- }
106
-
107
32
  <div>
108
33
  <div
109
- class="components-flex components-h-stack components-v-stack emotion-0 emotion-1"
34
+ class="style-flex style-items-column components-flex components-h-stack components-v-stack"
110
35
  data-wp-c16t="true"
111
36
  data-wp-component="VStack"
37
+ style="--wp-components-flex-align: stretch; --wp-components-flex-direction: column; --wp-components-flex-wrap: nowrap; --wp-components-flex-gap: calc(4px * 5); --wp-components-flex-justify: center;"
112
38
  >
113
- <div
114
- class="emotion-2 emotion-1"
115
- />
116
- <div
117
- class="emotion-2 emotion-1"
118
- />
39
+ <div />
40
+ <div />
119
41
  </div>
120
42
  </div>
121
43
  `;
@@ -52,7 +52,7 @@ const UnforwardedValidatedComboboxControl = (
52
52
  )
53
53
  }
54
54
  >
55
- <ComboboxControl __next40pxDefaultSize { ...restProps } />
55
+ <ComboboxControl { ...restProps } />
56
56
  </ControlWithError>
57
57
  );
58
58
  };
@@ -0,0 +1,88 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import clsx from 'clsx';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { forwardRef, useRef } from '@wordpress/element';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import { ControlWithError } from '../control-with-error';
15
+ import type { ValidatedControlProps } from './types';
16
+ import ContentEditableControl from '../../content-editable-control';
17
+
18
+ /**
19
+ * A `contentEditable` field does not participate in the Constraint Validation
20
+ * API, so — like `ValidatedToggleGroupControl` — the validity state lives on a
21
+ * visually hidden delegate input that mirrors whether the field has content.
22
+ */
23
+ const UnforwardedValidatedContentEditableControl = (
24
+ {
25
+ required,
26
+ customValidity,
27
+ markWhenOptional,
28
+ value,
29
+ className,
30
+ ...restProps
31
+ }: React.ComponentProps< typeof ContentEditableControl > &
32
+ ValidatedControlProps & {
33
+ /**
34
+ * The field's current value as plain text, used only to drive the
35
+ * hidden validity delegate (e.g. `required`). The visible content
36
+ * is managed by the consumer through the forwarded ref, and any
37
+ * markup-to-text transformation is the consumer's responsibility.
38
+ */
39
+ value?: string;
40
+ },
41
+ forwardedRef: React.ForwardedRef< HTMLDivElement >
42
+ ) => {
43
+ const validityTargetRef = useRef< HTMLInputElement >( null );
44
+
45
+ return (
46
+ <div className="components-validated-control__wrapper-with-error-delegate">
47
+ <ControlWithError
48
+ required={ required }
49
+ markWhenOptional={ markWhenOptional }
50
+ customValidity={ customValidity }
51
+ getValidityTarget={ () => validityTargetRef.current }
52
+ >
53
+ <ContentEditableControl
54
+ ref={ forwardedRef }
55
+ className={ clsx(
56
+ 'components-validated-control__content-editable',
57
+ className
58
+ ) }
59
+ aria-invalid={
60
+ customValidity?.type === 'invalid' || undefined
61
+ }
62
+ { ...restProps }
63
+ />
64
+ </ControlWithError>
65
+ <input
66
+ className="components-validated-control__error-delegate"
67
+ type="text"
68
+ ref={ validityTargetRef }
69
+ required={ required }
70
+ // Whitespace-only content reads as empty, matching how a
71
+ // text-oriented form field is expected to validate `required`.
72
+ value={ value?.trim() ?? '' }
73
+ tabIndex={ -1 }
74
+ onChange={ () => {} }
75
+ onFocus={ ( e ) => {
76
+ e.target.previousElementSibling
77
+ ?.querySelector< HTMLElement >( '[role="textbox"]' )
78
+ ?.focus();
79
+ } }
80
+ />
81
+ </div>
82
+ );
83
+ };
84
+
85
+ export const ValidatedContentEditableControl = forwardRef(
86
+ UnforwardedValidatedContentEditableControl
87
+ );
88
+ ValidatedContentEditableControl.displayName = 'ValidatedContentEditableControl';
@@ -16,10 +16,7 @@ const UnforwardedValidatedCustomSelectControl = (
16
16
  customValidity,
17
17
  markWhenOptional,
18
18
  ...restProps
19
- }: Omit<
20
- React.ComponentProps< typeof CustomSelectControl >,
21
- '__next40pxDefaultSize'
22
- > &
19
+ }: React.ComponentProps< typeof CustomSelectControl > &
23
20
  ValidatedControlProps,
24
21
  forwardedRef: React.ForwardedRef< HTMLDivElement >
25
22
  ) => {
@@ -39,7 +36,6 @@ const UnforwardedValidatedCustomSelectControl = (
39
36
  <CustomSelectControl
40
37
  // TODO: Upstream limitation - Required isn't passed down correctly,
41
38
  // so it needs to be set on a delegate element.
42
- __next40pxDefaultSize
43
39
  { ...restProps }
44
40
  />
45
41
  </ControlWithError>
@@ -16,11 +16,7 @@ const UnforwardedValidatedFormTokenField = (
16
16
  customValidity,
17
17
  markWhenOptional,
18
18
  ...restProps
19
- }: Omit<
20
- React.ComponentProps< typeof FormTokenField >,
21
- '__next40pxDefaultSize'
22
- > &
23
- ValidatedControlProps,
19
+ }: React.ComponentProps< typeof FormTokenField > & ValidatedControlProps,
24
20
  forwardedRef: React.ForwardedRef< HTMLDivElement >
25
21
  ) => {
26
22
  const validityTargetRef = useRef< HTMLInputElement >( null );
@@ -36,7 +32,7 @@ const UnforwardedValidatedFormTokenField = (
36
32
  customValidity={ customValidity }
37
33
  getValidityTarget={ () => validityTargetRef.current }
38
34
  >
39
- <FormTokenField __next40pxDefaultSize { ...restProps } />
35
+ <FormTokenField { ...restProps } />
40
36
  </ControlWithError>
41
37
  <input
42
38
  className="components-validated-control__error-delegate"
@@ -6,6 +6,7 @@ export * from './input-control';
6
6
  export * from './number-control';
7
7
  export * from './radio-control';
8
8
  export * from './range-control';
9
+ export * from './content-editable-control';
9
10
  export * from './select-control';
10
11
  export * from './text-control';
11
12
  export * from './textarea-control';
@@ -17,11 +17,7 @@ const UnforwardedValidatedInputControl = (
17
17
  customValidity,
18
18
  markWhenOptional,
19
19
  ...restProps
20
- }: Omit<
21
- React.ComponentProps< typeof InputControl >,
22
- '__next40pxDefaultSize'
23
- > &
24
- ValidatedControlProps,
20
+ }: React.ComponentProps< typeof InputControl > & ValidatedControlProps,
25
21
  forwardedRef: React.ForwardedRef< HTMLInputElement >
26
22
  ) => {
27
23
  const validityTargetRef = useRef< HTMLInputElement >( null );
@@ -34,11 +30,7 @@ const UnforwardedValidatedInputControl = (
34
30
  customValidity={ customValidity }
35
31
  getValidityTarget={ () => validityTargetRef.current }
36
32
  >
37
- <InputControl
38
- __next40pxDefaultSize
39
- ref={ mergedRefs }
40
- { ...restProps }
41
- />
33
+ <InputControl ref={ mergedRefs } { ...restProps } />
42
34
  </ControlWithError>
43
35
  );
44
36
  };
@@ -17,11 +17,7 @@ const UnforwardedValidatedNumberControl = (
17
17
  customValidity,
18
18
  markWhenOptional,
19
19
  ...restProps
20
- }: Omit<
21
- React.ComponentProps< typeof NumberControl >,
22
- '__next40pxDefaultSize'
23
- > &
24
- ValidatedControlProps,
20
+ }: React.ComponentProps< typeof NumberControl > & ValidatedControlProps,
25
21
  forwardedRef: React.ForwardedRef< HTMLInputElement >
26
22
  ) => {
27
23
  const validityTargetRef = useRef< HTMLInputElement >( null );
@@ -34,11 +30,7 @@ const UnforwardedValidatedNumberControl = (
34
30
  customValidity={ customValidity }
35
31
  getValidityTarget={ () => validityTargetRef.current }
36
32
  >
37
- <NumberControl
38
- __next40pxDefaultSize
39
- ref={ mergedRefs }
40
- { ...restProps }
41
- />
33
+ <NumberControl ref={ mergedRefs } { ...restProps } />
42
34
  </ControlWithError>
43
35
  );
44
36
  };
@@ -17,11 +17,7 @@ const UnforwardedValidatedRangeControl = (
17
17
  customValidity,
18
18
  markWhenOptional,
19
19
  ...restProps
20
- }: Omit<
21
- React.ComponentProps< typeof RangeControl >,
22
- '__next40pxDefaultSize'
23
- > &
24
- ValidatedControlProps,
20
+ }: React.ComponentProps< typeof RangeControl > & ValidatedControlProps,
25
21
  forwardedRef: React.ForwardedRef< HTMLInputElement >
26
22
  ) => {
27
23
  const validityTargetRef = useRef< HTMLInputElement >( null );
@@ -34,11 +30,7 @@ const UnforwardedValidatedRangeControl = (
34
30
  customValidity={ customValidity }
35
31
  getValidityTarget={ () => validityTargetRef.current }
36
32
  >
37
- <RangeControl
38
- __next40pxDefaultSize
39
- ref={ mergedRefs }
40
- { ...restProps }
41
- />
33
+ <RangeControl ref={ mergedRefs } { ...restProps } />
42
34
  </ControlWithError>
43
35
  );
44
36
  };
@@ -19,7 +19,7 @@ const UnforwardedValidatedSelectControl = (
19
19
  ...restProps
20
20
  }: Omit<
21
21
  React.ComponentProps< typeof SelectControl >,
22
- '__next40pxDefaultSize' | 'multiple' | 'onChange' | 'value'
22
+ 'multiple' | 'onChange' | 'value'
23
23
  > & {
24
24
  value?: string;
25
25
  onChange: ( value: string ) => void;
@@ -36,11 +36,7 @@ const UnforwardedValidatedSelectControl = (
36
36
  customValidity={ customValidity }
37
37
  getValidityTarget={ () => validityTargetRef.current }
38
38
  >
39
- <SelectControl
40
- __next40pxDefaultSize
41
- ref={ mergedRefs }
42
- { ...restProps }
43
- />
39
+ <SelectControl ref={ mergedRefs } { ...restProps } />
44
40
  </ControlWithError>
45
41
  );
46
42
  };
@@ -0,0 +1,56 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useState } from '@wordpress/element';
5
+
6
+ /**
7
+ * External dependencies
8
+ */
9
+ import type { StoryObj, Meta } from '@storybook/react-vite';
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { formDecorator } from './story-utils';
14
+ import { ValidatedContentEditableControl } from '../content-editable-control';
15
+
16
+ const meta: Meta< typeof ValidatedContentEditableControl > = {
17
+ title: 'Components/Selection & Input/Validated Form Controls/ValidatedContentEditableControl',
18
+ id: 'components-validatedcontenteditablecontrol',
19
+ component: ValidatedContentEditableControl,
20
+ tags: [ 'status-private' ],
21
+ decorators: formDecorator,
22
+ argTypes: { value: { control: false } },
23
+ };
24
+ export default meta;
25
+
26
+ export const Default: StoryObj< typeof ValidatedContentEditableControl > = {
27
+ render: function Template( args ) {
28
+ // The control is presentational: the editable manages its own
29
+ // contents, and the consumer mirrors the plain text into `value`
30
+ // for the validity delegate.
31
+ const [ value, setValue ] = useState( '' );
32
+
33
+ return (
34
+ <ValidatedContentEditableControl
35
+ { ...args }
36
+ value={ value }
37
+ onInput={ ( e ) =>
38
+ setValue( e.currentTarget.textContent ?? '' )
39
+ }
40
+ customValidity={
41
+ value.toLowerCase().includes( 'error' )
42
+ ? {
43
+ type: 'invalid',
44
+ message: 'The word "error" is not allowed.',
45
+ }
46
+ : undefined
47
+ }
48
+ />
49
+ );
50
+ },
51
+ };
52
+ Default.args = {
53
+ required: true,
54
+ label: 'Content',
55
+ help: 'The word "error" will trigger an error.',
56
+ };