@wordpress/components 37.0.1-next.v.202607070741.0 → 38.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 (786) hide show
  1. package/AGENTS.md +2 -2
  2. package/CHANGELOG.md +65 -1
  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 +6 -4
  6. package/build/autocomplete/index.cjs.map +3 -3
  7. package/build/border-box-control/styles.cjs +9 -9
  8. package/build/border-box-control/styles.cjs.map +2 -2
  9. package/build/color-palette/styles.cjs +1 -1
  10. package/build/color-palette/styles.cjs.map +2 -2
  11. package/build/color-picker/component.cjs +14 -5
  12. package/build/color-picker/component.cjs.map +2 -2
  13. package/build/color-picker/hex-input.cjs +0 -1
  14. package/build/color-picker/hex-input.cjs.map +2 -2
  15. package/build/color-picker/input-with-slider.cjs +0 -1
  16. package/build/color-picker/input-with-slider.cjs.map +2 -2
  17. package/build/color-picker/picker.cjs +95 -23
  18. package/build/color-picker/picker.cjs.map +2 -2
  19. package/build/confirm-dialog/component.cjs +86 -4
  20. package/build/confirm-dialog/component.cjs.map +3 -3
  21. package/build/content-editable-control/docs-manifest.json +5 -0
  22. package/build/content-editable-control/index.cjs +181 -0
  23. package/build/content-editable-control/index.cjs.map +7 -0
  24. package/build/{theme → content-editable-control}/types.cjs +1 -1
  25. package/build/{theme → content-editable-control}/types.cjs.map +1 -1
  26. package/build/custom-select-control/index.cjs +1 -2
  27. package/build/custom-select-control/index.cjs.map +2 -2
  28. package/build/custom-select-control-v2/custom-select.cjs +0 -1
  29. package/build/custom-select-control-v2/custom-select.cjs.map +2 -2
  30. package/build/date-time/date-picker/styles.cjs +8 -8
  31. package/build/date-time/date-picker/styles.cjs.map +2 -2
  32. package/build/date-time/time-picker/index.cjs +0 -2
  33. package/build/date-time/time-picker/index.cjs.map +2 -2
  34. package/build/date-time/time-picker/time-input/index.cjs +0 -2
  35. package/build/date-time/time-picker/time-input/index.cjs.map +2 -2
  36. package/build/disabled/index.cjs +87 -4
  37. package/build/disabled/index.cjs.map +4 -4
  38. package/build/form-token-field/index.cjs +87 -2
  39. package/build/form-token-field/index.cjs.map +3 -3
  40. package/build/gradient-picker/index.cjs +26 -20
  41. package/build/gradient-picker/index.cjs.map +2 -2
  42. package/build/heading/hook.cjs +1 -1
  43. package/build/heading/hook.cjs.map +1 -1
  44. package/build/input-control/index.cjs +4 -14
  45. package/build/input-control/index.cjs.map +2 -2
  46. package/build/input-control/input-base.cjs +2 -6
  47. package/build/input-control/input-base.cjs.map +2 -2
  48. package/build/input-control/styles/input-control-styles.cjs +25 -39
  49. package/build/input-control/styles/input-control-styles.cjs.map +2 -2
  50. package/build/menu/group-label.cjs +2 -1
  51. package/build/menu/group-label.cjs.map +2 -2
  52. package/build/number-control/index.cjs +1 -11
  53. package/build/number-control/index.cjs.map +2 -2
  54. package/build/palette-edit/styles.cjs +9 -9
  55. package/build/palette-edit/styles.cjs.map +2 -2
  56. package/build/private-apis.cjs +3 -2
  57. package/build/private-apis.cjs.map +3 -3
  58. package/build/range-control/index.cjs +0 -2
  59. package/build/range-control/index.cjs.map +2 -2
  60. package/build/sandbox/index.cjs +96 -73
  61. package/build/sandbox/index.cjs.map +3 -3
  62. package/build/search-control/index.cjs +93 -11
  63. package/build/search-control/index.cjs.map +4 -4
  64. package/build/select-control/index.cjs +0 -2
  65. package/build/select-control/index.cjs.map +2 -2
  66. package/build/select-control/styles/select-control-styles.cjs +9 -16
  67. package/build/select-control/styles/select-control-styles.cjs.map +2 -2
  68. package/build/slot-fill/fill.cjs.map +2 -2
  69. package/build/spacer/hook.cjs +150 -14
  70. package/build/spacer/hook.cjs.map +4 -4
  71. package/build/toggle-group-control/toggle-group-control/component.cjs +91 -8
  72. package/build/toggle-group-control/toggle-group-control/component.cjs.map +4 -4
  73. package/build/toggle-group-control/toggle-group-control-option-base/component.cjs +98 -17
  74. package/build/toggle-group-control/toggle-group-control-option-base/component.cjs.map +4 -4
  75. package/build/tools-panel/tools-panel/component.cjs +6 -0
  76. package/build/tools-panel/tools-panel/component.cjs.map +2 -2
  77. package/build/tools-panel/tools-panel/hook.cjs +87 -11
  78. package/build/tools-panel/tools-panel/hook.cjs.map +4 -4
  79. package/build/tools-panel/tools-panel-header/component.cjs +87 -2
  80. package/build/tools-panel/tools-panel-header/component.cjs.map +3 -3
  81. package/build/tools-panel/tools-panel-header/hook.cjs +90 -20
  82. package/build/tools-panel/tools-panel-header/hook.cjs.map +4 -4
  83. package/build/tools-panel/tools-panel-item/hook.cjs +88 -9
  84. package/build/tools-panel/tools-panel-item/hook.cjs.map +4 -4
  85. package/build/unit-control/index.cjs +0 -1
  86. package/build/unit-control/index.cjs.map +2 -2
  87. package/build/utils/base-label.cjs +1 -1
  88. package/build/utils/base-label.cjs.map +2 -2
  89. package/build/utils/config-values.cjs +1 -3
  90. package/build/utils/config-values.cjs.map +2 -2
  91. package/build/utils/font-values.cjs +1 -1
  92. package/build/utils/font-values.cjs.map +1 -1
  93. package/build/validated-form-controls/components/content-editable-control.cjs +84 -0
  94. package/build/validated-form-controls/components/content-editable-control.cjs.map +7 -0
  95. package/build/validated-form-controls/components/index.cjs +2 -0
  96. package/build/validated-form-controls/components/index.cjs.map +2 -2
  97. package/build/validated-form-controls/components/input-control.cjs +0 -1
  98. package/build/validated-form-controls/components/input-control.cjs.map +2 -2
  99. package/build/validated-form-controls/components/number-control.cjs +0 -1
  100. package/build/validated-form-controls/components/number-control.cjs.map +2 -2
  101. package/build/validated-form-controls/control-with-error.cjs +4 -4
  102. package/build/validated-form-controls/control-with-error.cjs.map +2 -2
  103. package/build-module/angle-picker-control/index.mjs +0 -1
  104. package/build-module/angle-picker-control/index.mjs.map +2 -2
  105. package/build-module/autocomplete/index.mjs +8 -6
  106. package/build-module/autocomplete/index.mjs.map +2 -2
  107. package/build-module/border-box-control/styles.mjs +9 -9
  108. package/build-module/border-box-control/styles.mjs.map +2 -2
  109. package/build-module/color-palette/styles.mjs +1 -1
  110. package/build-module/color-palette/styles.mjs.map +2 -2
  111. package/build-module/color-picker/component.mjs +14 -5
  112. package/build-module/color-picker/component.mjs.map +2 -2
  113. package/build-module/color-picker/hex-input.mjs +0 -1
  114. package/build-module/color-picker/hex-input.mjs.map +2 -2
  115. package/build-module/color-picker/input-with-slider.mjs +0 -1
  116. package/build-module/color-picker/input-with-slider.mjs.map +2 -2
  117. package/build-module/color-picker/picker.mjs +96 -24
  118. package/build-module/color-picker/picker.mjs.map +2 -2
  119. package/build-module/confirm-dialog/component.mjs +86 -4
  120. package/build-module/confirm-dialog/component.mjs.map +3 -3
  121. package/build-module/content-editable-control/docs-manifest.json +5 -0
  122. package/build-module/content-editable-control/index.mjs +146 -0
  123. package/build-module/content-editable-control/index.mjs.map +7 -0
  124. package/build-module/custom-select-control/index.mjs +1 -2
  125. package/build-module/custom-select-control/index.mjs.map +2 -2
  126. package/build-module/custom-select-control-v2/custom-select.mjs +0 -1
  127. package/build-module/custom-select-control-v2/custom-select.mjs.map +2 -2
  128. package/build-module/date-time/date-picker/styles.mjs +8 -8
  129. package/build-module/date-time/date-picker/styles.mjs.map +2 -2
  130. package/build-module/date-time/time-picker/index.mjs +0 -2
  131. package/build-module/date-time/time-picker/index.mjs.map +2 -2
  132. package/build-module/date-time/time-picker/time-input/index.mjs +0 -2
  133. package/build-module/date-time/time-picker/time-input/index.mjs.map +2 -2
  134. package/build-module/disabled/index.mjs +87 -4
  135. package/build-module/disabled/index.mjs.map +3 -3
  136. package/build-module/form-token-field/index.mjs +88 -3
  137. package/build-module/form-token-field/index.mjs.map +3 -3
  138. package/build-module/gradient-picker/index.mjs +26 -20
  139. package/build-module/gradient-picker/index.mjs.map +2 -2
  140. package/build-module/heading/hook.mjs +1 -1
  141. package/build-module/heading/hook.mjs.map +1 -1
  142. package/build-module/input-control/index.mjs +4 -14
  143. package/build-module/input-control/index.mjs.map +2 -2
  144. package/build-module/input-control/input-base.mjs +2 -6
  145. package/build-module/input-control/input-base.mjs.map +2 -2
  146. package/build-module/input-control/styles/input-control-styles.mjs +25 -39
  147. package/build-module/input-control/styles/input-control-styles.mjs.map +2 -2
  148. package/build-module/menu/group-label.mjs +2 -1
  149. package/build-module/menu/group-label.mjs.map +2 -2
  150. package/build-module/number-control/index.mjs +1 -11
  151. package/build-module/number-control/index.mjs.map +2 -2
  152. package/build-module/palette-edit/styles.mjs +9 -9
  153. package/build-module/palette-edit/styles.mjs.map +2 -2
  154. package/build-module/private-apis.mjs +4 -3
  155. package/build-module/private-apis.mjs.map +2 -2
  156. package/build-module/range-control/index.mjs +0 -2
  157. package/build-module/range-control/index.mjs.map +2 -2
  158. package/build-module/sandbox/index.mjs +84 -72
  159. package/build-module/sandbox/index.mjs.map +2 -2
  160. package/build-module/search-control/index.mjs +93 -11
  161. package/build-module/search-control/index.mjs.map +3 -3
  162. package/build-module/select-control/index.mjs +0 -2
  163. package/build-module/select-control/index.mjs.map +2 -2
  164. package/build-module/select-control/styles/select-control-styles.mjs +9 -16
  165. package/build-module/select-control/styles/select-control-styles.mjs.map +2 -2
  166. package/build-module/slot-fill/fill.mjs.map +2 -2
  167. package/build-module/spacer/hook.mjs +140 -14
  168. package/build-module/spacer/hook.mjs.map +3 -3
  169. package/build-module/toggle-group-control/toggle-group-control/component.mjs +92 -9
  170. package/build-module/toggle-group-control/toggle-group-control/component.mjs.map +3 -3
  171. package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs +99 -18
  172. package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs.map +3 -3
  173. package/build-module/tools-panel/tools-panel/component.mjs +6 -0
  174. package/build-module/tools-panel/tools-panel/component.mjs.map +2 -2
  175. package/build-module/tools-panel/tools-panel/hook.mjs +87 -11
  176. package/build-module/tools-panel/tools-panel/hook.mjs.map +3 -3
  177. package/build-module/tools-panel/tools-panel-header/component.mjs +87 -2
  178. package/build-module/tools-panel/tools-panel-header/component.mjs.map +3 -3
  179. package/build-module/tools-panel/tools-panel-header/hook.mjs +90 -20
  180. package/build-module/tools-panel/tools-panel-header/hook.mjs.map +3 -3
  181. package/build-module/tools-panel/tools-panel-item/hook.mjs +89 -10
  182. package/build-module/tools-panel/tools-panel-item/hook.mjs.map +3 -3
  183. package/build-module/unit-control/index.mjs +0 -1
  184. package/build-module/unit-control/index.mjs.map +2 -2
  185. package/build-module/utils/base-label.mjs +1 -1
  186. package/build-module/utils/base-label.mjs.map +2 -2
  187. package/build-module/utils/config-values.mjs +1 -3
  188. package/build-module/utils/config-values.mjs.map +2 -2
  189. package/build-module/utils/font-values.mjs +1 -1
  190. package/build-module/utils/font-values.mjs.map +1 -1
  191. package/build-module/validated-form-controls/components/content-editable-control.mjs +49 -0
  192. package/build-module/validated-form-controls/components/content-editable-control.mjs.map +7 -0
  193. package/build-module/validated-form-controls/components/index.mjs +1 -0
  194. package/build-module/validated-form-controls/components/index.mjs.map +2 -2
  195. package/build-module/validated-form-controls/components/input-control.mjs +0 -1
  196. package/build-module/validated-form-controls/components/input-control.mjs.map +2 -2
  197. package/build-module/validated-form-controls/components/number-control.mjs +0 -1
  198. package/build-module/validated-form-controls/components/number-control.mjs.map +2 -2
  199. package/build-module/validated-form-controls/control-with-error.mjs +4 -4
  200. package/build-module/validated-form-controls/control-with-error.mjs.map +2 -2
  201. package/build-style/style-rtl.css +70 -81
  202. package/build-style/style.css +70 -81
  203. package/build-types/angle-picker-control/index.d.ts.map +1 -1
  204. package/build-types/autocomplete/autocompleter-ui.d.ts +1 -1
  205. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  206. package/build-types/autocomplete/index.d.ts +8 -4
  207. package/build-types/autocomplete/index.d.ts.map +1 -1
  208. package/build-types/border-box-control/border-box-control/component.d.ts +1 -3
  209. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  210. package/build-types/border-box-control/stories/index.story.d.ts +1 -3
  211. package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
  212. package/build-types/border-box-control/styles.d.ts.map +1 -1
  213. package/build-types/border-box-control/types.d.ts +1 -15
  214. package/build-types/border-box-control/types.d.ts.map +1 -1
  215. package/build-types/box-control/index.d.ts +1 -1
  216. package/build-types/box-control/index.d.ts.map +1 -1
  217. package/build-types/box-control/input-control.d.ts +3 -0
  218. package/build-types/box-control/input-control.d.ts.map +1 -0
  219. package/build-types/box-control/styles/box-control-styles.d.ts +4 -8
  220. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
  221. package/build-types/box-control/types.d.ts +1 -8
  222. package/build-types/box-control/types.d.ts.map +1 -1
  223. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  224. package/build-types/calendar/date-range-calendar/index.d.ts +1 -1
  225. package/build-types/calendar/date-range-calendar/index.d.ts.map +1 -1
  226. package/build-types/calendar/utils/use-localization-props.d.ts +6 -2
  227. package/build-types/calendar/utils/use-localization-props.d.ts.map +1 -1
  228. package/build-types/card/context.d.ts +3 -0
  229. package/build-types/card/context.d.ts.map +1 -0
  230. package/build-types/card/styles.d.ts +3 -3
  231. package/build-types/card/styles.d.ts.map +1 -1
  232. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +1 -1
  233. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -1
  234. package/build-types/circular-option-picker/circular-option-picker.d.ts +8 -13
  235. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  236. package/build-types/color-picker/component.d.ts.map +1 -1
  237. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  238. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  239. package/build-types/color-picker/picker.d.ts +17 -1
  240. package/build-types/color-picker/picker.d.ts.map +1 -1
  241. package/build-types/color-picker/styles.d.ts +3 -6
  242. package/build-types/color-picker/styles.d.ts.map +1 -1
  243. package/build-types/color-picker/types.d.ts +2 -0
  244. package/build-types/color-picker/types.d.ts.map +1 -1
  245. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  246. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  247. package/build-types/content-editable-control/index.d.ts +31 -0
  248. package/build-types/content-editable-control/index.d.ts.map +1 -0
  249. package/build-types/content-editable-control/stories/index.story.d.ts +13 -0
  250. package/build-types/content-editable-control/stories/index.story.d.ts.map +1 -0
  251. package/build-types/content-editable-control/test/index.d.ts +2 -0
  252. package/build-types/content-editable-control/test/index.d.ts.map +1 -0
  253. package/build-types/content-editable-control/types.d.ts +32 -0
  254. package/build-types/content-editable-control/types.d.ts.map +1 -0
  255. package/build-types/context/context-system-provider.d.ts +21 -2
  256. package/build-types/context/context-system-provider.d.ts.map +1 -1
  257. package/build-types/context/wordpress-component.d.ts +2 -1
  258. package/build-types/context/wordpress-component.d.ts.map +1 -1
  259. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +3 -2
  260. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
  261. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +1 -1
  262. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
  263. package/build-types/custom-gradient-picker/index.d.ts +1 -1
  264. package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
  265. package/build-types/custom-gradient-picker/serializer.d.ts +3 -3
  266. package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -1
  267. package/build-types/custom-select-control/index.d.ts.map +1 -1
  268. package/build-types/custom-select-control/types.d.ts +1 -8
  269. package/build-types/custom-select-control/types.d.ts.map +1 -1
  270. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  271. package/build-types/custom-select-control-v2/index.d.ts +2 -1
  272. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  273. package/build-types/custom-select-control-v2/item.d.ts.map +1 -1
  274. package/build-types/date-time/date/index.d.ts +23 -0
  275. package/build-types/date-time/date/index.d.ts.map +1 -0
  276. package/build-types/date-time/date/styles.d.ts +45 -0
  277. package/build-types/date-time/date/styles.d.ts.map +1 -0
  278. package/build-types/date-time/date/test/index.d.ts +2 -0
  279. package/build-types/date-time/date/test/index.d.ts.map +1 -0
  280. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  281. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  282. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  283. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  284. package/build-types/date-time/date-picker/index.d.ts +1 -1
  285. package/build-types/date-time/date-picker/index.d.ts.map +1 -1
  286. package/build-types/date-time/time/index.d.ts +27 -0
  287. package/build-types/date-time/time/index.d.ts.map +1 -0
  288. package/build-types/date-time/time/styles.d.ts +93 -0
  289. package/build-types/date-time/time/styles.d.ts.map +1 -0
  290. package/build-types/date-time/time/test/index.d.ts +2 -0
  291. package/build-types/date-time/time/test/index.d.ts.map +1 -0
  292. package/build-types/date-time/time/time-input/index.d.ts +4 -0
  293. package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
  294. package/build-types/date-time/time/time-input/test/index.d.ts +2 -0
  295. package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
  296. package/build-types/date-time/time/timezone.d.ts +7 -0
  297. package/build-types/date-time/time/timezone.d.ts.map +1 -0
  298. package/build-types/date-time/time-picker/index.d.ts +3 -2
  299. package/build-types/date-time/time-picker/index.d.ts.map +1 -1
  300. package/build-types/date-time/time-picker/styles.d.ts +4 -8
  301. package/build-types/date-time/time-picker/styles.d.ts.map +1 -1
  302. package/build-types/date-time/time-picker/time-input/index.d.ts +1 -1
  303. package/build-types/date-time/time-picker/time-input/index.d.ts.map +1 -1
  304. package/build-types/disabled/index.d.ts +4 -4
  305. package/build-types/disabled/index.d.ts.map +1 -1
  306. package/build-types/divider/styles.d.ts +10 -0
  307. package/build-types/divider/styles.d.ts.map +1 -0
  308. package/build-types/draggable/index.d.ts +1 -1
  309. package/build-types/draggable/index.d.ts.map +1 -1
  310. package/build-types/drop-zone/provider.d.ts +1 -1
  311. package/build-types/drop-zone/provider.d.ts.map +1 -1
  312. package/build-types/duotone-picker/color-list-picker/index.d.ts +1 -1
  313. package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
  314. package/build-types/duotone-picker/custom-duotone-bar.d.ts +1 -1
  315. package/build-types/duotone-picker/custom-duotone-bar.d.ts.map +1 -1
  316. package/build-types/flex/styles.d.ts +17 -0
  317. package/build-types/flex/styles.d.ts.map +1 -0
  318. package/build-types/focal-point-picker/controls.d.ts +1 -1
  319. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  320. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -4
  321. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
  322. package/build-types/font-size-picker/index.d.ts +12 -2
  323. package/build-types/font-size-picker/index.d.ts.map +1 -1
  324. package/build-types/font-size-picker/stories/e2e/index.story.d.ts +12 -1
  325. package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
  326. package/build-types/font-size-picker/types.d.ts +2 -15
  327. package/build-types/font-size-picker/types.d.ts.map +1 -1
  328. package/build-types/form-token-field/index.d.ts.map +1 -1
  329. package/build-types/form-token-field/suggestions-list.d.ts +1 -1
  330. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  331. package/build-types/form-token-field/token.d.ts +1 -1
  332. package/build-types/form-token-field/token.d.ts.map +1 -1
  333. package/build-types/gradient-picker/index.d.ts.map +1 -1
  334. package/build-types/gradient-picker/stories/index.story.d.ts +1 -0
  335. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  336. package/build-types/gradient-picker/test/index.d.ts +2 -0
  337. package/build-types/gradient-picker/test/index.d.ts.map +1 -0
  338. package/build-types/gradient-picker/types.d.ts +19 -4
  339. package/build-types/gradient-picker/types.d.ts.map +1 -1
  340. package/build-types/guide/index.d.ts +1 -1
  341. package/build-types/guide/index.d.ts.map +1 -1
  342. package/build-types/guide/page-control.d.ts +1 -1
  343. package/build-types/guide/page-control.d.ts.map +1 -1
  344. package/build-types/higher-order/with-fallback-styles/index.d.ts +3 -3
  345. package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -1
  346. package/build-types/input-control/index.d.ts +0 -1
  347. package/build-types/input-control/index.d.ts.map +1 -1
  348. package/build-types/input-control/input-base.d.ts.map +1 -1
  349. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  350. package/build-types/input-control/styles/input-control-styles.d.ts +1 -8
  351. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  352. package/build-types/input-control/types.d.ts +15 -29
  353. package/build-types/input-control/types.d.ts.map +1 -1
  354. package/build-types/keyboard-shortcuts/index.d.ts +1 -1
  355. package/build-types/keyboard-shortcuts/index.d.ts.map +1 -1
  356. package/build-types/menu/group-label.d.ts.map +1 -1
  357. package/build-types/menu-items-choice/index.d.ts +1 -1
  358. package/build-types/menu-items-choice/index.d.ts.map +1 -1
  359. package/build-types/mobile/image/constants.d.ts +5 -0
  360. package/build-types/mobile/image/constants.d.ts.map +1 -0
  361. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  362. package/build-types/navigation/back-button/index.d.ts +7 -0
  363. package/build-types/navigation/back-button/index.d.ts.map +1 -0
  364. package/build-types/navigation/constants.d.ts +3 -0
  365. package/build-types/navigation/constants.d.ts.map +1 -0
  366. package/build-types/navigation/context.d.ts +4 -0
  367. package/build-types/navigation/context.d.ts.map +1 -0
  368. package/build-types/navigation/group/context.d.ts +7 -0
  369. package/build-types/navigation/group/context.d.ts.map +1 -0
  370. package/build-types/navigation/group/index.d.ts +7 -0
  371. package/build-types/navigation/group/index.d.ts.map +1 -0
  372. package/build-types/navigation/index.d.ts +46 -0
  373. package/build-types/navigation/index.d.ts.map +1 -0
  374. package/build-types/navigation/item/base-content.d.ts +3 -0
  375. package/build-types/navigation/item/base-content.d.ts.map +1 -0
  376. package/build-types/navigation/item/base.d.ts +3 -0
  377. package/build-types/navigation/item/base.d.ts.map +1 -0
  378. package/build-types/navigation/item/index.d.ts +7 -0
  379. package/build-types/navigation/item/index.d.ts.map +1 -0
  380. package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
  381. package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
  382. package/build-types/navigation/menu/context.d.ts +7 -0
  383. package/build-types/navigation/menu/context.d.ts.map +1 -0
  384. package/build-types/navigation/menu/index.d.ts +7 -0
  385. package/build-types/navigation/menu/index.d.ts.map +1 -0
  386. package/build-types/navigation/menu/menu-title-search.d.ts +3 -0
  387. package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
  388. package/build-types/navigation/menu/menu-title.d.ts +3 -0
  389. package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
  390. package/build-types/navigation/menu/search-no-results-found.d.ts +3 -0
  391. package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
  392. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
  393. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
  394. package/build-types/navigation/stories/index.story.d.ts +23 -0
  395. package/build-types/navigation/stories/index.story.d.ts.map +1 -0
  396. package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
  397. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
  398. package/build-types/navigation/stories/utils/default.d.ts +10 -0
  399. package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
  400. package/build-types/navigation/stories/utils/group.d.ts +10 -0
  401. package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
  402. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
  403. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
  404. package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
  405. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
  406. package/build-types/navigation/stories/utils/search.d.ts +10 -0
  407. package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
  408. package/build-types/navigation/styles/navigation-styles.d.ts +55 -0
  409. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
  410. package/build-types/navigation/test/index.d.ts +2 -0
  411. package/build-types/navigation/test/index.d.ts.map +1 -0
  412. package/build-types/navigation/types.d.ts +266 -0
  413. package/build-types/navigation/types.d.ts.map +1 -0
  414. package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
  415. package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
  416. package/build-types/navigation/use-navigation-tree-nodes.d.ts +10 -0
  417. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
  418. package/build-types/navigation/utils.d.ts +3 -0
  419. package/build-types/navigation/utils.d.ts.map +1 -0
  420. package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts +1 -1
  421. package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts.map +1 -1
  422. package/build-types/notice/index.d.ts +1 -1
  423. package/build-types/notice/index.d.ts.map +1 -1
  424. package/build-types/notice/list.d.ts +1 -1
  425. package/build-types/notice/list.d.ts.map +1 -1
  426. package/build-types/number-control/index.d.ts +1 -2
  427. package/build-types/number-control/index.d.ts.map +1 -1
  428. package/build-types/number-control/stories/index.story.d.ts +1 -2
  429. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  430. package/build-types/number-control/types.d.ts +0 -7
  431. package/build-types/number-control/types.d.ts.map +1 -1
  432. package/build-types/palette-edit/index.d.ts +1 -1
  433. package/build-types/palette-edit/index.d.ts.map +1 -1
  434. package/build-types/private-apis.d.ts.map +1 -1
  435. package/build-types/query-controls/author-select.d.ts +1 -1
  436. package/build-types/query-controls/author-select.d.ts.map +1 -1
  437. package/build-types/range-control/index.d.ts +2 -4
  438. package/build-types/range-control/index.d.ts.map +1 -1
  439. package/build-types/range-control/styles/range-control-styles.d.ts +1 -2
  440. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  441. package/build-types/range-control/types.d.ts +2 -16
  442. package/build-types/range-control/types.d.ts.map +1 -1
  443. package/build-types/resizable-box/resize-tooltip/utils.d.ts +1 -1
  444. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  445. package/build-types/responsive-wrapper/index.d.ts +1 -1
  446. package/build-types/responsive-wrapper/index.d.ts.map +1 -1
  447. package/build-types/sandbox/index.d.ts +34 -0
  448. package/build-types/sandbox/index.d.ts.map +1 -1
  449. package/build-types/sandbox/types.d.ts +11 -0
  450. package/build-types/sandbox/types.d.ts.map +1 -1
  451. package/build-types/search-control/index.d.ts.map +1 -1
  452. package/build-types/search-control/types.d.ts +1 -1
  453. package/build-types/search-control/types.d.ts.map +1 -1
  454. package/build-types/select-control/index.d.ts.map +1 -1
  455. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  456. package/build-types/select-control/types.d.ts +9 -1
  457. package/build-types/select-control/types.d.ts.map +1 -1
  458. package/build-types/slot-fill/fill.d.ts.map +1 -1
  459. package/build-types/slot-fill/index.d.ts +1 -1
  460. package/build-types/slot-fill/index.d.ts.map +1 -1
  461. package/build-types/slot-fill/stories/index.story.d.ts +1 -6
  462. package/build-types/slot-fill/stories/index.story.d.ts.map +1 -1
  463. package/build-types/snackbar/list.d.ts +1 -1
  464. package/build-types/snackbar/list.d.ts.map +1 -1
  465. package/build-types/spacer/hook.d.ts +2 -4
  466. package/build-types/spacer/hook.d.ts.map +1 -1
  467. package/build-types/spacer/stories/index.story.d.ts +1 -6
  468. package/build-types/spacer/stories/index.story.d.ts.map +1 -1
  469. package/build-types/surface/styles.d.ts +11 -0
  470. package/build-types/surface/styles.d.ts.map +1 -0
  471. package/build-types/text/types.d.ts +4 -4
  472. package/build-types/text/types.d.ts.map +1 -1
  473. package/build-types/text/utils.d.ts +1 -1
  474. package/build-types/text/utils.d.ts.map +1 -1
  475. package/build-types/theme/styles.d.ts +10 -0
  476. package/build-types/theme/styles.d.ts.map +1 -0
  477. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +0 -1
  478. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  479. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  480. package/build-types/toggle-group-control/types.d.ts +0 -7
  481. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  482. package/build-types/tools-panel/styles.d.ts +1 -1
  483. package/build-types/tools-panel/styles.d.ts.map +1 -1
  484. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  485. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  486. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  487. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  488. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  489. package/build-types/tree-grid/roving-tab-index.d.ts +1 -1
  490. package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -1
  491. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  492. package/build-types/tree-select/types.d.ts +1 -8
  493. package/build-types/tree-select/types.d.ts.map +1 -1
  494. package/build-types/truncate/styles.d.ts +2 -0
  495. package/build-types/truncate/styles.d.ts.map +1 -0
  496. package/build-types/unit-control/index.d.ts +2 -4
  497. package/build-types/unit-control/index.d.ts.map +1 -1
  498. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -2
  499. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  500. package/build-types/unit-control/types.d.ts +1 -15
  501. package/build-types/unit-control/types.d.ts.map +1 -1
  502. package/build-types/utils/config-values.d.ts +1 -2
  503. package/build-types/utils/hooks/use-animated-offset-rect.d.ts +1 -1
  504. package/build-types/utils/hooks/use-animated-offset-rect.d.ts.map +1 -1
  505. package/build-types/utils/hooks/use-controlled-state.d.ts +6 -0
  506. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  507. package/build-types/utils/hooks/use-controlled-value.d.ts +1 -1
  508. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  509. package/build-types/utils/rtl.d.ts.map +1 -1
  510. package/build-types/validated-form-controls/components/content-editable-control.d.ts +16 -0
  511. package/build-types/validated-form-controls/components/content-editable-control.d.ts.map +1 -0
  512. package/build-types/validated-form-controls/components/index.d.ts +1 -0
  513. package/build-types/validated-form-controls/components/index.d.ts.map +1 -1
  514. package/build-types/validated-form-controls/components/input-control.d.ts +1 -1
  515. package/build-types/validated-form-controls/components/input-control.d.ts.map +1 -1
  516. package/build-types/validated-form-controls/components/number-control.d.ts +2 -3
  517. package/build-types/validated-form-controls/components/number-control.d.ts.map +1 -1
  518. package/build-types/validated-form-controls/components/range-control.d.ts +2 -4
  519. package/build-types/validated-form-controls/components/range-control.d.ts.map +1 -1
  520. package/build-types/validated-form-controls/components/stories/content-editable-control.story.d.ts +9 -0
  521. package/build-types/validated-form-controls/components/stories/content-editable-control.story.d.ts.map +1 -0
  522. package/build-types/validated-form-controls/components/stories/overview.story.d.ts +5 -0
  523. package/build-types/validated-form-controls/components/stories/overview.story.d.ts.map +1 -1
  524. package/build-types/validated-form-controls/components/toggle-group-control.d.ts +1 -2
  525. package/build-types/validated-form-controls/components/toggle-group-control.d.ts.map +1 -1
  526. package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -1
  527. package/build-types/validated-form-controls/test/content-editable-control.d.ts +2 -0
  528. package/build-types/validated-form-controls/test/content-editable-control.d.ts.map +1 -0
  529. package/build-types/validated-form-controls/validity-indicator.d.ts +1 -1
  530. package/build-types/validated-form-controls/validity-indicator.d.ts.map +1 -1
  531. package/build-types/visually-hidden/test/index.d.ts +2 -0
  532. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  533. package/package.json +30 -30
  534. package/src/angle-picker-control/index.tsx +0 -1
  535. package/src/autocomplete/index.tsx +20 -11
  536. package/src/autocomplete/style.scss +1 -0
  537. package/src/badge/stories/index.story.tsx +1 -1
  538. package/src/base-control/README.md +2 -2
  539. package/src/base-control/stories/index.story.tsx +1 -1
  540. package/src/border-box-control/styles.ts +6 -2
  541. package/src/border-box-control/types.ts +4 -15
  542. package/src/box-control/types.ts +4 -8
  543. package/src/button/stories/e2e/index.story.tsx +10 -2
  544. package/src/button/stories/index.story.tsx +1 -1
  545. package/src/button/style.scss +32 -27
  546. package/src/button-group/style.scss +1 -6
  547. package/src/calendar/style.scss +1 -1
  548. package/src/card/stories/index.story.tsx +1 -1
  549. package/src/card/test/__snapshots__/index.tsx.snap +1 -1
  550. package/src/checkbox-control/stories/index.story.tsx +1 -1
  551. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +1 -1
  552. package/src/color-indicator/test/__snapshots__/index.tsx.snap +1 -1
  553. package/src/color-palette/styles.ts +1 -1
  554. package/src/color-picker/component.tsx +23 -19
  555. package/src/color-picker/hex-input.tsx +0 -1
  556. package/src/color-picker/input-with-slider.tsx +0 -1
  557. package/src/color-picker/picker.tsx +144 -21
  558. package/src/color-picker/test/index.tsx +502 -0
  559. package/src/color-picker/types.ts +2 -0
  560. package/src/combobox-control/style.scss +2 -2
  561. package/src/confirm-dialog/component.tsx +2 -4
  562. package/src/confirm-dialog/stories/index.story.tsx +1 -1
  563. package/src/confirm-dialog/style.module.scss +7 -0
  564. package/src/confirm-dialog/test/index.tsx +5 -0
  565. package/src/content-editable-control/README.md +88 -0
  566. package/src/content-editable-control/docs-manifest.json +5 -0
  567. package/src/content-editable-control/index.tsx +110 -0
  568. package/src/content-editable-control/stories/index.story.tsx +32 -0
  569. package/src/content-editable-control/style.module.scss +34 -0
  570. package/src/content-editable-control/test/index.tsx +176 -0
  571. package/src/content-editable-control/types.ts +35 -0
  572. package/src/context/test/__snapshots__/context-system-provider.js.snap +1 -1
  573. package/src/context/wordpress-component.ts +7 -2
  574. package/src/custom-gradient-picker/test/index.tsx +111 -1
  575. package/src/custom-select-control/index.tsx +1 -2
  576. package/src/custom-select-control/stories/index.story.tsx +1 -1
  577. package/src/custom-select-control/test/__snapshots__/index.tsx.snap +6 -0
  578. package/src/custom-select-control/test/index.tsx +23 -0
  579. package/src/custom-select-control/types.ts +1 -8
  580. package/src/custom-select-control-v2/custom-select.tsx +1 -5
  581. package/src/custom-select-control-v2/stories/index.story.tsx +1 -1
  582. package/src/date-time/date-picker/styles.ts +1 -1
  583. package/src/date-time/time-picker/index.tsx +0 -2
  584. package/src/date-time/time-picker/time-input/index.tsx +0 -2
  585. package/src/disabled/index.tsx +7 -5
  586. package/src/disabled/style.module.scss +15 -0
  587. package/src/disabled/test/index.tsx +6 -4
  588. package/src/dropdown-menu/style.scss +1 -1
  589. package/src/elevation/stories/index.story.tsx +1 -1
  590. package/src/elevation/test/__snapshots__/index.tsx.snap +1 -1
  591. package/src/external-link/stories/index.story.tsx +1 -1
  592. package/src/external-link/style.scss +7 -13
  593. package/src/flex/stories/index.story.tsx +1 -1
  594. package/src/flex/test/__snapshots__/index.tsx.snap +1 -1
  595. package/src/font-size-picker/types.ts +6 -15
  596. package/src/form-toggle/test/__snapshots__/index.tsx.snap +1 -1
  597. package/src/form-token-field/index.tsx +5 -4
  598. package/src/form-token-field/style.module.scss +6 -0
  599. package/src/form-token-field/style.scss +2 -2
  600. package/src/gradient-picker/README.md +21 -3
  601. package/src/gradient-picker/index.tsx +43 -28
  602. package/src/gradient-picker/stories/index.story.tsx +41 -5
  603. package/src/gradient-picker/test/index.tsx +148 -0
  604. package/src/gradient-picker/types.ts +24 -4
  605. package/src/h-stack/stories/index.story.tsx +1 -1
  606. package/src/h-stack/test/__snapshots__/index.tsx.snap +1 -1
  607. package/src/heading/hook.ts +1 -1
  608. package/src/heading/stories/index.story.tsx +1 -1
  609. package/src/heading/test/__snapshots__/index.tsx.snap +1 -1
  610. package/src/higher-order/with-filters/test/__snapshots__/index.tsx.snap +1 -1
  611. package/src/icon/stories/index.story.tsx +1 -1
  612. package/src/input-control/README.md +0 -8
  613. package/src/input-control/index.tsx +4 -16
  614. package/src/input-control/input-base.tsx +4 -8
  615. package/src/input-control/stories/index.story.tsx +2 -4
  616. package/src/input-control/styles/input-control-styles.tsx +1 -19
  617. package/src/input-control/test/__snapshots__/index.js.snap +11 -0
  618. package/src/input-control/test/index.js +29 -7
  619. package/src/input-control/types.ts +15 -30
  620. package/src/item-group/test/__snapshots__/index.js.snap +1 -1
  621. package/src/menu/README.md +2 -2
  622. package/src/menu/group-label.tsx +2 -1
  623. package/src/menu-group/style.scss +1 -1
  624. package/src/menu-item/style.scss +1 -1
  625. package/src/menu-item/test/__snapshots__/index.js.snap +1 -1
  626. package/src/modal/stories/index.story.tsx +2 -5
  627. package/src/modal/style.scss +1 -1
  628. package/src/modal/test/index.tsx +42 -0
  629. package/src/notice/stories/index.story.tsx +1 -1
  630. package/src/notice/test/__snapshots__/index.tsx.snap +1 -1
  631. package/src/number-control/README.md +0 -8
  632. package/src/number-control/index.tsx +1 -12
  633. package/src/number-control/stories/index.story.tsx +1 -3
  634. package/src/number-control/test/index.tsx +1 -1
  635. package/src/number-control/types.ts +0 -7
  636. package/src/palette-edit/styles.ts +1 -1
  637. package/src/panel/stories/index.story.tsx +4 -4
  638. package/src/panel/style.scss +2 -5
  639. package/src/panel/test/__snapshots__/body.tsx.snap +1 -1
  640. package/src/panel/test/__snapshots__/header.tsx.snap +1 -1
  641. package/src/panel/test/__snapshots__/index.tsx.snap +1 -1
  642. package/src/panel/test/__snapshots__/row.tsx.snap +1 -1
  643. package/src/placeholder/style.scss +1 -1
  644. package/src/private-apis.ts +4 -2
  645. package/src/range-control/index.tsx +0 -2
  646. package/src/range-control/types.ts +2 -15
  647. package/src/sandbox/index.tsx +165 -98
  648. package/src/sandbox/test/index.tsx +63 -1
  649. package/src/sandbox/types.ts +11 -0
  650. package/src/scrollable/test/__snapshots__/index.tsx.snap +1 -1
  651. package/src/search-control/index.tsx +23 -21
  652. package/src/search-control/style.module.scss +16 -0
  653. package/src/search-control/test/index.tsx +8 -0
  654. package/src/search-control/types.ts +1 -1
  655. package/src/select-control/index.tsx +0 -2
  656. package/src/select-control/stories/index.story.tsx +1 -1
  657. package/src/select-control/styles/select-control-styles.ts +0 -7
  658. package/src/select-control/test/__snapshots__/select-control.tsx.snap +11 -0
  659. package/src/select-control/test/select-control.tsx +37 -0
  660. package/src/select-control/types.ts +8 -2
  661. package/src/shortcut/test/__snapshots__/index.tsx.snap +1 -1
  662. package/src/slot-fill/fill.tsx +3 -9
  663. package/src/slot-fill/stories/index.story.tsx +52 -10
  664. package/src/slot-fill/test/__snapshots__/slot.js.snap +1 -1
  665. package/src/slot-fill/test/slot.js +53 -11
  666. package/src/spacer/hook.ts +93 -77
  667. package/src/spacer/stories/index.story.tsx +8 -6
  668. package/src/spacer/style.module.scss +25 -0
  669. package/src/spacer/test/__snapshots__/index.tsx.snap +3 -223
  670. package/src/spacer/test/index.tsx +106 -110
  671. package/src/tab-panel/stories/index.story.tsx +1 -1
  672. package/src/tab-panel/style.scss +1 -1
  673. package/src/tabs/stories/index.story.tsx +1 -1
  674. package/src/text/stories/index.story.tsx +1 -1
  675. package/src/text/test/__snapshots__/index.tsx.snap +1 -1
  676. package/src/text/types.ts +5 -5
  677. package/src/text-control/style.scss +1 -1
  678. package/src/textarea-control/stories/index.story.tsx +1 -1
  679. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +37 -715
  680. package/src/toggle-group-control/test/index.tsx +33 -3
  681. package/src/toggle-group-control/toggle-group-control/component.tsx +11 -16
  682. package/src/toggle-group-control/toggle-group-control/style.module.scss +63 -0
  683. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +22 -24
  684. package/src/toggle-group-control/toggle-group-control-option-base/style.module.scss +88 -0
  685. package/src/toggle-group-control/types.ts +0 -7
  686. package/src/toolbar/toolbar-button/style.scss +1 -1
  687. package/src/tools-panel/style.module.scss +117 -0
  688. package/src/tools-panel/test/index.tsx +105 -39
  689. package/src/tools-panel/tools-panel/component.tsx +12 -1
  690. package/src/tools-panel/tools-panel/hook.ts +13 -15
  691. package/src/tools-panel/tools-panel-header/component.tsx +6 -2
  692. package/src/tools-panel/tools-panel-header/hook.ts +7 -25
  693. package/src/tools-panel/tools-panel-item/hook.ts +16 -34
  694. package/src/tooltip/stories/index.story.tsx +1 -1
  695. package/src/tooltip/test/index.tsx +1 -1
  696. package/src/tree-grid/stories/index.story.tsx +0 -2
  697. package/src/tree-grid/test/__snapshots__/cell.tsx.snap +1 -1
  698. package/src/tree-grid/test/__snapshots__/index.tsx.snap +1 -1
  699. package/src/tree-grid/test/__snapshots__/roving-tab-index-item.tsx.snap +1 -1
  700. package/src/tree-grid/test/__snapshots__/roving-tab-index.tsx.snap +1 -1
  701. package/src/tree-grid/test/__snapshots__/row.tsx.snap +1 -1
  702. package/src/tree-select/README.md +1 -1
  703. package/src/tree-select/types.ts +1 -8
  704. package/src/unit-control/index.tsx +0 -1
  705. package/src/unit-control/types.ts +1 -18
  706. package/src/utils/base-label.ts +1 -1
  707. package/src/utils/config-values.js +1 -2
  708. package/src/utils/font-values.js +1 -1
  709. package/src/utils/theme-variables.scss +1 -0
  710. package/src/v-stack/stories/index.story.tsx +1 -1
  711. package/src/v-stack/test/__snapshots__/index.tsx.snap +1 -1
  712. package/src/validated-form-controls/components/content-editable-control.tsx +88 -0
  713. package/src/validated-form-controls/components/index.ts +1 -0
  714. package/src/validated-form-controls/components/input-control.tsx +2 -10
  715. package/src/validated-form-controls/components/number-control.tsx +2 -10
  716. package/src/validated-form-controls/components/stories/content-editable-control.story.tsx +56 -0
  717. package/src/validated-form-controls/components/stories/overview.story.tsx +51 -0
  718. package/src/validated-form-controls/control-with-error.tsx +10 -1
  719. package/src/validated-form-controls/style.scss +9 -2
  720. package/src/validated-form-controls/test/content-editable-control.tsx +71 -0
  721. package/src/validated-form-controls/test/control-with-error.tsx +42 -0
  722. package/src/view/test/__snapshots__/index.js.snap +1 -1
  723. package/src/visually-hidden/stories/index.story.tsx +1 -1
  724. package/build/confirm-dialog/styles.cjs +0 -42
  725. package/build/confirm-dialog/styles.cjs.map +0 -7
  726. package/build/disabled/styles/disabled-styles.cjs +0 -42
  727. package/build/disabled/styles/disabled-styles.cjs.map +0 -7
  728. package/build/form-token-field/styles.cjs +0 -49
  729. package/build/form-token-field/styles.cjs.map +0 -7
  730. package/build/search-control/styles.cjs +0 -74
  731. package/build/search-control/styles.cjs.map +0 -7
  732. package/build/theme/color-algorithms.cjs +0 -131
  733. package/build/theme/color-algorithms.cjs.map +0 -7
  734. package/build/theme/index.cjs +0 -160
  735. package/build/theme/index.cjs.map +0 -7
  736. package/build/toggle-group-control/toggle-group-control/styles.cjs +0 -53
  737. package/build/toggle-group-control/toggle-group-control/styles.cjs.map +0 -7
  738. package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs +0 -94
  739. package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs.map +0 -7
  740. package/build/tools-panel/styles.cjs +0 -129
  741. package/build/tools-panel/styles.cjs.map +0 -7
  742. package/build/utils/deprecated-36px-size.cjs +0 -56
  743. package/build/utils/deprecated-36px-size.cjs.map +0 -7
  744. package/build/utils/use-deprecated-props.cjs +0 -41
  745. package/build/utils/use-deprecated-props.cjs.map +0 -7
  746. package/build-module/confirm-dialog/styles.mjs +0 -17
  747. package/build-module/confirm-dialog/styles.mjs.map +0 -7
  748. package/build-module/disabled/styles/disabled-styles.mjs +0 -17
  749. package/build-module/disabled/styles/disabled-styles.mjs.map +0 -7
  750. package/build-module/form-token-field/styles.mjs +0 -14
  751. package/build-module/form-token-field/styles.mjs.map +0 -7
  752. package/build-module/search-control/styles.mjs +0 -38
  753. package/build-module/search-control/styles.mjs.map +0 -7
  754. package/build-module/theme/color-algorithms.mjs +0 -94
  755. package/build-module/theme/color-algorithms.mjs.map +0 -7
  756. package/build-module/theme/index.mjs +0 -129
  757. package/build-module/theme/index.mjs.map +0 -7
  758. package/build-module/toggle-group-control/toggle-group-control/styles.mjs +0 -27
  759. package/build-module/toggle-group-control/toggle-group-control/styles.mjs.map +0 -7
  760. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs +0 -56
  761. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs.map +0 -7
  762. package/build-module/tools-panel/styles.mjs +0 -84
  763. package/build-module/tools-panel/styles.mjs.map +0 -7
  764. package/build-module/utils/deprecated-36px-size.mjs +0 -21
  765. package/build-module/utils/deprecated-36px-size.mjs.map +0 -7
  766. package/build-module/utils/use-deprecated-props.mjs +0 -16
  767. package/build-module/utils/use-deprecated-props.mjs.map +0 -7
  768. package/src/confirm-dialog/styles.ts +0 -18
  769. package/src/disabled/styles/disabled-styles.tsx +0 -23
  770. package/src/form-token-field/styles.ts +0 -15
  771. package/src/search-control/styles.ts +0 -27
  772. package/src/theme/README.md +0 -47
  773. package/src/theme/color-algorithms.ts +0 -142
  774. package/src/theme/index.tsx +0 -80
  775. package/src/theme/stories/index.story.tsx +0 -127
  776. package/src/theme/style.module.scss +0 -4
  777. package/src/theme/test/color-algorithms.ts +0 -100
  778. package/src/theme/test/index.tsx +0 -151
  779. package/src/theme/types.ts +0 -61
  780. package/src/toggle-group-control/toggle-group-control/styles.ts +0 -84
  781. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +0 -109
  782. package/src/tools-panel/styles.ts +0 -176
  783. package/src/utils/deprecated-36px-size.ts +0 -30
  784. package/src/utils/use-deprecated-props.ts +0 -14
  785. /package/build-module/{theme → content-editable-control}/types.mjs +0 -0
  786. /package/build-module/{theme → content-editable-control}/types.mjs.map +0 -0
@@ -0,0 +1,110 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ForwardedRef } from 'react';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { useMergeRefs } from '@wordpress/compose';
10
+ import { forwardRef, useRef } from '@wordpress/element';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+ import BaseControl from '../base-control';
16
+ import { useBaseControlProps } from '../base-control/hooks';
17
+ import type { WordPressComponentProps } from '../context';
18
+ import { VisuallyHidden } from '../visually-hidden';
19
+ import type { ContentEditableControlProps } from './types';
20
+ import styles from './style.module.scss';
21
+
22
+ function UnforwardedContentEditableControl(
23
+ {
24
+ label,
25
+ id,
26
+ className,
27
+ help,
28
+ hideLabelFromVision,
29
+ disabled,
30
+ required,
31
+ placeholder,
32
+ ...additionalProps
33
+ }: WordPressComponentProps< ContentEditableControlProps, 'div', false >,
34
+ forwardedRef: ForwardedRef< HTMLDivElement >
35
+ ) {
36
+ // The label is not passed through to `BaseControl`: it would render a
37
+ // `<label for>` pointing at the `contentEditable` `div`, which is not a
38
+ // labelable element, making the association invalid. The label is instead
39
+ // rendered here without `for` and wired up via `aria-labelledby`.
40
+ const { baseControlProps, controlProps } = useBaseControlProps( {
41
+ id,
42
+ className,
43
+ help,
44
+ } );
45
+
46
+ const labelId = `${ controlProps.id }__label`;
47
+ const editableRef = useRef< HTMLDivElement >( null );
48
+ const mergedRefs = useMergeRefs( [ editableRef, forwardedRef ] );
49
+
50
+ return (
51
+ <BaseControl { ...baseControlProps }>
52
+ { hideLabelFromVision ? (
53
+ <VisuallyHidden id={ labelId }>{ label }</VisuallyHidden>
54
+ ) : (
55
+ <BaseControl.VisualLabel
56
+ id={ labelId }
57
+ // Focus the field on label click, like `<label for>` would.
58
+ onClick={ () => editableRef.current?.focus() }
59
+ >
60
+ { label }
61
+ </BaseControl.VisualLabel>
62
+ ) }
63
+ <div
64
+ className={ styles.editable }
65
+ role="textbox"
66
+ aria-multiline
67
+ aria-labelledby={ labelId }
68
+ aria-placeholder={ placeholder || undefined }
69
+ aria-disabled={ disabled || undefined }
70
+ aria-required={ required || undefined }
71
+ ref={ mergedRefs }
72
+ // A disabled field is not `contentEditable`, which also
73
+ // removes it from the tab order.
74
+ contentEditable={ ! disabled }
75
+ suppressContentEditableWarning
76
+ { ...additionalProps }
77
+ { ...controlProps }
78
+ />
79
+ </BaseControl>
80
+ );
81
+ }
82
+
83
+ /**
84
+ * A presentational `contentEditable` form control: a labeled editable element
85
+ * rendered with the chrome (`BaseControl` + label) shared by the other form
86
+ * controls in the package.
87
+ *
88
+ * Unlike the in-canvas `RichText` from `@wordpress/block-editor`, this control
89
+ * is intended for standalone form fields (DataForms, sidebar inputs, etc.).
90
+ * It is deliberately **presentational only** and has no `@wordpress/rich-text`
91
+ * dependency: the editable behavior (value, formatting, keyboard shortcuts)
92
+ * and any focus/selection tracking are owned by the consumer, which wires them
93
+ * through the forwarded ref and native event props (see the richtext DataForm
94
+ * control in `@wordpress/dataviews` for the canonical assembly).
95
+ *
96
+ * ```jsx
97
+ * // The rich-text "assembly" lives in the consumer.
98
+ * <ContentEditableControl
99
+ * label="Caption"
100
+ * ref={ mergedRef }
101
+ * onFocus={ onEditableFocus }
102
+ * onBlur={ onEditableBlur }
103
+ * />
104
+ * ```
105
+ */
106
+ export const ContentEditableControl = forwardRef(
107
+ UnforwardedContentEditableControl
108
+ );
109
+
110
+ export default ContentEditableControl;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { Meta, StoryObj } from '@storybook/react-vite';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import ContentEditableControl from '..';
10
+
11
+ const meta: Meta< typeof ContentEditableControl > = {
12
+ id: 'components-contenteditablecontrol',
13
+ title: 'Components/Selection & Input/Common/ContentEditableControl',
14
+ component: ContentEditableControl,
15
+ tags: [ 'status-private' ],
16
+ parameters: {
17
+ controls: { expanded: true },
18
+ docs: {
19
+ canvas: { sourceState: 'shown' },
20
+ },
21
+ },
22
+ };
23
+ export default meta;
24
+
25
+ type Story = StoryObj< typeof ContentEditableControl >;
26
+
27
+ export const Default: Story = {
28
+ args: {
29
+ label: 'Title',
30
+ placeholder: 'Add a title…',
31
+ },
32
+ };
@@ -0,0 +1,34 @@
1
+ @use "@wordpress/base-styles/mixins" as *;
2
+ @use "@wordpress/base-styles/variables" as *;
3
+ @use "../utils/theme-variables" as *;
4
+
5
+ .editable {
6
+ width: 100%;
7
+ background: $components-color-background;
8
+ color: $components-color-foreground;
9
+ @include input-control;
10
+ border-color: $components-color-border;
11
+
12
+ // `::placeholder` only applies to native form fields, so draw the text
13
+ // from the `aria-placeholder` attribute while the element has no content.
14
+ &[aria-placeholder]:empty::before {
15
+ content: attr(aria-placeholder);
16
+ color: $components-color-dark-gray-placeholder;
17
+ }
18
+
19
+ min-height: $grid-unit-50;
20
+
21
+ // Subtract 1px to account for the border, which isn't included on the element
22
+ // on newer components like InputControl, SelectControl, etc.
23
+ // These values should be shared with the `controlPaddingX` in ./utils/config-values.js
24
+ padding: $grid-unit-15;
25
+
26
+ // Match the disabled treatment of native form controls (see the
27
+ // `&:disabled` rules in the textarea/input control styles).
28
+ &[aria-disabled="true"] {
29
+ background: $components-color-gray-100;
30
+ border-color: $components-color-gray-300;
31
+ color: $components-color-gray-700;
32
+ cursor: default;
33
+ }
34
+ }
@@ -0,0 +1,176 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { render, screen, fireEvent } from '@testing-library/react';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import ContentEditableControl from '..';
10
+
11
+ // The presentational shell is deliberately decoupled from `@wordpress/rich-text`:
12
+ // the editable behavior and any focus/selection tracking are owned by the
13
+ // consumer, wired through the forwarded ref and native event props. These
14
+ // tests exercise only the chrome the shell owns -- the label and the
15
+ // `contentEditable` element -- with no rich-text wiring at all.
16
+ describe( 'ContentEditableControl', () => {
17
+ it( 'renders a labeled contenteditable textbox', () => {
18
+ render( <ContentEditableControl label="Description" /> );
19
+
20
+ const textbox = screen.getByRole( 'textbox' );
21
+ const label = screen.getByText( 'Description' );
22
+
23
+ expect( textbox ).toHaveAttribute( 'contenteditable', 'true' );
24
+ // A `<div contenteditable>` is not a labelable element, so the label
25
+ // must not use `for` (Chrome logs a console error for the invalid
26
+ // association). The name is wired through `aria-labelledby` instead.
27
+ expect( label ).not.toHaveAttribute( 'for' );
28
+ expect( textbox ).toHaveAttribute( 'aria-labelledby', label.id );
29
+ expect( textbox ).toHaveAccessibleName( 'Description' );
30
+ } );
31
+
32
+ it( 'focuses the textbox when the label is clicked', () => {
33
+ render( <ContentEditableControl label="Description" /> );
34
+
35
+ fireEvent.click( screen.getByText( 'Description' ) );
36
+
37
+ expect( screen.getByRole( 'textbox' ) ).toHaveFocus();
38
+ } );
39
+
40
+ it( 'visually hides the label when `hideLabelFromVision` is set', () => {
41
+ render( <ContentEditableControl label="Note" hideLabelFromVision /> );
42
+
43
+ const label = screen.getByText( 'Note' );
44
+ expect( label ).toHaveClass( 'components-visually-hidden' );
45
+ } );
46
+
47
+ it( 'is multiline by default and accepts an `aria-multiline` override', () => {
48
+ const { rerender } = render(
49
+ <ContentEditableControl label="Single line" />
50
+ );
51
+ expect( screen.getByRole( 'textbox' ) ).toHaveAttribute(
52
+ 'aria-multiline',
53
+ 'true'
54
+ );
55
+
56
+ rerender(
57
+ <ContentEditableControl
58
+ label="Single line"
59
+ aria-multiline={ false }
60
+ />
61
+ );
62
+ expect( screen.getByRole( 'textbox' ) ).toHaveAttribute(
63
+ 'aria-multiline',
64
+ 'false'
65
+ );
66
+ } );
67
+
68
+ it( 'exposes `disabled` as a non-editable, aria-disabled textbox', () => {
69
+ render( <ContentEditableControl label="Note" disabled /> );
70
+
71
+ const textbox = screen.getByRole( 'textbox' );
72
+ expect( textbox ).toHaveAttribute( 'aria-disabled', 'true' );
73
+ expect( textbox ).toHaveAttribute( 'contenteditable', 'false' );
74
+ } );
75
+
76
+ it( 'exposes `required` via aria-required', () => {
77
+ render( <ContentEditableControl label="Note" required /> );
78
+
79
+ expect( screen.getByRole( 'textbox' ) ).toBeRequired();
80
+ } );
81
+
82
+ it( 'exposes `placeholder` via aria-placeholder', () => {
83
+ render(
84
+ <ContentEditableControl label="Note" placeholder="Add a note…" />
85
+ );
86
+
87
+ expect( screen.getByRole( 'textbox' ) ).toHaveAttribute(
88
+ 'aria-placeholder',
89
+ 'Add a note…'
90
+ );
91
+ } );
92
+
93
+ it( 'uses a consumer-supplied `id` for the textbox and label', () => {
94
+ render(
95
+ <ContentEditableControl
96
+ label="Custom id"
97
+ // eslint-disable-next-line no-restricted-syntax
98
+ id="my-custom-id"
99
+ />
100
+ );
101
+
102
+ expect( screen.getByRole( 'textbox' ) ).toHaveAttribute(
103
+ 'id',
104
+ 'my-custom-id'
105
+ );
106
+ expect( screen.getByRole( 'textbox' ) ).toHaveAttribute(
107
+ 'aria-labelledby',
108
+ 'my-custom-id__label'
109
+ );
110
+ expect( screen.getByText( 'Custom id' ) ).toHaveAttribute(
111
+ 'id',
112
+ 'my-custom-id__label'
113
+ );
114
+ } );
115
+
116
+ it( 'applies a consumer-supplied className to the outermost wrapper', () => {
117
+ const { container } = render(
118
+ <ContentEditableControl
119
+ label="Styled"
120
+ className="my-custom-class"
121
+ />
122
+ );
123
+
124
+ // The package convention is to put the consumer's `className` on the
125
+ // outermost wrapper (the `BaseControl` root), not the editable.
126
+ expect(
127
+ // eslint-disable-next-line testing-library/no-container, testing-library/no-node-access
128
+ container.querySelector( '.components-base-control' )
129
+ ).toHaveClass( 'my-custom-class' );
130
+ expect( screen.getByRole( 'textbox' ) ).not.toHaveClass(
131
+ 'my-custom-class'
132
+ );
133
+ } );
134
+
135
+ it( 'forwards additional native props to the textbox', () => {
136
+ render(
137
+ <ContentEditableControl
138
+ label="Note"
139
+ dir="rtl"
140
+ data-testid="my-textbox"
141
+ />
142
+ );
143
+
144
+ const textbox = screen.getByRole( 'textbox' );
145
+ expect( textbox ).toHaveAttribute( 'dir', 'rtl' );
146
+ expect( textbox ).toHaveAttribute( 'data-testid', 'my-textbox' );
147
+ } );
148
+
149
+ it( 'forwards its ref to the contenteditable element', () => {
150
+ // The rich-text wiring (the `useRichText` ref, event-listener refs,
151
+ // an anchor ref, …) is injected through this forwarded ref.
152
+ const ref = jest.fn();
153
+ render( <ContentEditableControl label="Note" ref={ ref } /> );
154
+
155
+ expect( ref ).toHaveBeenCalledWith( screen.getByRole( 'textbox' ) );
156
+ } );
157
+
158
+ it( 'calls consumer-supplied focus and blur handlers', () => {
159
+ const onFocus = jest.fn();
160
+ const onBlur = jest.fn();
161
+ render(
162
+ <ContentEditableControl
163
+ label="Field"
164
+ onFocus={ onFocus }
165
+ onBlur={ onBlur }
166
+ />
167
+ );
168
+ const textbox = screen.getByRole( 'textbox' );
169
+
170
+ fireEvent.focus( textbox );
171
+ expect( onFocus ).toHaveBeenCalledTimes( 1 );
172
+
173
+ fireEvent.blur( textbox );
174
+ expect( onBlur ).toHaveBeenCalledTimes( 1 );
175
+ } );
176
+ } );
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { BaseControlProps } from '../base-control/types';
5
+
6
+ export type ContentEditableControlProps = Pick<
7
+ BaseControlProps,
8
+ 'className' | 'hideLabelFromVision' | 'help'
9
+ > & {
10
+ /**
11
+ * Label text for the control.
12
+ */
13
+ label: string;
14
+ /**
15
+ * Whether the field is non-editable. A disabled field is not
16
+ * `contentEditable` (so it is neither focusable nor editable) and exposes
17
+ * `aria-disabled` to assistive technology.
18
+ *
19
+ * @default false
20
+ */
21
+ disabled?: boolean;
22
+ /**
23
+ * Whether the field is required. Exposed to assistive technology via
24
+ * `aria-required`.
25
+ *
26
+ * @default false
27
+ */
28
+ required?: boolean;
29
+ /**
30
+ * Placeholder text shown while the element has no content. Exposed to
31
+ * assistive technology via `aria-placeholder` and drawn by the stylesheet
32
+ * when the element is empty.
33
+ */
34
+ placeholder?: string;
35
+ };
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`props should render _override props 1`] = `
4
4
  <div>
@@ -34,8 +34,13 @@ export type WordPressComponent<
34
34
  IsPolymorphic extends boolean,
35
35
  > = {
36
36
  < TT extends React.ElementType >(
37
- props: WordPressComponentProps< O, TT, IsPolymorphic > &
38
- ( IsPolymorphic extends true ? { as: TT } : {} )
37
+ props: WordPressComponentProps< O, TT, false > &
38
+ ( IsPolymorphic extends true
39
+ ? {
40
+ /** The HTML element or React component to render the component as. */
41
+ as: TT;
42
+ }
43
+ : {} )
39
44
  ): React.ReactNode;
40
45
  ( props: WordPressComponentProps< O, T, IsPolymorphic > ): React.ReactNode;
41
46
  displayName?: string;
@@ -1,15 +1,125 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { render, screen } from '@testing-library/react';
4
+ import { fireEvent, render, screen, waitFor } from '@testing-library/react';
5
5
  import userEvent from '@testing-library/user-event';
6
6
 
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { useState } from '@wordpress/element';
11
+
7
12
  /**
8
13
  * Internal dependencies
9
14
  */
10
15
  import CustomGradientPicker from '../';
11
16
 
17
+ function ControlledCustomGradientPicker( {
18
+ initialValue = 'linear-gradient(90deg,rgb(0,0,0) 0%,rgb(255,255,255) 100%)',
19
+ }: {
20
+ initialValue?: string;
21
+ } ) {
22
+ const [ value, setValue ] = useState( initialValue );
23
+ return <CustomGradientPicker value={ value } onChange={ setValue } />;
24
+ }
25
+
12
26
  describe( 'CustomGradientPicker', () => {
27
+ describe( 'new gradient stop color picker', () => {
28
+ it( 'preserves visual saturation when setting a new stop color through black', async () => {
29
+ const { container } = render( <ControlledCustomGradientPicker /> );
30
+
31
+ // Presentational gradient bar markup; no accessible roles.
32
+ // eslint-disable-next-line testing-library/no-container, testing-library/no-node-access
33
+ const markers = container.querySelector(
34
+ '.components-custom-gradient-picker__markers-container'
35
+ ) as HTMLElement;
36
+ markers.getBoundingClientRect = () =>
37
+ ( {
38
+ left: 0,
39
+ x: 0,
40
+ width: 200,
41
+ top: 0,
42
+ height: 20,
43
+ right: 200,
44
+ bottom: 20,
45
+ y: 0,
46
+ toJSON: () => ( {} ),
47
+ } ) as DOMRect;
48
+
49
+ // eslint-disable-next-line testing-library/no-container, testing-library/no-node-access
50
+ const bar = container.querySelector(
51
+ '.components-custom-gradient-picker__gradient-bar'
52
+ ) as HTMLElement;
53
+ // Hover mid-bar so the insert-point control appears (away from 0%/100%).
54
+ fireEvent.mouseMove( bar, { clientX: 100 } );
55
+
56
+ // eslint-disable-next-line testing-library/no-container, testing-library/no-node-access
57
+ const insertButton = container.querySelector(
58
+ '.components-custom-gradient-picker__insert-point-dropdown'
59
+ ) as HTMLElement;
60
+ expect( insertButton ).toBeTruthy();
61
+ fireEvent.click( insertButton );
62
+
63
+ const colorSlider = screen.getByRole( 'slider', { name: 'Color' } );
64
+ colorSlider.getBoundingClientRect = () =>
65
+ ( {
66
+ left: 0,
67
+ top: 0,
68
+ width: 100,
69
+ height: 100,
70
+ right: 100,
71
+ bottom: 100,
72
+ x: 0,
73
+ y: 0,
74
+ toJSON: () => ( {} ),
75
+ } ) as DOMRect;
76
+
77
+ // Choose a saturated mid-brightness color — creates the new stop and
78
+ // exercises parent gradient updates while picking.
79
+ fireEvent.mouseDown( colorSlider, {
80
+ buttons: 1,
81
+ pageX: 80,
82
+ pageY: 20,
83
+ clientX: 80,
84
+ clientY: 20,
85
+ } );
86
+
87
+ // ColorPicker content is portaled; pointer has no accessible role.
88
+ // eslint-disable-next-line testing-library/no-node-access
89
+ const pointer = document.querySelector(
90
+ '.react-colorful__saturation-pointer'
91
+ ) as HTMLElement;
92
+ expect( pointer ).toBeTruthy();
93
+ const leftBefore = pointer.style.left;
94
+ expect( parseFloat( leftBefore ) ).toBeGreaterThan( 50 );
95
+
96
+ // Keyboard to black — must not reset saturation via HSVA↔HSLA echo
97
+ // while the gradient parent keeps updating (#80110 / #80205).
98
+ colorSlider.focus();
99
+ for ( let i = 0; i < 20; i++ ) {
100
+ fireEvent.keyDown( colorSlider, {
101
+ key: 'ArrowDown',
102
+ keyCode: 40,
103
+ which: 40,
104
+ } );
105
+ }
106
+
107
+ expect( pointer ).toHaveStyle( {
108
+ top: '100%',
109
+ left: leftBefore,
110
+ } );
111
+
112
+ // Close the portaled popover so later tests are not affected by
113
+ // asynchronous Popover position updates.
114
+ fireEvent.click( insertButton );
115
+ await waitFor( () => {
116
+ expect(
117
+ screen.queryByRole( 'slider', { name: 'Color' } )
118
+ ).not.toBeInTheDocument();
119
+ } );
120
+ } );
121
+ } );
122
+
13
123
  describe( 'GradientTypePicker angle persistence', () => {
14
124
  it( 'should restore the previous linear angle when switching from radial back to linear', async () => {
15
125
  const user = userEvent.setup();
@@ -62,7 +62,6 @@ function CustomSelectControl< T extends CustomSelectOption >(
62
62
  const {
63
63
  // Prevent passing legacy props to internal component.
64
64
  __next40pxDefaultSize: _next40pxDefaultSize,
65
- __shouldNotWarnDeprecated36pxSize: _shouldNotWarnDeprecated36pxSize,
66
65
  describedBy,
67
66
  options,
68
67
  onChange,
@@ -177,7 +176,7 @@ function CustomSelectControl< T extends CustomSelectOption >(
177
176
  <CustomSelect
178
177
  aria-describedby={ descriptionId }
179
178
  renderSelectedValue={ renderSelectedValue }
180
- size={ size === '__unstable-large' ? 'default' : size }
179
+ size={ size }
181
180
  store={ store }
182
181
  className={ clsx(
183
182
  // Keeping the classname for legacy reasons
@@ -34,7 +34,7 @@ const meta: Meta< typeof CustomSelectControl > = {
34
34
  componentStatus: {
35
35
  status: 'recommended',
36
36
  whereUsed: 'global',
37
- notes: 'Will be superseded by `SelectControl` in `@wordpress/ui`, but continue using for now.',
37
+ notes: 'Will be superseded by [`SelectControl`](?path=/docs/design-system-components-form-selectcontrol--docs) in `@wordpress/ui`, but continue using for now.',
38
38
  },
39
39
  },
40
40
  decorators: [
@@ -0,0 +1,6 @@
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
+
3
+ exports[`Legacy size support treats __unstable-large the same as default 1`] = `
4
+ Snapshot Diff:
5
+ Compared values have no visual difference.
6
+ `;
@@ -694,6 +694,29 @@ describe.each( [
694
694
  } );
695
695
  } );
696
696
 
697
+ describe( 'Legacy size support', () => {
698
+ it( 'treats __unstable-large the same as default', async () => {
699
+ const options = [ { key: 'one', name: 'One' } ];
700
+
701
+ await render(
702
+ <UncontrolledCustomSelectControl label="Test" options={ options } />
703
+ );
704
+ await render(
705
+ <UncontrolledCustomSelectControl
706
+ label="Test"
707
+ options={ options }
708
+ // @ts-expect-error testing legacy runtime support for removed size type
709
+ size="__unstable-large"
710
+ />
711
+ );
712
+
713
+ const comboboxes = screen.getAllByRole( 'combobox' );
714
+ const [ defaultCombobox, legacyCombobox ] = comboboxes;
715
+
716
+ expect( legacyCombobox ).toMatchStyleDiffSnapshot( defaultCombobox );
717
+ } );
718
+ } );
719
+
697
720
  describe( 'Type checking', () => {
698
721
  // eslint-disable-next-line jest/expect-expect
699
722
  it( 'should infer the value type from available `options`, but not the `value` or `onChange` prop', () => {
@@ -89,7 +89,7 @@ export type CustomSelectProps< T extends CustomSelectOption > = {
89
89
  *
90
90
  * @default 'default'
91
91
  */
92
- size?: 'default' | 'small' | '__unstable-large';
92
+ size?: 'default' | 'small';
93
93
  /**
94
94
  * Can be used to externally control the value of the control.
95
95
  */
@@ -121,11 +121,4 @@ export type CustomSelectProps< T extends CustomSelectOption > = {
121
121
  * @ignore
122
122
  */
123
123
  __next40pxDefaultSize?: boolean;
124
- /**
125
- * Do not throw a warning for the deprecated 36px default size.
126
- * For internal components of other components that already throw the warning.
127
- *
128
- * @ignore
129
- */
130
- __shouldNotWarnDeprecated36pxSize?: boolean;
131
124
  };
@@ -131,11 +131,7 @@ function CustomSelect(
131
131
  >
132
132
  { label }
133
133
  </Ariakit.SelectLabel>
134
- <InputBase
135
- __next40pxDefaultSize
136
- size={ size }
137
- suffix={ <SelectControlChevronDown /> }
138
- >
134
+ <InputBase size={ size } suffix={ <SelectControlChevronDown /> }>
139
135
  <CustomSelectButton
140
136
  { ...restProps }
141
137
  size={ size }
@@ -34,7 +34,7 @@ const meta: Meta< typeof CustomSelectControlV2 > = {
34
34
  componentStatus: {
35
35
  status: 'not-recommended',
36
36
  whereUsed: 'global',
37
- notes: 'Will be superseded by `SelectControl` in `@wordpress/ui`. Continue using `CustomSelectControl` (v1) for now.',
37
+ notes: 'Will be superseded by [`SelectControl`](?path=/docs/design-system-components-form-selectcontrol--docs) in `@wordpress/ui`. Continue using `CustomSelectControl` (v1) for now.',
38
38
  },
39
39
  },
40
40
  decorators: [
@@ -38,7 +38,7 @@ export const NavigatorHeading = styled( Heading )`
38
38
  grid-column: 2 / 7;
39
39
 
40
40
  strong {
41
- font-weight: ${ CONFIG.fontWeightHeading };
41
+ font-weight: ${ CONFIG.fontWeightEmphasis };
42
42
  }
43
43
  `;
44
44
 
@@ -136,7 +136,6 @@ export function TimePicker( {
136
136
  className="components-datetime__time-field components-datetime__time-field-day" // Unused, for backwards compatibility.
137
137
  label={ __( 'Day' ) }
138
138
  hideLabelFromVision
139
- __next40pxDefaultSize
140
139
  value={ day }
141
140
  step={ 1 }
142
141
  min={ 1 }
@@ -177,7 +176,6 @@ export function TimePicker( {
177
176
  className="components-datetime__time-field components-datetime__time-field-year" // Unused, for backwards compatibility.
178
177
  label={ __( 'Year' ) }
179
178
  hideLabelFromVision
180
- __next40pxDefaultSize
181
179
  value={ year }
182
180
  step={ 1 }
183
181
  min={ 1 }