@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
package/CHANGELOG.md CHANGED
@@ -2,13 +2,89 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 37.0.0 (2026-07-14)
6
+
7
+ ### Enhancements
8
+
9
+ - `ControlWithError`: Remove redundant inline aria-live region for validation error messages to prevent duplicate announcements. ([#79600](https://github.com/WordPress/gutenberg/pull/79600)).
10
+
11
+ ### Breaking Changes
12
+
13
+ - `ExternalLink`: No longer sets the `rel` attribute by default. Consumers relying on the previous behavior should pass `rel` explicitly ([#79743](https://github.com/WordPress/gutenberg/pull/79743)).
14
+ - `View`: The legacy Emotion `css` prop no longer applies styles and is now accepted as a no-op for compatibility. Use `style` for inline styles or `className` for CSS-based styling instead ([#79443](https://github.com/WordPress/gutenberg/pull/79443)).
15
+ - Components that compose Emotion style fragments with `cx()` should pass source-order-dependent fragments in a single `css()` call. Passing separate fragments can change override order after the following components stopped rendering styles through Emotion:
16
+ - `Flex` ([#79450](https://github.com/WordPress/gutenberg/pull/79450))
17
+ - `Surface` ([#79445](https://github.com/WordPress/gutenberg/pull/79445))
18
+ - `Theme` ([#79447](https://github.com/WordPress/gutenberg/pull/79447))
19
+ - `Truncate` ([#79446](https://github.com/WordPress/gutenberg/pull/79446))
20
+ - `View` ([#79443](https://github.com/WordPress/gutenberg/pull/79443))
21
+ - The `__next40pxDefaultSize` prop is now true by default. The prop can be safely removed from the following:
22
+ - `BorderBoxControl` ([#79420](https://github.com/WordPress/gutenberg/pull/79420))
23
+ - `BorderControl` ([#79418](https://github.com/WordPress/gutenberg/pull/79418))
24
+ - `ComboboxControl` ([#79636](https://github.com/WordPress/gutenberg/pull/79636)).
25
+ - `CustomSelectControl` ([#79796](https://github.com/WordPress/gutenberg/pull/79796)).
26
+ - `FontSizePicker` ([#79481](https://github.com/WordPress/gutenberg/pull/79481))
27
+ - `FormFileUpload` ([#79655](https://github.com/WordPress/gutenberg/pull/79655))
28
+ - `FormTokenField` ([#79720](https://github.com/WordPress/gutenberg/pull/79720))
29
+ - `InputControl` ([#79962](https://github.com/WordPress/gutenberg/pull/79962))
30
+ - `RangeControl` ([#79590](https://github.com/WordPress/gutenberg/pull/79590))
31
+ - `Radio` ([#79657](https://github.com/WordPress/gutenberg/pull/79657))
32
+ - `SelectControl` ([#79797](https://github.com/WordPress/gutenberg/pull/79797))
33
+ - `ToggleGroupControl` ([#79656](https://github.com/WordPress/gutenberg/pull/79656))
34
+ - `TreeSelect` ([#79550](https://github.com/WordPress/gutenberg/pull/79550))
35
+ - `UnitControl` ([#79721](https://github.com/WordPress/gutenberg/pull/79721))
36
+ - `NumberControl` ([#79861](https://github.com/WordPress/gutenberg/pull/79861))
37
+
38
+ ### Enhancements
39
+
40
+ - Update emphasized labels and controls from the legacy medium weight to the emphasis font-weight token, and align the default font-family stack with the `@wordpress/theme` body token ([#80093](https://github.com/WordPress/gutenberg/pull/80093)).
41
+ - Widen React peer dependency ranges to `^18 || ^19` to support both React 18 and React 19 environments ([#80024](https://github.com/WordPress/gutenberg/pull/80024)).
42
+ - `Button`: Align focus rings with the design system ([#78646](https://github.com/WordPress/gutenberg/pull/78646)).
43
+ - The `size` prop no longer has any effect and can be safely removed from the following:
44
+ - `BorderBoxControl` ([#79420](https://github.com/WordPress/gutenberg/pull/79420))
45
+ - `BorderControl` ([#79418](https://github.com/WordPress/gutenberg/pull/79418))
46
+ - `FontSizePicker` ([#79481](https://github.com/WordPress/gutenberg/pull/79481))
47
+ - `ToggleGroupControl` ([#79656](https://github.com/WordPress/gutenberg/pull/79656))
48
+ - `Button`: Render the secondary variant's border with a real `border` instead of `box-shadow` ([#79982](https://github.com/WordPress/gutenberg/pull/79982)).
49
+
50
+ ### Documentation
51
+
52
+ - Document `clsx` object syntax for conditional CSS Module classes ([#79490](https://github.com/WordPress/gutenberg/pull/79490), [#79535](https://github.com/WordPress/gutenberg/pull/79535)).
53
+
54
+ ### Bug Fixes
55
+
56
+ - `Autocomplete`: Keep result items at regular font weight so they remain aligned with shared popup item typography ([#80196](https://github.com/WordPress/gutenberg/pull/80196)).
57
+ - `SandBox`: Inject the resize script into the document `<head>` so an unclosed attribute quote in the sandboxed HTML can no longer swallow the script and leak its source as visible text in the preview. ([#79920](https://github.com/WordPress/gutenberg/pull/79920))
58
+ - `Divider`: Restore lower-specificity border styles so custom border colors can override the default divider color. ([#79534](https://github.com/WordPress/gutenberg/pull/79534))
59
+ - `Button`: Fix the focus ring for buttons rendered as links ([#79837](https://github.com/WordPress/gutenberg/pull/79837)).
60
+ - `Button`: Remove a flash of the WordPress core focus ring while a button rendered as a link is pressed ([#80082](https://github.com/WordPress/gutenberg/pull/80082)).
61
+ - `BorderBoxControl`: Fix the unlink button positioning by restoring the linked control's right-hand margin, which was overridden by `BorderControl`'s base `margin: 0` after `View` stopped rendering styles through Emotion ([#79967](https://github.com/WordPress/gutenberg/pull/79967)).
62
+ - `Panel`: Fix the body toggle focus style ([#80064](https://github.com/WordPress/gutenberg/pull/80064)).
63
+
64
+ ### Internal
65
+
66
+ - Add a private, presentational `ContentEditableControl`: a labeled `contentEditable` form field. The rich-text behavior is injected by the consumer (e.g. the DataViews `richtext` control), keeping the component free of any `@wordpress/rich-text` dependency ([#78471](https://github.com/WordPress/gutenberg/pull/78471)).
67
+ - `Autocomplete`: subscribe the keyboard listener through the rich text selection owner, so it also handles events targeting a focused editing host ([#79105](https://github.com/WordPress/gutenberg/pull/79105)).
68
+ - Enforce CSS Module class selector naming for component-library packages ([#79504](https://github.com/WordPress/gutenberg/pull/79504)).
69
+ - Update `@ariakit/react` to `0.4.32` ([#79860](https://github.com/WordPress/gutenberg/pull/79860)).
70
+ - `Flex`: Migrate styles from Emotion to SCSS Modules ([#79450](https://github.com/WordPress/gutenberg/pull/79450)).
71
+ - `Spacer`: Migrate styles from Emotion to SCSS Modules ([#79449](https://github.com/WordPress/gutenberg/pull/79449)).
72
+ - `Surface`: Migrate styles from Emotion to SCSS Modules and use WPDS tokens for migrated visual values ([#79445](https://github.com/WordPress/gutenberg/pull/79445)).
73
+ - `Theme`: Migrate styles from Emotion to SCSS Modules ([#79447](https://github.com/WordPress/gutenberg/pull/79447)).
74
+ - `Truncate`: Migrate styles from Emotion to SCSS Modules ([#79446](https://github.com/WordPress/gutenberg/pull/79446)).
75
+ - `View`: Migrate away from Emotion while preserving polymorphic `as` behavior and style cascade order ([#79443](https://github.com/WordPress/gutenberg/pull/79443)).
76
+
77
+ ## 36.1.0 (2026-07-01)
78
+
5
79
  ## 36.0.0 (2026-06-24)
6
80
 
7
81
  ### Breaking Changes
8
82
 
9
- - The `__next40pxDefaultSize` prop is now true by default. The prop can be safely removed ([#79386](https://github.com/WordPress/gutenberg/pull/79386), [#79419](https://github.com/WordPress/gutenberg/pull/79419)):
10
- - `BoxControl`
11
- - `TextControl`
83
+ - Components that compose Emotion style fragments with `cx()` should pass source-order-dependent fragments in a single `css()` call. Passing separate fragments can change override order after the following components stopped rendering styles through Emotion:
84
+ - `Divider` ([#79444](https://github.com/WordPress/gutenberg/pull/79444))
85
+ - The `__next40pxDefaultSize` prop is now true by default. The prop can be safely removed from the following:
86
+ - `BoxControl` ([#79419](https://github.com/WordPress/gutenberg/pull/79419))
87
+ - `TextControl` ([#79386](https://github.com/WordPress/gutenberg/pull/79386))
12
88
 
13
89
  ### Enhancements
14
90
 
@@ -32,6 +108,7 @@
32
108
  ### Documentation
33
109
 
34
110
  - `Menu`: Fix `overriden` typo to `overridden` in `CheckboxItemProps` and `RadioItemProps`. ([#79331](https://github.com/WordPress/gutenberg/pull/79331))
111
+ - Add component documentation for `ColorPicker`, `CustomSelectControl`, `Navigator`, `NumberControl`, `ResizableBox`, and `Slot` components ([#79460](https://github.com/WordPress/gutenberg/pull/79460)).
35
112
 
36
113
  ### Code Quality
37
114
 
package/CONTRIBUTING.md CHANGED
@@ -418,7 +418,7 @@ On the component's main named export, add a JSDoc comment that includes the main
418
418
 
419
419
  All new components should be styled using SCSS Modules.
420
420
 
421
- Place component-local styles in a `style.module.scss` file next to the component, import the module from JavaScript or TypeScript, and compose class names with `clsx`. Preserve existing public `components-*` class names where consumers may rely on them. For dynamic values, prefer inline CSS custom properties consumed by the SCSS module. For variants and state, prefer conditional module classes composed with `clsx`.
421
+ Place component-local styles in a `style.module.scss` file next to the component, import the module from JavaScript or TypeScript, and compose class names with `clsx`. Preserve existing public `components-*` class names where consumers may rely on them. For dynamic values, prefer inline CSS custom properties consumed by the SCSS module. For variants and state, prefer conditional module classes composed with `clsx` object syntax, e.g. `{ [ styles.className ]: condition }`.
422
422
 
423
423
  Legacy components may still use Emotion while they are being migrated, but new Emotion usage should not be added.
424
424
 
@@ -445,9 +445,11 @@ function MyComponent( { __nextHasNoOuterMargins = false, className } ) {
445
445
  className={ clsx(
446
446
  'components-my-component',
447
447
  styles.root,
448
- ! __nextHasNoOuterMargins &&
449
- styles.deprecatedOuterMargins,
450
- className
448
+ className,
449
+ {
450
+ [ styles.deprecatedOuterMargins ]:
451
+ ! __nextHasNoOuterMargins,
452
+ }
451
453
  ) }
452
454
  />
453
455
  );
@@ -76,7 +76,6 @@ function UnforwardedAnglePickerControl(props, ref) {
76
76
  gap: 2,
77
77
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_flex.FlexBlock, {
78
78
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_number_control.default, {
79
- __next40pxDefaultSize: true,
80
79
  label,
81
80
  className: "components-angle-picker-control__input-field",
82
81
  max: 360,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/angle-picker-control/index.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\n\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Flex, FlexBlock } from '../flex';\nimport { Spacer } from '../spacer';\nimport NumberControl from '../number-control';\nimport InputControlPrefixWrapper from '../input-control/input-prefix-wrapper';\nimport InputControlSuffixWrapper from '../input-control/input-suffix-wrapper';\nimport AngleCircle from './angle-circle';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction UnforwardedAnglePickerControl(props, ref) {\n const {\n className,\n label = __('Angle'),\n onChange,\n value,\n ...restProps\n } = props;\n const handleOnNumberChange = unprocessedValue => {\n if (onChange === undefined) {\n return;\n }\n const inputValue = unprocessedValue !== undefined && unprocessedValue !== '' ? parseInt(unprocessedValue, 10) : 0;\n onChange(inputValue);\n };\n const classes = clsx('components-angle-picker-control', className);\n\n // Override the default behavior and position the degree symbol to the\n // right of the number, regardless of the language direction.\n const prefixOrSuffixProp = isRTL() ? {\n prefix: /*#__PURE__*/_jsx(InputControlPrefixWrapper, {\n children: \"\\xB0\"\n })\n } : {\n suffix: /*#__PURE__*/_jsx(InputControlSuffixWrapper, {\n children: \"\\xB0\"\n })\n };\n return /*#__PURE__*/_jsxs(Flex, {\n ...restProps,\n ref: ref,\n className: classes,\n gap: 2,\n children: [/*#__PURE__*/_jsx(FlexBlock, {\n children: /*#__PURE__*/_jsx(NumberControl, {\n __next40pxDefaultSize: true,\n label: label,\n className: \"components-angle-picker-control__input-field\",\n max: 360,\n min: 0,\n onChange: handleOnNumberChange,\n step: \"1\",\n value: value,\n spinControls: \"none\",\n ...prefixOrSuffixProp\n })\n }), /*#__PURE__*/_jsx(Spacer, {\n marginBottom: \"1\",\n marginTop: \"auto\",\n children: /*#__PURE__*/_jsx(AngleCircle, {\n \"aria-hidden\": \"true\",\n value: value,\n onChange: onChange\n })\n })]\n });\n}\n\n/**\n * `AnglePickerControl` is a React component to render a UI that allows users to\n * pick an angle. Users can choose an angle in a visual UI with the mouse by\n * dragging an angle indicator inside a circle or by directly inserting the\n * desired angle in a text field.\n *\n * ```jsx\n * import { useState } from '@wordpress/element';\n * import { AnglePickerControl } from '@wordpress/components';\n *\n * function Example() {\n * const [ angle, setAngle ] = useState( 0 );\n * return (\n * <AnglePickerControl\n * value={ angle }\n * onChange={ setAngle }\n * />\n * );\n * }\n * ```\n */\nexport const AnglePickerControl = forwardRef(UnforwardedAnglePickerControl);\nAnglePickerControl.displayName = 'AnglePickerControl';\nexport default AnglePickerControl;"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,kBAAiB;AAKjB,qBAA2B;AAC3B,kBAA0B;AAK1B,kBAAgC;AAChC,oBAAuB;AACvB,4BAA0B;AAC1B,kCAAsC;AACtC,kCAAsC;AACtC,0BAAwB;AACxB,yBAA2C;AAC3C,SAAS,8BAA8B,OAAO,KAAK;AACjD,QAAM;AAAA,IACJ;AAAA,IACA,YAAQ,gBAAG,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,uBAAuB,sBAAoB;AAC/C,QAAI,aAAa,QAAW;AAC1B;AAAA,IACF;AACA,UAAM,aAAa,qBAAqB,UAAa,qBAAqB,KAAK,SAAS,kBAAkB,EAAE,IAAI;AAChH,aAAS,UAAU;AAAA,EACrB;AACA,QAAM,cAAU,YAAAA,SAAK,mCAAmC,SAAS;AAIjE,QAAM,yBAAqB,mBAAM,IAAI;AAAA,IACnC,QAAqB,uCAAAC,KAAK,4BAAAC,SAA2B;AAAA,MACnD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,IAAI;AAAA,IACF,QAAqB,uCAAAD,KAAK,4BAAAE,SAA2B;AAAA,MACnD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AACA,SAAoB,uCAAAC,MAAM,kBAAM;AAAA,IAC9B,GAAG;AAAA,IACH;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL,UAAU,CAAc,uCAAAH,KAAK,uBAAW;AAAA,MACtC,UAAuB,uCAAAA,KAAK,sBAAAI,SAAe;AAAA,QACzC,uBAAuB;AAAA,QACvB;AAAA,QACA,WAAW;AAAA,QACX,KAAK;AAAA,QACL,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM;AAAA,QACN;AAAA,QACA,cAAc;AAAA,QACd,GAAG;AAAA,MACL,CAAC;AAAA,IACH,CAAC,GAAgB,uCAAAJ,KAAK,sBAAQ;AAAA,MAC5B,cAAc;AAAA,MACd,WAAW;AAAA,MACX,UAAuB,uCAAAA,KAAK,oBAAAK,SAAa;AAAA,QACvC,eAAe;AAAA,QACf;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AAuBO,IAAM,yBAAqB,2BAAW,6BAA6B;AAC1E,mBAAmB,cAAc;AACjC,IAAO,+BAAQ;",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\n\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Flex, FlexBlock } from '../flex';\nimport { Spacer } from '../spacer';\nimport NumberControl from '../number-control';\nimport InputControlPrefixWrapper from '../input-control/input-prefix-wrapper';\nimport InputControlSuffixWrapper from '../input-control/input-suffix-wrapper';\nimport AngleCircle from './angle-circle';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction UnforwardedAnglePickerControl(props, ref) {\n const {\n className,\n label = __('Angle'),\n onChange,\n value,\n ...restProps\n } = props;\n const handleOnNumberChange = unprocessedValue => {\n if (onChange === undefined) {\n return;\n }\n const inputValue = unprocessedValue !== undefined && unprocessedValue !== '' ? parseInt(unprocessedValue, 10) : 0;\n onChange(inputValue);\n };\n const classes = clsx('components-angle-picker-control', className);\n\n // Override the default behavior and position the degree symbol to the\n // right of the number, regardless of the language direction.\n const prefixOrSuffixProp = isRTL() ? {\n prefix: /*#__PURE__*/_jsx(InputControlPrefixWrapper, {\n children: \"\\xB0\"\n })\n } : {\n suffix: /*#__PURE__*/_jsx(InputControlSuffixWrapper, {\n children: \"\\xB0\"\n })\n };\n return /*#__PURE__*/_jsxs(Flex, {\n ...restProps,\n ref: ref,\n className: classes,\n gap: 2,\n children: [/*#__PURE__*/_jsx(FlexBlock, {\n children: /*#__PURE__*/_jsx(NumberControl, {\n label: label,\n className: \"components-angle-picker-control__input-field\",\n max: 360,\n min: 0,\n onChange: handleOnNumberChange,\n step: \"1\",\n value: value,\n spinControls: \"none\",\n ...prefixOrSuffixProp\n })\n }), /*#__PURE__*/_jsx(Spacer, {\n marginBottom: \"1\",\n marginTop: \"auto\",\n children: /*#__PURE__*/_jsx(AngleCircle, {\n \"aria-hidden\": \"true\",\n value: value,\n onChange: onChange\n })\n })]\n });\n}\n\n/**\n * `AnglePickerControl` is a React component to render a UI that allows users to\n * pick an angle. Users can choose an angle in a visual UI with the mouse by\n * dragging an angle indicator inside a circle or by directly inserting the\n * desired angle in a text field.\n *\n * ```jsx\n * import { useState } from '@wordpress/element';\n * import { AnglePickerControl } from '@wordpress/components';\n *\n * function Example() {\n * const [ angle, setAngle ] = useState( 0 );\n * return (\n * <AnglePickerControl\n * value={ angle }\n * onChange={ setAngle }\n * />\n * );\n * }\n * ```\n */\nexport const AnglePickerControl = forwardRef(UnforwardedAnglePickerControl);\nAnglePickerControl.displayName = 'AnglePickerControl';\nexport default AnglePickerControl;"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,kBAAiB;AAKjB,qBAA2B;AAC3B,kBAA0B;AAK1B,kBAAgC;AAChC,oBAAuB;AACvB,4BAA0B;AAC1B,kCAAsC;AACtC,kCAAsC;AACtC,0BAAwB;AACxB,yBAA2C;AAC3C,SAAS,8BAA8B,OAAO,KAAK;AACjD,QAAM;AAAA,IACJ;AAAA,IACA,YAAQ,gBAAG,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,uBAAuB,sBAAoB;AAC/C,QAAI,aAAa,QAAW;AAC1B;AAAA,IACF;AACA,UAAM,aAAa,qBAAqB,UAAa,qBAAqB,KAAK,SAAS,kBAAkB,EAAE,IAAI;AAChH,aAAS,UAAU;AAAA,EACrB;AACA,QAAM,cAAU,YAAAA,SAAK,mCAAmC,SAAS;AAIjE,QAAM,yBAAqB,mBAAM,IAAI;AAAA,IACnC,QAAqB,uCAAAC,KAAK,4BAAAC,SAA2B;AAAA,MACnD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,IAAI;AAAA,IACF,QAAqB,uCAAAD,KAAK,4BAAAE,SAA2B;AAAA,MACnD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AACA,SAAoB,uCAAAC,MAAM,kBAAM;AAAA,IAC9B,GAAG;AAAA,IACH;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL,UAAU,CAAc,uCAAAH,KAAK,uBAAW;AAAA,MACtC,UAAuB,uCAAAA,KAAK,sBAAAI,SAAe;AAAA,QACzC;AAAA,QACA,WAAW;AAAA,QACX,KAAK;AAAA,QACL,KAAK;AAAA,QACL,UAAU;AAAA,QACV,MAAM;AAAA,QACN;AAAA,QACA,cAAc;AAAA,QACd,GAAG;AAAA,MACL,CAAC;AAAA,IACH,CAAC,GAAgB,uCAAAJ,KAAK,sBAAQ;AAAA,MAC5B,cAAc;AAAA,MACd,WAAW;AAAA,MACX,UAAuB,uCAAAA,KAAK,oBAAAK,SAAa;AAAA,QACvC,eAAe;AAAA,QACf;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AAuBO,IAAM,yBAAqB,2BAAW,6BAA6B;AAC1E,mBAAmB,cAAc;AACjC,IAAO,+BAAQ;",
6
6
  "names": ["clsx", "_jsx", "InputControlPrefixWrapper", "InputControlSuffixWrapper", "_jsxs", "NumberControl", "AngleCircle"]
7
7
  }
@@ -48,8 +48,8 @@ var import_get_node_text = __toESM(require("../utils/get-node-text.cjs"));
48
48
  var import_lock_unlock = require("../lock-unlock.cjs");
49
49
  var import_jsx_runtime = require("react/jsx-runtime");
50
50
  var {
51
- subscribeDelegatedListener
52
- } = (0, import_lock_unlock.unlock)(import_compose.privateApis);
51
+ subscribeOwnedListener
52
+ } = (0, import_lock_unlock.unlock)(import_rich_text.privateApis);
53
53
  var EMPTY_FILTERED_OPTIONS = [];
54
54
  var AUTOCOMPLETE_HOOK_REFERENCE = {};
55
55
  function getCompletionObject(completion) {
@@ -315,7 +315,7 @@ function useAutocompleteProps(options) {
315
315
  function _onKeyDown(event) {
316
316
  onKeyDownRef.current?.(event);
317
317
  }
318
- return subscribeDelegatedListener(element, "keydown", _onKeyDown, true);
318
+ return subscribeOwnedListener(element, "keydown", _onKeyDown, true);
319
319
  }, [])]);
320
320
  const didUserInput = record.text !== previousRecord?.text;
321
321
  if (!didUserInput) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/autocomplete/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { renderToString, useEffect, useMemo, useReducer, useRef } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs, useRefEffect, privateApis as composePrivateApis } from '@wordpress/compose';\nimport { create, slice, insert, isCollapsed, getTextContent } from '@wordpress/rich-text';\nimport { speak } from '@wordpress/a11y';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { AutocompleterUI } from './autocompleter-ui';\nimport { getAutocompleteMatch } from './get-autocomplete-match';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\nimport getNodeText from '../utils/get-node-text';\nimport { unlock } from '../lock-unlock';\nimport { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst {\n subscribeDelegatedListener\n} = unlock(composePrivateApis);\nconst EMPTY_FILTERED_OPTIONS = [];\n\n// Used for generating the instance ID\nconst AUTOCOMPLETE_HOOK_REFERENCE = {};\nfunction getCompletionObject(completion) {\n if (completion !== null && typeof completion === 'object' && 'action' in completion && completion.action !== undefined && 'value' in completion && completion.value !== undefined) {\n return completion;\n }\n return {\n action: 'insert-at-caret',\n value: completion\n };\n}\nconst initialState = {\n selectedIndex: 0,\n filteredOptions: EMPTY_FILTERED_OPTIONS,\n filterValue: '',\n autocompleter: null\n};\nfunction autocompleteReducer(state, action) {\n switch (action.type) {\n case 'RESET':\n return initialState;\n case 'SELECT':\n return {\n ...state,\n selectedIndex: action.index\n };\n case 'OPTIONS':\n return {\n ...state,\n filteredOptions: action.options,\n selectedIndex: action.options.length === state.filteredOptions.length ? state.selectedIndex : 0\n };\n case 'MATCH':\n return {\n ...state,\n autocompleter: action.completer,\n filterValue: action.query\n };\n }\n}\nexport function useAutocomplete({\n record,\n onChange,\n onReplace,\n completers,\n contentRef\n}) {\n const instanceId = useInstanceId(AUTOCOMPLETE_HOOK_REFERENCE);\n const [state, dispatch] = useReducer(autocompleteReducer, initialState);\n const {\n selectedIndex,\n filteredOptions,\n filterValue,\n autocompleter\n } = state;\n const backspacingRef = useRef(false);\n const prevRecordTextRef = useRef('');\n const lastCompletionRef = useRef(null);\n function insertCompletion(replacement) {\n if (autocompleter === null) {\n return '';\n }\n const end = record.start;\n const start = end - autocompleter.triggerPrefix.length - filterValue.length;\n const toInsert = create({\n html: renderToString(replacement)\n });\n onChange(insert(record, toInsert, start, end));\n return getTextContent(toInsert);\n }\n function select(option) {\n if (option.isDisabled || !autocompleter) {\n return;\n }\n const {\n getOptionCompletion\n } = autocompleter;\n if (!getOptionCompletion) {\n dispatch({\n type: 'RESET'\n });\n contentRef.current?.focus();\n return;\n }\n const completionObject = getCompletionObject(getOptionCompletion(option.value, filterValue));\n if ('replace' === completionObject.action) {\n onReplace([completionObject.value]);\n // When replacing, the component will unmount, so don't reset\n // state (below) on an unmounted component.\n return;\n }\n if ('insert-at-caret' === completionObject.action) {\n const completionText = insertCompletion(completionObject.value);\n // When the completion value starts with the trigger prefix\n // (e.g. @username), the trigger stays in the text and would\n // re-activate the autocompleter. Store the completed text so\n // the effect can suppress the stale re-match.\n if (completionText.startsWith(autocompleter.triggerPrefix)) {\n const afterPrefix = completionText.slice(autocompleter.triggerPrefix.length);\n if (afterPrefix) {\n lastCompletionRef.current = {\n name: autocompleter.name,\n value: afterPrefix\n };\n }\n }\n }\n\n // Reset autocomplete state after insertion rather than before\n // so insertion events don't cause the completion menu to redisplay.\n dispatch({\n type: 'RESET'\n });\n\n // Make sure that the content remains focused after making a selection\n // and that the text cursor position is not lost.\n contentRef.current?.focus();\n }\n function onChangeOptions(options) {\n dispatch({\n type: 'OPTIONS',\n options\n });\n }\n function handleKeyDown(event) {\n backspacingRef.current = event.key === 'Backspace';\n if (!autocompleter) {\n return;\n }\n if (filteredOptions.length === 0) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n {\n const offset = event.key === 'ArrowUp' ? -1 : 1;\n const newIndex = (selectedIndex + offset + filteredOptions.length) % filteredOptions.length;\n dispatch({\n type: 'SELECT',\n index: newIndex\n });\n // See the related PR as to why this is necessary: https://github.com/WordPress/gutenberg/pull/54902.\n if (isAppleOS()) {\n speak(getNodeText(filteredOptions[newIndex].label), 'assertive');\n }\n break;\n }\n case 'Escape':\n dispatch({\n type: 'RESET'\n });\n event.preventDefault();\n break;\n case 'Enter':\n select(filteredOptions[selectedIndex]);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n dispatch({\n type: 'RESET'\n });\n return;\n default:\n return;\n }\n\n // Any handled key should prevent original behavior. This relies on\n // the early return in the default case.\n event.preventDefault();\n }\n\n // textContent is a primitive (string), memoizing is not strictly necessary\n // but this is a preemptive performance improvement, since the autocompleter\n // is a potential bottleneck for the editor type metric.\n const textContent = useMemo(() => {\n if (isCollapsed(record)) {\n return getTextContent(slice(record, 0));\n }\n return '';\n }, [record]);\n useEffect(() => {\n const isTextChange = record.text !== prevRecordTextRef.current;\n prevRecordTextRef.current = record.text;\n function getTextAfterSelection() {\n return textContent ? getTextContent(slice(record, undefined, getTextContent(record).length)) : '';\n }\n const match = getAutocompleteMatch(textContent, completers, {\n matchCount: filteredOptions.length,\n isBackspacing: backspacingRef.current,\n getTextAfterSelection,\n lastCompletion: lastCompletionRef.current\n });\n if (!match) {\n if (autocompleter) {\n dispatch({\n type: 'RESET'\n });\n }\n return;\n }\n const {\n completer,\n filterValue: query\n } = match;\n\n // Don't re-activate a dismissed autocompleter on cursor-only\n // movement. `textContent` (text before cursor) changes with the\n // caret, so the effect re-runs, but `record.text` does not.\n // Complements the render-time `didUserInput` gate in\n // `useAutocompleteProps` for callers using this hook directly.\n if (!autocompleter && !isTextChange) {\n return;\n }\n\n // Clear stale completion ref when the user types a new trigger\n // for the same completer (the previous completion is no longer\n // relevant). Must be after the cursor-only check so that mere\n // cursor movement doesn't discard the suppression state.\n if (lastCompletionRef.current && lastCompletionRef.current.name === completer.name) {\n lastCompletionRef.current = null;\n }\n dispatch({\n type: 'MATCH',\n completer,\n query\n });\n // We want to avoid introducing unexpected side effects.\n // See https://github.com/WordPress/gutenberg/pull/41820\n }, [textContent]);\n const {\n key: selectedKey = ''\n } = filteredOptions[selectedIndex] || {};\n const {\n className\n } = autocompleter || {};\n const isExpanded = !!autocompleter && filteredOptions.length > 0;\n const listBoxId = isExpanded ? `components-autocomplete-listbox-${instanceId}` : undefined;\n const activeId = isExpanded ? `components-autocomplete-item-${instanceId}-${selectedKey}` : null;\n const hasSelection = record.start !== undefined;\n const showPopover = !!textContent && hasSelection && !!autocompleter;\n return {\n listBoxId,\n activeId,\n onKeyDown: withIgnoreIMEEvents(handleKeyDown),\n popover: showPopover && /*#__PURE__*/_jsx(AutocompleterUI, {\n autocompleter: autocompleter,\n className: className,\n filterValue: filterValue,\n instanceId: instanceId,\n listBoxId: listBoxId,\n selectedIndex: selectedIndex,\n onChangeOptions: onChangeOptions,\n onSelect: select,\n contentRef: contentRef,\n reset: () => dispatch({\n type: 'RESET'\n })\n }, autocompleter.name + autocompleter.triggerPrefix)\n };\n}\n\n/**\n * Checks whether two records represent the same user-visible state\n * (same text content and cursor position).\n */\nfunction recordValuesMatch(a, b) {\n return a.text === b.text && a.start === b.start && a.end === b.end;\n}\n\n/**\n * Tracks the last record whose value differed from the current one.\n * Used to determine whether the user has actually typed something\n */\nexport function useLastDifferentValue(value) {\n const history = useRef([]);\n const lastEntry = history.current[history.current.length - 1];\n\n // Only add to history if the value is meaningfully different from\n // the most recent entry (analogous to Set.add being a no-op for\n // duplicate references in the original implementation).\n if (!lastEntry || !recordValuesMatch(value, lastEntry)) {\n history.current.push(value);\n }\n\n // Keep the history size to 2.\n if (history.current.length > 2) {\n history.current.shift();\n }\n return history.current[0];\n}\nexport function useAutocompleteProps(options) {\n const ref = useRef(null);\n const onKeyDownRef = useRef(undefined);\n const {\n record\n } = options;\n const previousRecord = useLastDifferentValue(record);\n const {\n popover,\n listBoxId,\n activeId,\n onKeyDown\n } = useAutocomplete({\n ...options,\n contentRef: ref\n });\n onKeyDownRef.current = onKeyDown;\n const mergedRefs = useMergeRefs([ref, useRefEffect(element => {\n function _onKeyDown(event) {\n onKeyDownRef.current?.(event);\n }\n // Capture phase. When the autocomplete popover is open,\n // Up/Down/Enter/Escape must navigate the completion list —\n // they shouldn't be consumed by ancestor handlers (e.g.\n // block-editor's writing-flow) for block navigation, block\n // splitting, or \"move out of parent\" actions. Those handlers\n // fire at bubble phase and gate on `event.defaultPrevented`,\n // so firing in capture lets us preventDefault first when the\n // popover is active.\n return subscribeDelegatedListener(element, 'keydown', _onKeyDown, true);\n }, [])]);\n\n // We only want to show the popover if the user has typed something.\n const didUserInput = record.text !== previousRecord?.text;\n if (!didUserInput) {\n return {\n ref: mergedRefs\n };\n }\n return {\n ref: mergedRefs,\n children: popover,\n 'aria-autocomplete': listBoxId ? 'list' : undefined,\n 'aria-owns': listBoxId,\n 'aria-activedescendant': activeId\n };\n}\nexport default function Autocomplete({\n children,\n isSelected,\n ...options\n}) {\n const {\n popover,\n ...props\n } = useAutocomplete(options);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [children(props), isSelected && popover]\n });\n}"],
5
- "mappings": "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",
6
- "names": ["composePrivateApis", "getNodeText", "_jsx", "_jsxs", "_Fragment"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { renderToString, useEffect, useMemo, useReducer, useRef } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { create, slice, insert, isCollapsed, getTextContent, privateApis as richTextPrivateApis } from '@wordpress/rich-text';\nimport { speak } from '@wordpress/a11y';\nimport { isAppleOS } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { AutocompleterUI } from './autocompleter-ui';\nimport { getAutocompleteMatch } from './get-autocomplete-match';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\nimport getNodeText from '../utils/get-node-text';\nimport { unlock } from '../lock-unlock';\nimport { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst {\n subscribeOwnedListener\n} = unlock(richTextPrivateApis);\nconst EMPTY_FILTERED_OPTIONS = [];\n\n// Used for generating the instance ID\nconst AUTOCOMPLETE_HOOK_REFERENCE = {};\nfunction getCompletionObject(completion) {\n if (completion !== null && typeof completion === 'object' && 'action' in completion && completion.action !== undefined && 'value' in completion && completion.value !== undefined) {\n return completion;\n }\n return {\n action: 'insert-at-caret',\n value: completion\n };\n}\nconst initialState = {\n selectedIndex: 0,\n filteredOptions: EMPTY_FILTERED_OPTIONS,\n filterValue: '',\n autocompleter: null\n};\nfunction autocompleteReducer(state, action) {\n switch (action.type) {\n case 'RESET':\n return initialState;\n case 'SELECT':\n return {\n ...state,\n selectedIndex: action.index\n };\n case 'OPTIONS':\n return {\n ...state,\n filteredOptions: action.options,\n selectedIndex: action.options.length === state.filteredOptions.length ? state.selectedIndex : 0\n };\n case 'MATCH':\n return {\n ...state,\n autocompleter: action.completer,\n filterValue: action.query\n };\n }\n}\nexport function useAutocomplete({\n record,\n onChange,\n onReplace,\n completers,\n contentRef\n}) {\n const instanceId = useInstanceId(AUTOCOMPLETE_HOOK_REFERENCE);\n const [state, dispatch] = useReducer(autocompleteReducer, initialState);\n const {\n selectedIndex,\n filteredOptions,\n filterValue,\n autocompleter\n } = state;\n const backspacingRef = useRef(false);\n const prevRecordTextRef = useRef('');\n const lastCompletionRef = useRef(null);\n function insertCompletion(replacement) {\n if (autocompleter === null) {\n return '';\n }\n const end = record.start;\n const start = end - autocompleter.triggerPrefix.length - filterValue.length;\n const toInsert = create({\n html: renderToString(replacement)\n });\n onChange(insert(record, toInsert, start, end));\n return getTextContent(toInsert);\n }\n function select(option) {\n if (option.isDisabled || !autocompleter) {\n return;\n }\n const {\n getOptionCompletion\n } = autocompleter;\n if (!getOptionCompletion) {\n dispatch({\n type: 'RESET'\n });\n contentRef.current?.focus();\n return;\n }\n const completionObject = getCompletionObject(getOptionCompletion(option.value, filterValue));\n if ('replace' === completionObject.action) {\n onReplace([completionObject.value]);\n // When replacing, the component will unmount, so don't reset\n // state (below) on an unmounted component.\n return;\n }\n if ('insert-at-caret' === completionObject.action) {\n const completionText = insertCompletion(completionObject.value);\n // When the completion value starts with the trigger prefix\n // (e.g. @username), the trigger stays in the text and would\n // re-activate the autocompleter. Store the completed text so\n // the effect can suppress the stale re-match.\n if (completionText.startsWith(autocompleter.triggerPrefix)) {\n const afterPrefix = completionText.slice(autocompleter.triggerPrefix.length);\n if (afterPrefix) {\n lastCompletionRef.current = {\n name: autocompleter.name,\n value: afterPrefix\n };\n }\n }\n }\n\n // Reset autocomplete state after insertion rather than before\n // so insertion events don't cause the completion menu to redisplay.\n dispatch({\n type: 'RESET'\n });\n\n // Make sure that the content remains focused after making a selection\n // and that the text cursor position is not lost.\n contentRef.current?.focus();\n }\n function onChangeOptions(options) {\n dispatch({\n type: 'OPTIONS',\n options\n });\n }\n function handleKeyDown(event) {\n backspacingRef.current = event.key === 'Backspace';\n if (!autocompleter) {\n return;\n }\n if (filteredOptions.length === 0) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n {\n const offset = event.key === 'ArrowUp' ? -1 : 1;\n const newIndex = (selectedIndex + offset + filteredOptions.length) % filteredOptions.length;\n dispatch({\n type: 'SELECT',\n index: newIndex\n });\n // See the related PR as to why this is necessary: https://github.com/WordPress/gutenberg/pull/54902.\n if (isAppleOS()) {\n speak(getNodeText(filteredOptions[newIndex].label), 'assertive');\n }\n break;\n }\n case 'Escape':\n dispatch({\n type: 'RESET'\n });\n event.preventDefault();\n break;\n case 'Enter':\n select(filteredOptions[selectedIndex]);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n dispatch({\n type: 'RESET'\n });\n return;\n default:\n return;\n }\n\n // Any handled key should prevent original behavior. This relies on\n // the early return in the default case.\n event.preventDefault();\n }\n\n // textContent is a primitive (string), memoizing is not strictly necessary\n // but this is a preemptive performance improvement, since the autocompleter\n // is a potential bottleneck for the editor type metric.\n const textContent = useMemo(() => {\n if (isCollapsed(record)) {\n return getTextContent(slice(record, 0));\n }\n return '';\n }, [record]);\n useEffect(() => {\n const isTextChange = record.text !== prevRecordTextRef.current;\n prevRecordTextRef.current = record.text;\n function getTextAfterSelection() {\n return textContent ? getTextContent(slice(record, undefined, getTextContent(record).length)) : '';\n }\n const match = getAutocompleteMatch(textContent, completers, {\n matchCount: filteredOptions.length,\n isBackspacing: backspacingRef.current,\n getTextAfterSelection,\n lastCompletion: lastCompletionRef.current\n });\n if (!match) {\n if (autocompleter) {\n dispatch({\n type: 'RESET'\n });\n }\n return;\n }\n const {\n completer,\n filterValue: query\n } = match;\n\n // Don't re-activate a dismissed autocompleter on cursor-only\n // movement. `textContent` (text before cursor) changes with the\n // caret, so the effect re-runs, but `record.text` does not.\n // Complements the render-time `didUserInput` gate in\n // `useAutocompleteProps` for callers using this hook directly.\n if (!autocompleter && !isTextChange) {\n return;\n }\n\n // Clear stale completion ref when the user types a new trigger\n // for the same completer (the previous completion is no longer\n // relevant). Must be after the cursor-only check so that mere\n // cursor movement doesn't discard the suppression state.\n if (lastCompletionRef.current && lastCompletionRef.current.name === completer.name) {\n lastCompletionRef.current = null;\n }\n dispatch({\n type: 'MATCH',\n completer,\n query\n });\n // We want to avoid introducing unexpected side effects.\n // See https://github.com/WordPress/gutenberg/pull/41820\n }, [textContent]);\n const {\n key: selectedKey = ''\n } = filteredOptions[selectedIndex] || {};\n const {\n className\n } = autocompleter || {};\n const isExpanded = !!autocompleter && filteredOptions.length > 0;\n const listBoxId = isExpanded ? `components-autocomplete-listbox-${instanceId}` : undefined;\n const activeId = isExpanded ? `components-autocomplete-item-${instanceId}-${selectedKey}` : null;\n const hasSelection = record.start !== undefined;\n const showPopover = !!textContent && hasSelection && !!autocompleter;\n return {\n listBoxId,\n activeId,\n onKeyDown: withIgnoreIMEEvents(handleKeyDown),\n popover: showPopover && /*#__PURE__*/_jsx(AutocompleterUI, {\n autocompleter: autocompleter,\n className: className,\n filterValue: filterValue,\n instanceId: instanceId,\n listBoxId: listBoxId,\n selectedIndex: selectedIndex,\n onChangeOptions: onChangeOptions,\n onSelect: select,\n contentRef: contentRef,\n reset: () => dispatch({\n type: 'RESET'\n })\n }, autocompleter.name + autocompleter.triggerPrefix)\n };\n}\n\n/**\n * Checks whether two records represent the same user-visible state\n * (same text content and cursor position).\n */\nfunction recordValuesMatch(a, b) {\n return a.text === b.text && a.start === b.start && a.end === b.end;\n}\n\n/**\n * Tracks the last record whose value differed from the current one.\n * Used to determine whether the user has actually typed something\n */\nexport function useLastDifferentValue(value) {\n const history = useRef([]);\n const lastEntry = history.current[history.current.length - 1];\n\n // Only add to history if the value is meaningfully different from\n // the most recent entry (analogous to Set.add being a no-op for\n // duplicate references in the original implementation).\n if (!lastEntry || !recordValuesMatch(value, lastEntry)) {\n history.current.push(value);\n }\n\n // Keep the history size to 2.\n if (history.current.length > 2) {\n history.current.shift();\n }\n return history.current[0];\n}\nexport function useAutocompleteProps(options) {\n const ref = useRef(null);\n const onKeyDownRef = useRef(undefined);\n const {\n record\n } = options;\n const previousRecord = useLastDifferentValue(record);\n const {\n popover,\n listBoxId,\n activeId,\n onKeyDown\n } = useAutocomplete({\n ...options,\n contentRef: ref\n });\n onKeyDownRef.current = onKeyDown;\n const mergedRefs = useMergeRefs([ref, useRefEffect(element => {\n function _onKeyDown(event) {\n onKeyDownRef.current?.(event);\n }\n // Capture phase. When the autocomplete popover is open,\n // Up/Down/Enter/Escape must navigate the completion list —\n // they shouldn't be consumed by ancestor handlers (e.g.\n // block-editor's writing-flow) for block navigation, block\n // splitting, or \"move out of parent\" actions. Those handlers\n // fire at bubble phase and gate on `event.defaultPrevented`,\n // so firing in capture lets us preventDefault first when the\n // popover is active.\n return subscribeOwnedListener(element, 'keydown', _onKeyDown, true);\n }, [])]);\n\n // We only want to show the popover if the user has typed something.\n const didUserInput = record.text !== previousRecord?.text;\n if (!didUserInput) {\n return {\n ref: mergedRefs\n };\n }\n return {\n ref: mergedRefs,\n children: popover,\n 'aria-autocomplete': listBoxId ? 'list' : undefined,\n 'aria-owns': listBoxId,\n 'aria-activedescendant': activeId\n };\n}\nexport default function Autocomplete({\n children,\n isSelected,\n ...options\n}) {\n const {\n popover,\n ...props\n } = useAutocomplete(options);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [children(props), isSelected && popover]\n });\n}"],
5
+ "mappings": "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",
6
+ "names": ["richTextPrivateApis", "getNodeText", "_jsx", "_jsxs", "_Fragment"]
7
7
  }
@@ -79,7 +79,6 @@ var UnconnectedBorderBoxControl = (props, forwardedRef) => {
79
79
  onSplitChange,
80
80
  popoverPlacement,
81
81
  popoverOffset,
82
- size,
83
82
  splitValue,
84
83
  toggleLinked,
85
84
  wrapperClassName,
@@ -116,10 +115,8 @@ var UnconnectedBorderBoxControl = (props, forwardedRef) => {
116
115
  shouldSanitizeBorder: false,
117
116
  value: linkedValue,
118
117
  withSlider: true,
119
- width: size === "__unstable-large" ? "116px" : "110px",
120
- __experimentalIsRenderedInSidebar,
121
- __shouldNotWarnDeprecated36pxSize: true,
122
- size
118
+ width: "116px",
119
+ __experimentalIsRenderedInSidebar
123
120
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_border_box_control_split_controls.default, {
124
121
  colors,
125
122
  disableCustomColors,
@@ -129,12 +126,10 @@ var UnconnectedBorderBoxControl = (props, forwardedRef) => {
129
126
  popoverPlacement,
130
127
  popoverOffset,
131
128
  value: splitValue,
132
- __experimentalIsRenderedInSidebar,
133
- size
129
+ __experimentalIsRenderedInSidebar
134
130
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_border_box_control_linked_button.default, {
135
131
  onClick: toggleLinked,
136
- isLinked,
137
- size
132
+ isLinked
138
133
  })]
139
134
  })]
140
135
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/border-box-control/border-box-control/component.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlLinkedButton from '../border-box-control-linked-button';\nimport BorderBoxControlSplitControls from '../border-box-control-split-controls';\nimport { BorderControl } from '../../border-control';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect } from '../../context';\nimport { useBorderBoxControl } from './hook';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst BorderLabel = props => {\n const {\n label,\n hideLabelFromVision\n } = props;\n if (!label) {\n return null;\n }\n return hideLabelFromVision ? /*#__PURE__*/_jsx(VisuallyHidden, {\n as: \"label\",\n children: label\n }) : /*#__PURE__*/_jsx(StyledLabel, {\n children: label\n });\n};\nconst UnconnectedBorderBoxControl = (props, forwardedRef) => {\n const {\n className,\n colors,\n disableCustomColors,\n disableUnits,\n enableAlpha,\n enableStyle,\n hasMixedBorders,\n hideLabelFromVision,\n isLinked,\n label,\n linkedControlClassName,\n linkedValue,\n onLinkedChange,\n onSplitChange,\n popoverPlacement,\n popoverOffset,\n size,\n splitValue,\n toggleLinked,\n wrapperClassName,\n __experimentalIsRenderedInSidebar,\n ...otherProps\n } = useBorderBoxControl(props);\n\n // Use internal state instead of a ref to make sure that the component\n // re-renders when the popover's anchor updates.\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n\n // Memoize popoverProps to avoid returning a new object every time.\n const popoverProps = useMemo(() => popoverPlacement ? {\n placement: popoverPlacement,\n offset: popoverOffset,\n anchor: popoverAnchor,\n shift: true\n } : undefined, [popoverPlacement, popoverOffset, popoverAnchor]);\n const mergedRef = useMergeRefs([setPopoverAnchor, forwardedRef]);\n return /*#__PURE__*/_jsxs(View, {\n className: className,\n ...otherProps,\n ref: mergedRef,\n children: [/*#__PURE__*/_jsx(BorderLabel, {\n label: label,\n hideLabelFromVision: hideLabelFromVision\n }), /*#__PURE__*/_jsxs(View, {\n className: wrapperClassName,\n children: [isLinked ? /*#__PURE__*/_jsx(BorderControl, {\n className: linkedControlClassName,\n colors: colors,\n disableUnits: disableUnits,\n disableCustomColors: disableCustomColors,\n enableAlpha: enableAlpha,\n enableStyle: enableStyle,\n onChange: onLinkedChange,\n placeholder: hasMixedBorders ? __('Mixed') : undefined,\n __unstablePopoverProps: popoverProps,\n shouldSanitizeBorder: false // This component will handle that.\n ,\n value: linkedValue,\n withSlider: true,\n width: size === '__unstable-large' ? '116px' : '110px',\n __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar,\n __shouldNotWarnDeprecated36pxSize: true,\n size: size\n }) : /*#__PURE__*/_jsx(BorderBoxControlSplitControls, {\n colors: colors,\n disableCustomColors: disableCustomColors,\n enableAlpha: enableAlpha,\n enableStyle: enableStyle,\n onChange: onSplitChange,\n popoverPlacement: popoverPlacement,\n popoverOffset: popoverOffset,\n value: splitValue,\n __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar,\n size: size\n }), /*#__PURE__*/_jsx(BorderBoxControlLinkedButton, {\n onClick: toggleLinked,\n isLinked: isLinked,\n size: size\n })]\n })]\n });\n};\n\n/**\n * An input control for the color, style, and width of the border of a box. The\n * border can be customized as a whole, or individually for each side of the box.\n *\n * ```jsx\n * import { BorderBoxControl } from '@wordpress/components';\n * import { __ } from '@wordpress/i18n';\n *\n * const colors = [\n * \t{ name: 'Blue 20', color: '#72aee6' },\n * \t// ...\n * ];\n *\n * const MyBorderBoxControl = () => {\n * \tconst defaultBorder = {\n * \t\tcolor: '#72aee6',\n * \t\tstyle: 'dashed',\n * \t\twidth: '1px',\n * \t};\n * \tconst [ borders, setBorders ] = useState( {\n * \t\ttop: defaultBorder,\n * \t\tright: defaultBorder,\n * \t\tbottom: defaultBorder,\n * \t\tleft: defaultBorder,\n * \t} );\n * \tconst onChange = ( newBorders ) => setBorders( newBorders );\n *\n * \treturn (\n * \t\t<BorderBoxControl\n * \t\t\t__next40pxDefaultSize\n * \t\t\tcolors={ colors }\n * \t\t\tlabel={ __( 'Borders' ) }\n * \t\t\tonChange={ onChange }\n * \t\t\tvalue={ borders }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const BorderBoxControl = contextConnect(UnconnectedBorderBoxControl, 'BorderBoxControl');\nexport default BorderBoxControl;"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAAkC;AAClC,qBAA6B;AAK7B,8CAAyC;AACzC,+CAA0C;AAC1C,4BAA8B;AAC9B,iCAA4B;AAC5B,kBAAqB;AACrB,6BAA+B;AAC/B,qBAA+B;AAC/B,kBAAoC;AACpC,yBAA2C;AAC3C,IAAM,cAAc,WAAS;AAC3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF,IAAI;AACJ,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,SAAO,sBAAmC,uCAAAA,KAAK,uCAAgB;AAAA,IAC7D,IAAI;AAAA,IACJ,UAAU;AAAA,EACZ,CAAC,IAAiB,uCAAAA,KAAK,wCAAa;AAAA,IAClC,UAAU;AAAA,EACZ,CAAC;AACH;AACA,IAAM,8BAA8B,CAAC,OAAO,iBAAiB;AAC3D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,QAAI,iCAAoB,KAAK;AAI7B,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,IAAI;AAGvD,QAAM,mBAAe,wBAAQ,MAAM,mBAAmB;AAAA,IACpD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,EACT,IAAI,QAAW,CAAC,kBAAkB,eAAe,aAAa,CAAC;AAC/D,QAAM,gBAAY,6BAAa,CAAC,kBAAkB,YAAY,CAAC;AAC/D,SAAoB,uCAAAC,MAAM,kBAAM;AAAA,IAC9B;AAAA,IACA,GAAG;AAAA,IACH,KAAK;AAAA,IACL,UAAU,CAAc,uCAAAD,KAAK,aAAa;AAAA,MACxC;AAAA,MACA;AAAA,IACF,CAAC,GAAgB,uCAAAC,MAAM,kBAAM;AAAA,MAC3B,WAAW;AAAA,MACX,UAAU,CAAC,WAAwB,uCAAAD,KAAK,qCAAe;AAAA,QACrD,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,aAAa,sBAAkB,gBAAG,OAAO,IAAI;AAAA,QAC7C,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QAEtB,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,OAAO,SAAS,qBAAqB,UAAU;AAAA,QAC/C;AAAA,QACA,mCAAmC;AAAA,QACnC;AAAA,MACF,CAAC,IAAiB,uCAAAA,KAAK,yCAAAE,SAA+B;AAAA,QACpD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MACF,CAAC,GAAgB,uCAAAF,KAAK,wCAAAG,SAA8B;AAAA,QAClD,SAAS;AAAA,QACT;AAAA,QACA;AAAA,MACF,CAAC,CAAC;AAAA,IACJ,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AAyCO,IAAM,uBAAmB,+BAAe,6BAA6B,kBAAkB;AAC9F,IAAO,oBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlLinkedButton from '../border-box-control-linked-button';\nimport BorderBoxControlSplitControls from '../border-box-control-split-controls';\nimport { BorderControl } from '../../border-control';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect } from '../../context';\nimport { useBorderBoxControl } from './hook';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst BorderLabel = props => {\n const {\n label,\n hideLabelFromVision\n } = props;\n if (!label) {\n return null;\n }\n return hideLabelFromVision ? /*#__PURE__*/_jsx(VisuallyHidden, {\n as: \"label\",\n children: label\n }) : /*#__PURE__*/_jsx(StyledLabel, {\n children: label\n });\n};\nconst UnconnectedBorderBoxControl = (props, forwardedRef) => {\n const {\n className,\n colors,\n disableCustomColors,\n disableUnits,\n enableAlpha,\n enableStyle,\n hasMixedBorders,\n hideLabelFromVision,\n isLinked,\n label,\n linkedControlClassName,\n linkedValue,\n onLinkedChange,\n onSplitChange,\n popoverPlacement,\n popoverOffset,\n splitValue,\n toggleLinked,\n wrapperClassName,\n __experimentalIsRenderedInSidebar,\n ...otherProps\n } = useBorderBoxControl(props);\n\n // Use internal state instead of a ref to make sure that the component\n // re-renders when the popover's anchor updates.\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n\n // Memoize popoverProps to avoid returning a new object every time.\n const popoverProps = useMemo(() => popoverPlacement ? {\n placement: popoverPlacement,\n offset: popoverOffset,\n anchor: popoverAnchor,\n shift: true\n } : undefined, [popoverPlacement, popoverOffset, popoverAnchor]);\n const mergedRef = useMergeRefs([setPopoverAnchor, forwardedRef]);\n return /*#__PURE__*/_jsxs(View, {\n className: className,\n ...otherProps,\n ref: mergedRef,\n children: [/*#__PURE__*/_jsx(BorderLabel, {\n label: label,\n hideLabelFromVision: hideLabelFromVision\n }), /*#__PURE__*/_jsxs(View, {\n className: wrapperClassName,\n children: [isLinked ? /*#__PURE__*/_jsx(BorderControl, {\n className: linkedControlClassName,\n colors: colors,\n disableUnits: disableUnits,\n disableCustomColors: disableCustomColors,\n enableAlpha: enableAlpha,\n enableStyle: enableStyle,\n onChange: onLinkedChange,\n placeholder: hasMixedBorders ? __('Mixed') : undefined,\n __unstablePopoverProps: popoverProps,\n shouldSanitizeBorder: false // This component will handle that.\n ,\n value: linkedValue,\n withSlider: true,\n width: \"116px\",\n __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar\n }) : /*#__PURE__*/_jsx(BorderBoxControlSplitControls, {\n colors: colors,\n disableCustomColors: disableCustomColors,\n enableAlpha: enableAlpha,\n enableStyle: enableStyle,\n onChange: onSplitChange,\n popoverPlacement: popoverPlacement,\n popoverOffset: popoverOffset,\n value: splitValue,\n __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar\n }), /*#__PURE__*/_jsx(BorderBoxControlLinkedButton, {\n onClick: toggleLinked,\n isLinked: isLinked\n })]\n })]\n });\n};\n\n/**\n * An input control for the color, style, and width of the border of a box. The\n * border can be customized as a whole, or individually for each side of the box.\n *\n * ```jsx\n * import { BorderBoxControl } from '@wordpress/components';\n * import { __ } from '@wordpress/i18n';\n *\n * const colors = [\n * \t{ name: 'Blue 20', color: '#72aee6' },\n * \t// ...\n * ];\n *\n * const MyBorderBoxControl = () => {\n * \tconst defaultBorder = {\n * \t\tcolor: '#72aee6',\n * \t\tstyle: 'dashed',\n * \t\twidth: '1px',\n * \t};\n * \tconst [ borders, setBorders ] = useState( {\n * \t\ttop: defaultBorder,\n * \t\tright: defaultBorder,\n * \t\tbottom: defaultBorder,\n * \t\tleft: defaultBorder,\n * \t} );\n * \tconst onChange = ( newBorders ) => setBorders( newBorders );\n *\n * \treturn (\n * \t\t<BorderBoxControl\n * \t\t\tcolors={ colors }\n * \t\t\tlabel={ __( 'Borders' ) }\n * \t\t\tonChange={ onChange }\n * \t\t\tvalue={ borders }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const BorderBoxControl = contextConnect(UnconnectedBorderBoxControl, 'BorderBoxControl');\nexport default BorderBoxControl;"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAAkC;AAClC,qBAA6B;AAK7B,8CAAyC;AACzC,+CAA0C;AAC1C,4BAA8B;AAC9B,iCAA4B;AAC5B,kBAAqB;AACrB,6BAA+B;AAC/B,qBAA+B;AAC/B,kBAAoC;AACpC,yBAA2C;AAC3C,IAAM,cAAc,WAAS;AAC3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF,IAAI;AACJ,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,SAAO,sBAAmC,uCAAAA,KAAK,uCAAgB;AAAA,IAC7D,IAAI;AAAA,IACJ,UAAU;AAAA,EACZ,CAAC,IAAiB,uCAAAA,KAAK,wCAAa;AAAA,IAClC,UAAU;AAAA,EACZ,CAAC;AACH;AACA,IAAM,8BAA8B,CAAC,OAAO,iBAAiB;AAC3D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,QAAI,iCAAoB,KAAK;AAI7B,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,IAAI;AAGvD,QAAM,mBAAe,wBAAQ,MAAM,mBAAmB;AAAA,IACpD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,EACT,IAAI,QAAW,CAAC,kBAAkB,eAAe,aAAa,CAAC;AAC/D,QAAM,gBAAY,6BAAa,CAAC,kBAAkB,YAAY,CAAC;AAC/D,SAAoB,uCAAAC,MAAM,kBAAM;AAAA,IAC9B;AAAA,IACA,GAAG;AAAA,IACH,KAAK;AAAA,IACL,UAAU,CAAc,uCAAAD,KAAK,aAAa;AAAA,MACxC;AAAA,MACA;AAAA,IACF,CAAC,GAAgB,uCAAAC,MAAM,kBAAM;AAAA,MAC3B,WAAW;AAAA,MACX,UAAU,CAAC,WAAwB,uCAAAD,KAAK,qCAAe;AAAA,QACrD,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,aAAa,sBAAkB,gBAAG,OAAO,IAAI;AAAA,QAC7C,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QAEtB,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,OAAO;AAAA,QACP;AAAA,MACF,CAAC,IAAiB,uCAAAA,KAAK,yCAAAE,SAA+B;AAAA,QACpD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP;AAAA,MACF,CAAC,GAAgB,uCAAAF,KAAK,wCAAAG,SAA8B;AAAA,QAClD,SAAS;AAAA,QACT;AAAA,MACF,CAAC,CAAC;AAAA,IACJ,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AAwCO,IAAM,uBAAmB,+BAAe,6BAA6B,kBAAkB;AAC9F,IAAO,oBAAQ;",
6
6
  "names": ["_jsx", "_jsxs", "BorderBoxControlSplitControls", "BorderBoxControlLinkedButton"]
7
7
  }
@@ -38,7 +38,6 @@ var styles = __toESM(require("../styles.cjs"));
38
38
  var import_utils = require("../utils.cjs");
39
39
  var import_context = require("../../context/index.cjs");
40
40
  var import_use_cx = require("../../utils/hooks/use-cx.cjs");
41
- var import_deprecated_36px_size = require("../../utils/deprecated-36px-size.cjs");
42
41
  function useBorderBoxControl(props) {
43
42
  const {
44
43
  className,
@@ -46,18 +45,13 @@ function useBorderBoxControl(props) {
46
45
  onChange,
47
46
  enableAlpha = false,
48
47
  enableStyle = true,
49
- size = "default",
50
48
  value,
51
49
  __experimentalIsRenderedInSidebar = false,
52
- __next40pxDefaultSize,
50
+ // Deprecated props, no longer used.
51
+ size: _size,
52
+ __next40pxDefaultSize: _next40pxDefaultSize,
53
53
  ...otherProps
54
54
  } = (0, import_context.useContextSystem)(props, "BorderBoxControl");
55
- (0, import_deprecated_36px_size.maybeWarnDeprecated36pxSize)({
56
- componentName: "BorderBoxControl",
57
- __next40pxDefaultSize,
58
- size
59
- });
60
- const computedSize = size === "default" && __next40pxDefaultSize ? "__unstable-large" : size;
61
55
  const mixedBorders = (0, import_utils.hasMixedBorders)(value);
62
56
  const splitBorders = (0, import_utils.hasSplitBorders)(value);
63
57
  const linkedValue = splitBorders ? (0, import_utils.getCommonBorder)(value) : value;
@@ -132,7 +126,6 @@ function useBorderBoxControl(props) {
132
126
  onSplitChange,
133
127
  toggleLinked,
134
128
  linkedValue,
135
- size: computedSize,
136
129
  splitValue,
137
130
  wrapperClassName,
138
131
  __experimentalIsRenderedInSidebar
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/border-box-control/border-box-control/hook.ts"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { getBorderDiff, getCommonBorder, getSplitBorders, hasMixedBorders, hasSplitBorders, isCompleteBorder, isEmptyBorder } from '../utils';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { maybeWarnDeprecated36pxSize } from '../../utils/deprecated-36px-size';\nexport function useBorderBoxControl(props) {\n const {\n className,\n colors = [],\n onChange,\n enableAlpha = false,\n enableStyle = true,\n size = 'default',\n value,\n __experimentalIsRenderedInSidebar = false,\n __next40pxDefaultSize,\n ...otherProps\n } = useContextSystem(props, 'BorderBoxControl');\n maybeWarnDeprecated36pxSize({\n componentName: 'BorderBoxControl',\n __next40pxDefaultSize,\n size\n });\n const computedSize = size === 'default' && __next40pxDefaultSize ? '__unstable-large' : size;\n const mixedBorders = hasMixedBorders(value);\n const splitBorders = hasSplitBorders(value);\n const linkedValue = splitBorders ? getCommonBorder(value) : value;\n const splitValue = splitBorders ? value : getSplitBorders(value);\n\n // If no numeric width value is set, the unit select will be disabled.\n const hasWidthValue = !isNaN(parseFloat(`${linkedValue?.width}`));\n const [isLinked, setIsLinked] = useState(!mixedBorders);\n const toggleLinked = () => setIsLinked(!isLinked);\n const onLinkedChange = newBorder => {\n if (!newBorder) {\n return onChange(undefined);\n }\n\n // If we have all props defined on the new border apply it.\n if (!mixedBorders || isCompleteBorder(newBorder)) {\n return onChange(isEmptyBorder(newBorder) ? undefined : newBorder);\n }\n\n // If we had mixed borders we might have had some shared border props\n // that we need to maintain. For example; we could have mixed borders\n // with all the same color but different widths. Then from the linked\n // control we change the color. We should keep the separate widths.\n const changes = getBorderDiff(linkedValue, newBorder);\n const updatedBorders = {\n top: {\n ...value?.top,\n ...changes\n },\n right: {\n ...value?.right,\n ...changes\n },\n bottom: {\n ...value?.bottom,\n ...changes\n },\n left: {\n ...value?.left,\n ...changes\n }\n };\n if (hasMixedBorders(updatedBorders)) {\n return onChange(updatedBorders);\n }\n const filteredResult = isEmptyBorder(updatedBorders.top) ? undefined : updatedBorders.top;\n onChange(filteredResult);\n };\n const onSplitChange = (newBorder, side) => {\n const updatedBorders = {\n ...splitValue,\n [side]: newBorder\n };\n if (hasMixedBorders(updatedBorders)) {\n onChange(updatedBorders);\n } else {\n onChange(newBorder);\n }\n };\n const cx = useCx();\n const classes = useMemo(() => {\n return cx(styles.borderBoxControl, className);\n }, [cx, className]);\n const linkedControlClassName = useMemo(() => {\n return cx(styles.linkedBorderControl());\n }, [cx]);\n const wrapperClassName = useMemo(() => {\n return cx(styles.wrapper);\n }, [cx]);\n return {\n ...otherProps,\n className: classes,\n colors,\n disableUnits: mixedBorders && !hasWidthValue,\n enableAlpha,\n enableStyle,\n hasMixedBorders: mixedBorders,\n isLinked,\n linkedControlClassName,\n onLinkedChange,\n onSplitChange,\n toggleLinked,\n linkedValue,\n size: computedSize,\n splitValue,\n wrapperClassName,\n __experimentalIsRenderedInSidebar\n };\n}"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { getBorderDiff, getCommonBorder, getSplitBorders, hasMixedBorders, hasSplitBorders, isCompleteBorder, isEmptyBorder } from '../utils';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nexport function useBorderBoxControl(props) {\n const {\n className,\n colors = [],\n onChange,\n enableAlpha = false,\n enableStyle = true,\n value,\n __experimentalIsRenderedInSidebar = false,\n // Deprecated props, no longer used.\n size: _size,\n __next40pxDefaultSize: _next40pxDefaultSize,\n ...otherProps\n } = useContextSystem(props, 'BorderBoxControl');\n const mixedBorders = hasMixedBorders(value);\n const splitBorders = hasSplitBorders(value);\n const linkedValue = splitBorders ? getCommonBorder(value) : value;\n const splitValue = splitBorders ? value : getSplitBorders(value);\n\n // If no numeric width value is set, the unit select will be disabled.\n const hasWidthValue = !isNaN(parseFloat(`${linkedValue?.width}`));\n const [isLinked, setIsLinked] = useState(!mixedBorders);\n const toggleLinked = () => setIsLinked(!isLinked);\n const onLinkedChange = newBorder => {\n if (!newBorder) {\n return onChange(undefined);\n }\n\n // If we have all props defined on the new border apply it.\n if (!mixedBorders || isCompleteBorder(newBorder)) {\n return onChange(isEmptyBorder(newBorder) ? undefined : newBorder);\n }\n\n // If we had mixed borders we might have had some shared border props\n // that we need to maintain. For example; we could have mixed borders\n // with all the same color but different widths. Then from the linked\n // control we change the color. We should keep the separate widths.\n const changes = getBorderDiff(linkedValue, newBorder);\n const updatedBorders = {\n top: {\n ...value?.top,\n ...changes\n },\n right: {\n ...value?.right,\n ...changes\n },\n bottom: {\n ...value?.bottom,\n ...changes\n },\n left: {\n ...value?.left,\n ...changes\n }\n };\n if (hasMixedBorders(updatedBorders)) {\n return onChange(updatedBorders);\n }\n const filteredResult = isEmptyBorder(updatedBorders.top) ? undefined : updatedBorders.top;\n onChange(filteredResult);\n };\n const onSplitChange = (newBorder, side) => {\n const updatedBorders = {\n ...splitValue,\n [side]: newBorder\n };\n if (hasMixedBorders(updatedBorders)) {\n onChange(updatedBorders);\n } else {\n onChange(newBorder);\n }\n };\n const cx = useCx();\n const classes = useMemo(() => {\n return cx(styles.borderBoxControl, className);\n }, [cx, className]);\n const linkedControlClassName = useMemo(() => {\n return cx(styles.linkedBorderControl());\n }, [cx]);\n const wrapperClassName = useMemo(() => {\n return cx(styles.wrapper);\n }, [cx]);\n return {\n ...otherProps,\n className: classes,\n colors,\n disableUnits: mixedBorders && !hasWidthValue,\n enableAlpha,\n enableStyle,\n hasMixedBorders: mixedBorders,\n isLinked,\n linkedControlClassName,\n onLinkedChange,\n onSplitChange,\n toggleLinked,\n linkedValue,\n splitValue,\n wrapperClassName,\n __experimentalIsRenderedInSidebar\n };\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAkC;AAKlC,aAAwB;AACxB,mBAAmI;AACnI,qBAAiC;AACjC,oBAAsB;AACf,SAAS,oBAAoB,OAAO;AACzC,QAAM;AAAA,IACJ;AAAA,IACA,SAAS,CAAC;AAAA,IACV;AAAA,IACA,cAAc;AAAA,IACd,cAAc;AAAA,IACd;AAAA,IACA,oCAAoC;AAAA;AAAA,IAEpC,MAAM;AAAA,IACN,uBAAuB;AAAA,IACvB,GAAG;AAAA,EACL,QAAI,iCAAiB,OAAO,kBAAkB;AAC9C,QAAM,mBAAe,8BAAgB,KAAK;AAC1C,QAAM,mBAAe,8BAAgB,KAAK;AAC1C,QAAM,cAAc,mBAAe,8BAAgB,KAAK,IAAI;AAC5D,QAAM,aAAa,eAAe,YAAQ,8BAAgB,KAAK;AAG/D,QAAM,gBAAgB,CAAC,MAAM,WAAW,GAAG,aAAa,KAAK,EAAE,CAAC;AAChE,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,CAAC,YAAY;AACtD,QAAM,eAAe,MAAM,YAAY,CAAC,QAAQ;AAChD,QAAM,iBAAiB,eAAa;AAClC,QAAI,CAAC,WAAW;AACd,aAAO,SAAS,MAAS;AAAA,IAC3B;AAGA,QAAI,CAAC,oBAAgB,+BAAiB,SAAS,GAAG;AAChD,aAAO,aAAS,4BAAc,SAAS,IAAI,SAAY,SAAS;AAAA,IAClE;AAMA,UAAM,cAAU,4BAAc,aAAa,SAAS;AACpD,UAAM,iBAAiB;AAAA,MACrB,KAAK;AAAA,QACH,GAAG,OAAO;AAAA,QACV,GAAG;AAAA,MACL;AAAA,MACA,OAAO;AAAA,QACL,GAAG,OAAO;AAAA,QACV,GAAG;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,OAAO;AAAA,QACV,GAAG;AAAA,MACL;AAAA,MACA,MAAM;AAAA,QACJ,GAAG,OAAO;AAAA,QACV,GAAG;AAAA,MACL;AAAA,IACF;AACA,YAAI,8BAAgB,cAAc,GAAG;AACnC,aAAO,SAAS,cAAc;AAAA,IAChC;AACA,UAAM,qBAAiB,4BAAc,eAAe,GAAG,IAAI,SAAY,eAAe;AACtF,aAAS,cAAc;AAAA,EACzB;AACA,QAAM,gBAAgB,CAAC,WAAW,SAAS;AACzC,UAAM,iBAAiB;AAAA,MACrB,GAAG;AAAA,MACH,CAAC,IAAI,GAAG;AAAA,IACV;AACA,YAAI,8BAAgB,cAAc,GAAG;AACnC,eAAS,cAAc;AAAA,IACzB,OAAO;AACL,eAAS,SAAS;AAAA,IACpB;AAAA,EACF;AACA,QAAM,SAAK,qBAAM;AACjB,QAAM,cAAU,wBAAQ,MAAM;AAC5B,WAAO,GAAU,yBAAkB,SAAS;AAAA,EAC9C,GAAG,CAAC,IAAI,SAAS,CAAC;AAClB,QAAM,6BAAyB,wBAAQ,MAAM;AAC3C,WAAO,GAAU,2BAAoB,CAAC;AAAA,EACxC,GAAG,CAAC,EAAE,CAAC;AACP,QAAM,uBAAmB,wBAAQ,MAAM;AACrC,WAAO,GAAU,cAAO;AAAA,EAC1B,GAAG,CAAC,EAAE,CAAC;AACP,SAAO;AAAA,IACL,GAAG;AAAA,IACH,WAAW;AAAA,IACX;AAAA,IACA,cAAc,gBAAgB,CAAC;AAAA,IAC/B;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -40,13 +40,12 @@ var import_use_cx = require("../../utils/hooks/use-cx.cjs");
40
40
  function useBorderBoxControlLinkedButton(props) {
41
41
  const {
42
42
  className,
43
- size = "default",
44
43
  ...otherProps
45
44
  } = (0, import_context.useContextSystem)(props, "BorderBoxControlLinkedButton");
46
45
  const cx = (0, import_use_cx.useCx)();
47
46
  const classes = (0, import_element.useMemo)(() => {
48
- return cx(styles.borderBoxControlLinkedButton(size), className);
49
- }, [className, cx, size]);
47
+ return cx(styles.borderBoxControlLinkedButton, className);
48
+ }, [className, cx]);
50
49
  return {
51
50
  ...otherProps,
52
51
  className: classes
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/border-box-control/border-box-control-linked-button/hook.ts"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nexport function useBorderBoxControlLinkedButton(props) {\n const {\n className,\n size = 'default',\n ...otherProps\n } = useContextSystem(props, 'BorderBoxControlLinkedButton');\n\n // Generate class names.\n const cx = useCx();\n const classes = useMemo(() => {\n return cx(styles.borderBoxControlLinkedButton(size), className);\n }, [className, cx, size]);\n return {\n ...otherProps,\n className: classes\n };\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AAKxB,aAAwB;AACxB,qBAAiC;AACjC,oBAAsB;AACf,SAAS,gCAAgC,OAAO;AACrD,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,IACP,GAAG;AAAA,EACL,QAAI,iCAAiB,OAAO,8BAA8B;AAG1D,QAAM,SAAK,qBAAM;AACjB,QAAM,cAAU,wBAAQ,MAAM;AAC5B,WAAO,GAAU,oCAA6B,IAAI,GAAG,SAAS;AAAA,EAChE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;AACxB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,WAAW;AAAA,EACb;AACF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nexport function useBorderBoxControlLinkedButton(props) {\n const {\n className,\n ...otherProps\n } = useContextSystem(props, 'BorderBoxControlLinkedButton');\n\n // Generate class names.\n const cx = useCx();\n const classes = useMemo(() => {\n return cx(styles.borderBoxControlLinkedButton, className);\n }, [className, cx]);\n return {\n ...otherProps,\n className: classes\n };\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AAKxB,aAAwB;AACxB,qBAAiC;AACjC,oBAAsB;AACf,SAAS,gCAAgC,OAAO;AACrD,QAAM;AAAA,IACJ;AAAA,IACA,GAAG;AAAA,EACL,QAAI,iCAAiB,OAAO,8BAA8B;AAG1D,QAAM,SAAK,qBAAM;AACjB,QAAM,cAAU,wBAAQ,MAAM;AAC5B,WAAO,GAAU,qCAA8B,SAAS;AAAA,EAC1D,GAAG,CAAC,WAAW,EAAE,CAAC;AAClB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,WAAW;AAAA,EACb;AACF;",
6
6
  "names": []
7
7
  }
@@ -53,7 +53,6 @@ var BorderBoxControlSplitControls = (props, forwardedRef) => {
53
53
  popoverPlacement,
54
54
  popoverOffset,
55
55
  rightAlignedClassName,
56
- size = "default",
57
56
  value,
58
57
  __experimentalIsRenderedInSidebar,
59
58
  ...otherProps
@@ -71,9 +70,7 @@ var BorderBoxControlSplitControls = (props, forwardedRef) => {
71
70
  enableAlpha,
72
71
  enableStyle,
73
72
  isCompact: true,
74
- __experimentalIsRenderedInSidebar,
75
- size,
76
- __shouldNotWarnDeprecated36pxSize: true
73
+ __experimentalIsRenderedInSidebar
77
74
  };
78
75
  const mergedRef = (0, import_compose.useMergeRefs)([setPopoverAnchor, forwardedRef]);
79
76
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_grid.Grid, {
@@ -81,8 +78,7 @@ var BorderBoxControlSplitControls = (props, forwardedRef) => {
81
78
  ref: mergedRef,
82
79
  gap: 3,
83
80
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_border_box_control_visualizer.default, {
84
- value,
85
- size
81
+ value
86
82
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_border_control.BorderControl, {
87
83
  className: centeredClassName,
88
84
  hideLabelFromVision: true,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/border-box-control/border-box-control-split-controls/component.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlVisualizer from '../border-box-control-visualizer';\nimport { BorderControl } from '../../border-control';\nimport { Grid } from '../../grid';\nimport { contextConnect } from '../../context';\nimport { useBorderBoxControlSplitControls } from './hook';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst BorderBoxControlSplitControls = (props, forwardedRef) => {\n const {\n centeredClassName,\n colors,\n disableCustomColors,\n enableAlpha,\n enableStyle,\n onChange,\n popoverPlacement,\n popoverOffset,\n rightAlignedClassName,\n size = 'default',\n value,\n __experimentalIsRenderedInSidebar,\n ...otherProps\n } = useBorderBoxControlSplitControls(props);\n\n // Use internal state instead of a ref to make sure that the component\n // re-renders when the popover's anchor updates.\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n\n // Memoize popoverProps to avoid returning a new object every time.\n const popoverProps = useMemo(() => popoverPlacement ? {\n placement: popoverPlacement,\n offset: popoverOffset,\n anchor: popoverAnchor,\n shift: true\n } : undefined, [popoverPlacement, popoverOffset, popoverAnchor]);\n const sharedBorderControlProps = {\n colors,\n disableCustomColors,\n enableAlpha,\n enableStyle,\n isCompact: true,\n __experimentalIsRenderedInSidebar,\n size,\n __shouldNotWarnDeprecated36pxSize: true\n };\n const mergedRef = useMergeRefs([setPopoverAnchor, forwardedRef]);\n return /*#__PURE__*/_jsxs(Grid, {\n ...otherProps,\n ref: mergedRef,\n gap: 3,\n children: [/*#__PURE__*/_jsx(BorderBoxControlVisualizer, {\n value: value,\n size: size\n }), /*#__PURE__*/_jsx(BorderControl, {\n className: centeredClassName,\n hideLabelFromVision: true,\n label: __('Top border'),\n onChange: newBorder => onChange(newBorder, 'top'),\n __unstablePopoverProps: popoverProps,\n value: value?.top,\n ...sharedBorderControlProps\n }), /*#__PURE__*/_jsx(BorderControl, {\n hideLabelFromVision: true,\n label: __('Left border'),\n onChange: newBorder => onChange(newBorder, 'left'),\n __unstablePopoverProps: popoverProps,\n value: value?.left,\n ...sharedBorderControlProps\n }), /*#__PURE__*/_jsx(BorderControl, {\n className: rightAlignedClassName,\n hideLabelFromVision: true,\n label: __('Right border'),\n onChange: newBorder => onChange(newBorder, 'right'),\n __unstablePopoverProps: popoverProps,\n value: value?.right,\n ...sharedBorderControlProps\n }), /*#__PURE__*/_jsx(BorderControl, {\n className: centeredClassName,\n hideLabelFromVision: true,\n label: __('Bottom border'),\n onChange: newBorder => onChange(newBorder, 'bottom'),\n __unstablePopoverProps: popoverProps,\n value: value?.bottom,\n ...sharedBorderControlProps\n })]\n });\n};\nconst ConnectedBorderBoxControlSplitControls = contextConnect(BorderBoxControlSplitControls, 'BorderBoxControlSplitControls');\nexport default ConnectedBorderBoxControlSplitControls;"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAAkC;AAClC,qBAA6B;AAK7B,2CAAuC;AACvC,4BAA8B;AAC9B,kBAAqB;AACrB,qBAA+B;AAC/B,kBAAiD;AACjD,yBAA2C;AAC3C,IAAM,gCAAgC,CAAC,OAAO,iBAAiB;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,QAAI,8CAAiC,KAAK;AAI1C,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,IAAI;AAGvD,QAAM,mBAAe,wBAAQ,MAAM,mBAAmB;AAAA,IACpD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,EACT,IAAI,QAAW,CAAC,kBAAkB,eAAe,aAAa,CAAC;AAC/D,QAAM,2BAA2B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,mCAAmC;AAAA,EACrC;AACA,QAAM,gBAAY,6BAAa,CAAC,kBAAkB,YAAY,CAAC;AAC/D,SAAoB,uCAAAA,MAAM,kBAAM;AAAA,IAC9B,GAAG;AAAA,IACH,KAAK;AAAA,IACL,KAAK;AAAA,IACL,UAAU,CAAc,uCAAAC,KAAK,qCAAAC,SAA4B;AAAA,MACvD;AAAA,MACA;AAAA,IACF,CAAC,GAAgB,uCAAAD,KAAK,qCAAe;AAAA,MACnC,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB,WAAO,gBAAG,YAAY;AAAA,MACtB,UAAU,eAAa,SAAS,WAAW,KAAK;AAAA,MAChD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,GAAgB,uCAAAA,KAAK,qCAAe;AAAA,MACnC,qBAAqB;AAAA,MACrB,WAAO,gBAAG,aAAa;AAAA,MACvB,UAAU,eAAa,SAAS,WAAW,MAAM;AAAA,MACjD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,GAAgB,uCAAAA,KAAK,qCAAe;AAAA,MACnC,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB,WAAO,gBAAG,cAAc;AAAA,MACxB,UAAU,eAAa,SAAS,WAAW,OAAO;AAAA,MAClD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,GAAgB,uCAAAA,KAAK,qCAAe;AAAA,MACnC,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB,WAAO,gBAAG,eAAe;AAAA,MACzB,UAAU,eAAa,SAAS,WAAW,QAAQ;AAAA,MACnD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AACA,IAAM,6CAAyC,+BAAe,+BAA+B,+BAA+B;AAC5H,IAAO,oBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlVisualizer from '../border-box-control-visualizer';\nimport { BorderControl } from '../../border-control';\nimport { Grid } from '../../grid';\nimport { contextConnect } from '../../context';\nimport { useBorderBoxControlSplitControls } from './hook';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst BorderBoxControlSplitControls = (props, forwardedRef) => {\n const {\n centeredClassName,\n colors,\n disableCustomColors,\n enableAlpha,\n enableStyle,\n onChange,\n popoverPlacement,\n popoverOffset,\n rightAlignedClassName,\n value,\n __experimentalIsRenderedInSidebar,\n ...otherProps\n } = useBorderBoxControlSplitControls(props);\n\n // Use internal state instead of a ref to make sure that the component\n // re-renders when the popover's anchor updates.\n const [popoverAnchor, setPopoverAnchor] = useState(null);\n\n // Memoize popoverProps to avoid returning a new object every time.\n const popoverProps = useMemo(() => popoverPlacement ? {\n placement: popoverPlacement,\n offset: popoverOffset,\n anchor: popoverAnchor,\n shift: true\n } : undefined, [popoverPlacement, popoverOffset, popoverAnchor]);\n const sharedBorderControlProps = {\n colors,\n disableCustomColors,\n enableAlpha,\n enableStyle,\n isCompact: true,\n __experimentalIsRenderedInSidebar\n };\n const mergedRef = useMergeRefs([setPopoverAnchor, forwardedRef]);\n return /*#__PURE__*/_jsxs(Grid, {\n ...otherProps,\n ref: mergedRef,\n gap: 3,\n children: [/*#__PURE__*/_jsx(BorderBoxControlVisualizer, {\n value: value\n }), /*#__PURE__*/_jsx(BorderControl, {\n className: centeredClassName,\n hideLabelFromVision: true,\n label: __('Top border'),\n onChange: newBorder => onChange(newBorder, 'top'),\n __unstablePopoverProps: popoverProps,\n value: value?.top,\n ...sharedBorderControlProps\n }), /*#__PURE__*/_jsx(BorderControl, {\n hideLabelFromVision: true,\n label: __('Left border'),\n onChange: newBorder => onChange(newBorder, 'left'),\n __unstablePopoverProps: popoverProps,\n value: value?.left,\n ...sharedBorderControlProps\n }), /*#__PURE__*/_jsx(BorderControl, {\n className: rightAlignedClassName,\n hideLabelFromVision: true,\n label: __('Right border'),\n onChange: newBorder => onChange(newBorder, 'right'),\n __unstablePopoverProps: popoverProps,\n value: value?.right,\n ...sharedBorderControlProps\n }), /*#__PURE__*/_jsx(BorderControl, {\n className: centeredClassName,\n hideLabelFromVision: true,\n label: __('Bottom border'),\n onChange: newBorder => onChange(newBorder, 'bottom'),\n __unstablePopoverProps: popoverProps,\n value: value?.bottom,\n ...sharedBorderControlProps\n })]\n });\n};\nconst ConnectedBorderBoxControlSplitControls = contextConnect(BorderBoxControlSplitControls, 'BorderBoxControlSplitControls');\nexport default ConnectedBorderBoxControlSplitControls;"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAAkC;AAClC,qBAA6B;AAK7B,2CAAuC;AACvC,4BAA8B;AAC9B,kBAAqB;AACrB,qBAA+B;AAC/B,kBAAiD;AACjD,yBAA2C;AAC3C,IAAM,gCAAgC,CAAC,OAAO,iBAAiB;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,QAAI,8CAAiC,KAAK;AAI1C,QAAM,CAAC,eAAe,gBAAgB,QAAI,yBAAS,IAAI;AAGvD,QAAM,mBAAe,wBAAQ,MAAM,mBAAmB;AAAA,IACpD,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,EACT,IAAI,QAAW,CAAC,kBAAkB,eAAe,aAAa,CAAC;AAC/D,QAAM,2BAA2B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EACF;AACA,QAAM,gBAAY,6BAAa,CAAC,kBAAkB,YAAY,CAAC;AAC/D,SAAoB,uCAAAA,MAAM,kBAAM;AAAA,IAC9B,GAAG;AAAA,IACH,KAAK;AAAA,IACL,KAAK;AAAA,IACL,UAAU,CAAc,uCAAAC,KAAK,qCAAAC,SAA4B;AAAA,MACvD;AAAA,IACF,CAAC,GAAgB,uCAAAD,KAAK,qCAAe;AAAA,MACnC,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB,WAAO,gBAAG,YAAY;AAAA,MACtB,UAAU,eAAa,SAAS,WAAW,KAAK;AAAA,MAChD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,GAAgB,uCAAAA,KAAK,qCAAe;AAAA,MACnC,qBAAqB;AAAA,MACrB,WAAO,gBAAG,aAAa;AAAA,MACvB,UAAU,eAAa,SAAS,WAAW,MAAM;AAAA,MACjD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,GAAgB,uCAAAA,KAAK,qCAAe;AAAA,MACnC,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB,WAAO,gBAAG,cAAc;AAAA,MACxB,UAAU,eAAa,SAAS,WAAW,OAAO;AAAA,MAClD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,GAAgB,uCAAAA,KAAK,qCAAe;AAAA,MACnC,WAAW;AAAA,MACX,qBAAqB;AAAA,MACrB,WAAO,gBAAG,eAAe;AAAA,MACzB,UAAU,eAAa,SAAS,WAAW,QAAQ;AAAA,MACnD,wBAAwB;AAAA,MACxB,OAAO,OAAO;AAAA,MACd,GAAG;AAAA,IACL,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AACA,IAAM,6CAAyC,+BAAe,+BAA+B,+BAA+B;AAC5H,IAAO,oBAAQ;",
6
6
  "names": ["_jsxs", "_jsx", "BorderBoxControlVisualizer"]
7
7
  }
@@ -43,14 +43,13 @@ function useBorderBoxControlSplitControls(props) {
43
43
  colors = [],
44
44
  enableAlpha = false,
45
45
  enableStyle = true,
46
- size = "default",
47
46
  __experimentalIsRenderedInSidebar = false,
48
47
  ...otherProps
49
48
  } = (0, import_context.useContextSystem)(props, "BorderBoxControlSplitControls");
50
49
  const cx = (0, import_utils.useCx)();
51
50
  const classes = (0, import_element.useMemo)(() => {
52
- return cx(styles.borderBoxControlSplitControls(size), className);
53
- }, [cx, className, size]);
51
+ return cx(styles.borderBoxControlSplitControls, className);
52
+ }, [cx, className]);
54
53
  const centeredClassName = (0, import_element.useMemo)(() => {
55
54
  return cx(styles.centeredBorderControl, className);
56
55
  }, [cx, className]);
@@ -65,7 +64,6 @@ function useBorderBoxControlSplitControls(props) {
65
64
  enableAlpha,
66
65
  enableStyle,
67
66
  rightAlignedClassName,
68
- size,
69
67
  __experimentalIsRenderedInSidebar
70
68
  };
71
69
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/border-box-control/border-box-control-split-controls/hook.ts"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/';\nexport function useBorderBoxControlSplitControls(props) {\n const {\n className,\n colors = [],\n enableAlpha = false,\n enableStyle = true,\n size = 'default',\n __experimentalIsRenderedInSidebar = false,\n ...otherProps\n } = useContextSystem(props, 'BorderBoxControlSplitControls');\n\n // Generate class names.\n const cx = useCx();\n const classes = useMemo(() => {\n return cx(styles.borderBoxControlSplitControls(size), className);\n }, [cx, className, size]);\n const centeredClassName = useMemo(() => {\n return cx(styles.centeredBorderControl, className);\n }, [cx, className]);\n const rightAlignedClassName = useMemo(() => {\n return cx(styles.rightBorderControl(), className);\n }, [cx, className]);\n return {\n ...otherProps,\n centeredClassName,\n className: classes,\n colors,\n enableAlpha,\n enableStyle,\n rightAlignedClassName,\n size,\n __experimentalIsRenderedInSidebar\n };\n}"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AAKxB,aAAwB;AACxB,qBAAiC;AACjC,mBAAsB;AACf,SAAS,iCAAiC,OAAO;AACtD,QAAM;AAAA,IACJ;AAAA,IACA,SAAS,CAAC;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,OAAO;AAAA,IACP,oCAAoC;AAAA,IACpC,GAAG;AAAA,EACL,QAAI,iCAAiB,OAAO,+BAA+B;AAG3D,QAAM,SAAK,oBAAM;AACjB,QAAM,cAAU,wBAAQ,MAAM;AAC5B,WAAO,GAAU,qCAA8B,IAAI,GAAG,SAAS;AAAA,EACjE,GAAG,CAAC,IAAI,WAAW,IAAI,CAAC;AACxB,QAAM,wBAAoB,wBAAQ,MAAM;AACtC,WAAO,GAAU,8BAAuB,SAAS;AAAA,EACnD,GAAG,CAAC,IAAI,SAAS,CAAC;AAClB,QAAM,4BAAwB,wBAAQ,MAAM;AAC1C,WAAO,GAAU,0BAAmB,GAAG,SAAS;AAAA,EAClD,GAAG,CAAC,IAAI,SAAS,CAAC;AAClB,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/';\nexport function useBorderBoxControlSplitControls(props) {\n const {\n className,\n colors = [],\n enableAlpha = false,\n enableStyle = true,\n __experimentalIsRenderedInSidebar = false,\n ...otherProps\n } = useContextSystem(props, 'BorderBoxControlSplitControls');\n\n // Generate class names.\n const cx = useCx();\n const classes = useMemo(() => {\n return cx(styles.borderBoxControlSplitControls, className);\n }, [cx, className]);\n const centeredClassName = useMemo(() => {\n return cx(styles.centeredBorderControl, className);\n }, [cx, className]);\n const rightAlignedClassName = useMemo(() => {\n return cx(styles.rightBorderControl(), className);\n }, [cx, className]);\n return {\n ...otherProps,\n centeredClassName,\n className: classes,\n colors,\n enableAlpha,\n enableStyle,\n rightAlignedClassName,\n __experimentalIsRenderedInSidebar\n };\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AAKxB,aAAwB;AACxB,qBAAiC;AACjC,mBAAsB;AACf,SAAS,iCAAiC,OAAO;AACtD,QAAM;AAAA,IACJ;AAAA,IACA,SAAS,CAAC;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,oCAAoC;AAAA,IACpC,GAAG;AAAA,EACL,QAAI,iCAAiB,OAAO,+BAA+B;AAG3D,QAAM,SAAK,oBAAM;AACjB,QAAM,cAAU,wBAAQ,MAAM;AAC5B,WAAO,GAAU,sCAA+B,SAAS;AAAA,EAC3D,GAAG,CAAC,IAAI,SAAS,CAAC;AAClB,QAAM,wBAAoB,wBAAQ,MAAM;AACtC,WAAO,GAAU,8BAAuB,SAAS;AAAA,EACnD,GAAG,CAAC,IAAI,SAAS,CAAC;AAClB,QAAM,4BAAwB,wBAAQ,MAAM;AAC1C,WAAO,GAAU,0BAAmB,GAAG,SAAS;AAAA,EAClD,GAAG,CAAC,IAAI,SAAS,CAAC;AAClB,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -41,13 +41,12 @@ function useBorderBoxControlVisualizer(props) {
41
41
  const {
42
42
  className,
43
43
  value,
44
- size = "default",
45
44
  ...otherProps
46
45
  } = (0, import_context.useContextSystem)(props, "BorderBoxControlVisualizer");
47
46
  const cx = (0, import_utils.useCx)();
48
47
  const classes = (0, import_element.useMemo)(() => {
49
- return cx(styles.borderBoxControlVisualizer(value, size), className);
50
- }, [cx, className, value, size]);
48
+ return cx(styles.borderBoxControlVisualizer(value), className);
49
+ }, [cx, className, value]);
51
50
  return {
52
51
  ...otherProps,
53
52
  className: classes,