@wordpress/components 28.6.0 → 28.8.1-next.5368f64a9.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 (644) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/CONTRIBUTING.md +42 -19
  3. package/build/alignment-matrix-control/cell.js +4 -7
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +31 -19
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +55 -51
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles.js +73 -0
  10. package/build/alignment-matrix-control/styles.js.map +1 -0
  11. package/build/alignment-matrix-control/types.js.map +1 -1
  12. package/build/angle-picker-control/angle-circle.js +9 -9
  13. package/build/angle-picker-control/angle-circle.js.map +1 -1
  14. package/build/border-control/border-control/component.js +18 -13
  15. package/build/border-control/border-control/component.js.map +1 -1
  16. package/build/circular-option-picker/circular-option-picker-option.js +15 -9
  17. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  18. package/build/circular-option-picker/circular-option-picker.js +15 -12
  19. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  20. package/build/circular-option-picker/types.js.map +1 -1
  21. package/build/clipboard-button/index.js +6 -6
  22. package/build/clipboard-button/index.js.map +1 -1
  23. package/build/color-palette/utils.js +1 -2
  24. package/build/color-palette/utils.js.map +1 -1
  25. package/build/color-picker/color-copy-button.js +8 -8
  26. package/build/color-picker/color-copy-button.js.map +1 -1
  27. package/build/color-picker/hex-input.js +8 -8
  28. package/build/color-picker/hex-input.js.map +1 -1
  29. package/build/color-picker/input-with-slider.js +8 -8
  30. package/build/color-picker/input-with-slider.js.map +1 -1
  31. package/build/color-picker/styles.js +8 -8
  32. package/build/color-picker/styles.js.map +1 -1
  33. package/build/combobox-control/types.js.map +1 -1
  34. package/build/composite/context.js +1 -1
  35. package/build/composite/context.js.map +1 -1
  36. package/build/composite/group-label.js +33 -0
  37. package/build/composite/group-label.js.map +1 -0
  38. package/build/composite/group.js +33 -0
  39. package/build/composite/group.js.map +1 -0
  40. package/build/composite/hover.js +33 -0
  41. package/build/composite/hover.js.map +1 -0
  42. package/build/composite/index.js +63 -118
  43. package/build/composite/index.js.map +1 -1
  44. package/build/composite/item.js +33 -0
  45. package/build/composite/item.js.map +1 -0
  46. package/build/composite/legacy/index.js +59 -7
  47. package/build/composite/legacy/index.js.map +1 -1
  48. package/build/composite/row.js +33 -0
  49. package/build/composite/row.js.map +1 -0
  50. package/build/composite/typeahead.js +33 -0
  51. package/build/composite/typeahead.js.map +1 -0
  52. package/build/composite/types.js.map +1 -1
  53. package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  54. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  55. package/build/custom-select-control-v2/styles.js +12 -14
  56. package/build/custom-select-control-v2/styles.js.map +1 -1
  57. package/build/date-time/date/index.js +1 -1
  58. package/build/date-time/date/index.js.map +1 -1
  59. package/build/date-time/date/styles.js +37 -26
  60. package/build/date-time/date/styles.js.map +1 -1
  61. package/build/date-time/date/use-lilius/index.js +163 -0
  62. package/build/date-time/date/use-lilius/index.js.map +1 -0
  63. package/build/date-time/time/time-input/index.js +17 -19
  64. package/build/date-time/time/time-input/index.js.map +1 -1
  65. package/build/dimension-control/index.js +6 -1
  66. package/build/dimension-control/index.js.map +1 -1
  67. package/build/draggable/index.js +4 -4
  68. package/build/draggable/index.js.map +1 -1
  69. package/build/dropdown-menu-v2/checkbox-item.js +69 -0
  70. package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
  71. package/build/dropdown-menu-v2/context.js +17 -0
  72. package/build/dropdown-menu-v2/context.js.map +1 -0
  73. package/build/dropdown-menu-v2/group-label.js +40 -0
  74. package/build/dropdown-menu-v2/group-label.js.map +1 -0
  75. package/build/dropdown-menu-v2/group.js +29 -0
  76. package/build/dropdown-menu-v2/group.js.map +1 -0
  77. package/build/dropdown-menu-v2/index.js +58 -146
  78. package/build/dropdown-menu-v2/index.js.map +1 -1
  79. package/build/dropdown-menu-v2/item-help-text.js +27 -0
  80. package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
  81. package/build/dropdown-menu-v2/item-label.js +27 -0
  82. package/build/dropdown-menu-v2/item-label.js.map +1 -0
  83. package/build/dropdown-menu-v2/item.js +53 -0
  84. package/build/dropdown-menu-v2/item.js.map +1 -0
  85. package/build/dropdown-menu-v2/radio-item.js +79 -0
  86. package/build/dropdown-menu-v2/radio-item.js.map +1 -0
  87. package/build/dropdown-menu-v2/separator.js +30 -0
  88. package/build/dropdown-menu-v2/separator.js.map +1 -0
  89. package/build/dropdown-menu-v2/styles.js +54 -78
  90. package/build/dropdown-menu-v2/styles.js.map +1 -1
  91. package/build/dropdown-menu-v2/types.js.map +1 -1
  92. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
  93. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  94. package/build/focal-point-picker/styles/focal-point-style.js +7 -2
  95. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  96. package/build/form-token-field/types.js.map +1 -1
  97. package/build/index.js +13 -0
  98. package/build/index.js.map +1 -1
  99. package/build/input-control/index.js +2 -2
  100. package/build/input-control/index.js.map +1 -1
  101. package/build/input-control/input-base.js +5 -10
  102. package/build/input-control/input-base.js.map +1 -1
  103. package/build/input-control/input-prefix-wrapper.js +3 -3
  104. package/build/input-control/input-prefix-wrapper.js.map +1 -1
  105. package/build/input-control/input-suffix-wrapper.js +2 -3
  106. package/build/input-control/input-suffix-wrapper.js.map +1 -1
  107. package/build/input-control/reducer/reducer.js +8 -8
  108. package/build/input-control/reducer/reducer.js.map +1 -1
  109. package/build/input-control/styles/input-control-styles.js +75 -45
  110. package/build/input-control/styles/input-control-styles.js.map +1 -1
  111. package/build/input-control/types.js.map +1 -1
  112. package/build/input-control/utils.js +3 -3
  113. package/build/input-control/utils.js.map +1 -1
  114. package/build/item-group/styles.js +10 -10
  115. package/build/item-group/styles.js.map +1 -1
  116. package/build/modal/index.js +16 -9
  117. package/build/modal/index.js.map +1 -1
  118. package/build/navigation/index.js +4 -4
  119. package/build/navigation/index.js.map +1 -1
  120. package/build/navigation/styles/navigation-styles.js +13 -13
  121. package/build/navigation/styles/navigation-styles.js.map +1 -1
  122. package/build/navigator/index.js +12 -13
  123. package/build/navigator/index.js.map +1 -1
  124. package/build/navigator/navigator-back-button/hook.js +2 -2
  125. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  126. package/build/navigator/navigator-button/hook.js +2 -2
  127. package/build/navigator/navigator-button/hook.js.map +1 -1
  128. package/build/navigator/navigator-provider/component.js +99 -67
  129. package/build/navigator/navigator-provider/component.js.map +1 -1
  130. package/build/navigator/navigator-screen/component.js +5 -0
  131. package/build/navigator/navigator-screen/component.js.map +1 -1
  132. package/build/navigator/navigator-to-parent-button/component.js +2 -2
  133. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  134. package/build/navigator/types.js.map +1 -1
  135. package/build/navigator/use-navigator.js +1 -2
  136. package/build/navigator/use-navigator.js.map +1 -1
  137. package/build/palette-edit/index.js +2 -2
  138. package/build/palette-edit/index.js.map +1 -1
  139. package/build/private-apis.js +1 -14
  140. package/build/private-apis.js.map +1 -1
  141. package/build/range-control/styles/range-control-styles.js +30 -30
  142. package/build/range-control/styles/range-control-styles.js.map +1 -1
  143. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  144. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  145. package/build/select-control/styles/select-control-styles.js +12 -12
  146. package/build/select-control/styles/select-control-styles.js.map +1 -1
  147. package/build/slot-fill/bubbles-virtually/fill.js +4 -4
  148. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  149. package/build/slot-fill/index.js +1 -0
  150. package/build/slot-fill/index.js.map +1 -1
  151. package/build/snackbar/index.js +4 -4
  152. package/build/snackbar/index.js.map +1 -1
  153. package/build/tabs/index.js +4 -4
  154. package/build/tabs/index.js.map +1 -1
  155. package/build/tabs/styles.js +3 -3
  156. package/build/tabs/styles.js.map +1 -1
  157. package/build/tabs/tablist.js +5 -4
  158. package/build/tabs/tablist.js.map +1 -1
  159. package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
  160. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  161. package/build/tools-panel/tools-panel/hook.js +6 -6
  162. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  163. package/build/unit-control/styles/unit-control-styles.js +7 -7
  164. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  165. package/build/utils/config-values.js +6 -4
  166. package/build/utils/config-values.js.map +1 -1
  167. package/build/utils/element-rect.js +73 -105
  168. package/build/utils/element-rect.js.map +1 -1
  169. package/build/utils/hooks/use-update-effect.js +4 -4
  170. package/build/utils/hooks/use-update-effect.js.map +1 -1
  171. package/build-module/alignment-matrix-control/cell.js +2 -5
  172. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  173. package/build-module/alignment-matrix-control/icon.js +31 -19
  174. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  175. package/build-module/alignment-matrix-control/index.js +55 -50
  176. package/build-module/alignment-matrix-control/index.js.map +1 -1
  177. package/build-module/alignment-matrix-control/styles.js +70 -0
  178. package/build-module/alignment-matrix-control/styles.js.map +1 -0
  179. package/build-module/alignment-matrix-control/types.js.map +1 -1
  180. package/build-module/angle-picker-control/angle-circle.js +9 -9
  181. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  182. package/build-module/border-control/border-control/component.js +18 -13
  183. package/build-module/border-control/border-control/component.js.map +1 -1
  184. package/build-module/circular-option-picker/circular-option-picker-option.js +16 -10
  185. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  186. package/build-module/circular-option-picker/circular-option-picker.js +16 -13
  187. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  188. package/build-module/circular-option-picker/types.js.map +1 -1
  189. package/build-module/clipboard-button/index.js +6 -6
  190. package/build-module/clipboard-button/index.js.map +1 -1
  191. package/build-module/color-palette/utils.js +1 -2
  192. package/build-module/color-palette/utils.js.map +1 -1
  193. package/build-module/color-picker/color-copy-button.js +8 -8
  194. package/build-module/color-picker/color-copy-button.js.map +1 -1
  195. package/build-module/color-picker/hex-input.js +7 -8
  196. package/build-module/color-picker/hex-input.js.map +1 -1
  197. package/build-module/color-picker/input-with-slider.js +7 -8
  198. package/build-module/color-picker/input-with-slider.js.map +1 -1
  199. package/build-module/color-picker/styles.js +8 -8
  200. package/build-module/color-picker/styles.js.map +1 -1
  201. package/build-module/combobox-control/types.js.map +1 -1
  202. package/build-module/composite/context.js +1 -1
  203. package/build-module/composite/context.js.map +1 -1
  204. package/build-module/composite/group-label.js +25 -0
  205. package/build-module/composite/group-label.js.map +1 -0
  206. package/build-module/composite/group.js +25 -0
  207. package/build-module/composite/group.js.map +1 -0
  208. package/build-module/composite/hover.js +25 -0
  209. package/build-module/composite/hover.js.map +1 -0
  210. package/build-module/composite/index.js +64 -118
  211. package/build-module/composite/index.js.map +1 -1
  212. package/build-module/composite/item.js +25 -0
  213. package/build-module/composite/item.js.map +1 -0
  214. package/build-module/composite/legacy/index.js +57 -8
  215. package/build-module/composite/legacy/index.js.map +1 -1
  216. package/build-module/composite/row.js +25 -0
  217. package/build-module/composite/row.js.map +1 -0
  218. package/build-module/composite/typeahead.js +25 -0
  219. package/build-module/composite/typeahead.js.map +1 -0
  220. package/build-module/composite/types.js.map +1 -1
  221. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  222. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  223. package/build-module/custom-select-control-v2/styles.js +12 -14
  224. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  225. package/build-module/date-time/date/index.js +1 -2
  226. package/build-module/date-time/date/index.js.map +1 -1
  227. package/build-module/date-time/date/styles.js +33 -26
  228. package/build-module/date-time/date/styles.js.map +1 -1
  229. package/build-module/date-time/date/use-lilius/index.js +158 -0
  230. package/build-module/date-time/date/use-lilius/index.js.map +1 -0
  231. package/build-module/date-time/time/time-input/index.js +17 -19
  232. package/build-module/date-time/time/time-input/index.js.map +1 -1
  233. package/build-module/dimension-control/index.js +6 -1
  234. package/build-module/dimension-control/index.js.map +1 -1
  235. package/build-module/draggable/index.js +4 -4
  236. package/build-module/draggable/index.js.map +1 -1
  237. package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
  238. package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
  239. package/build-module/dropdown-menu-v2/context.js +11 -0
  240. package/build-module/dropdown-menu-v2/context.js.map +1 -0
  241. package/build-module/dropdown-menu-v2/group-label.js +32 -0
  242. package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
  243. package/build-module/dropdown-menu-v2/group.js +21 -0
  244. package/build-module/dropdown-menu-v2/group.js.map +1 -0
  245. package/build-module/dropdown-menu-v2/index.js +57 -144
  246. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  247. package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
  248. package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
  249. package/build-module/dropdown-menu-v2/item-label.js +19 -0
  250. package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
  251. package/build-module/dropdown-menu-v2/item.js +46 -0
  252. package/build-module/dropdown-menu-v2/item.js.map +1 -0
  253. package/build-module/dropdown-menu-v2/radio-item.js +72 -0
  254. package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
  255. package/build-module/dropdown-menu-v2/separator.js +22 -0
  256. package/build-module/dropdown-menu-v2/separator.js.map +1 -0
  257. package/build-module/dropdown-menu-v2/styles.js +54 -78
  258. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  259. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  260. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
  261. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  262. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
  263. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  264. package/build-module/form-token-field/types.js.map +1 -1
  265. package/build-module/index.js +3 -1
  266. package/build-module/index.js.map +1 -1
  267. package/build-module/input-control/index.js +2 -2
  268. package/build-module/input-control/index.js.map +1 -1
  269. package/build-module/input-control/input-base.js +6 -11
  270. package/build-module/input-control/input-base.js.map +1 -1
  271. package/build-module/input-control/input-prefix-wrapper.js +4 -3
  272. package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
  273. package/build-module/input-control/input-suffix-wrapper.js +3 -3
  274. package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
  275. package/build-module/input-control/reducer/reducer.js +8 -8
  276. package/build-module/input-control/reducer/reducer.js.map +1 -1
  277. package/build-module/input-control/styles/input-control-styles.js +74 -44
  278. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  279. package/build-module/input-control/types.js.map +1 -1
  280. package/build-module/input-control/utils.js +3 -3
  281. package/build-module/input-control/utils.js.map +1 -1
  282. package/build-module/item-group/styles.js +10 -10
  283. package/build-module/item-group/styles.js.map +1 -1
  284. package/build-module/modal/index.js +17 -9
  285. package/build-module/modal/index.js.map +1 -1
  286. package/build-module/navigation/index.js +4 -4
  287. package/build-module/navigation/index.js.map +1 -1
  288. package/build-module/navigation/styles/navigation-styles.js +14 -14
  289. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  290. package/build-module/navigator/index.js +6 -6
  291. package/build-module/navigator/index.js.map +1 -1
  292. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  293. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  294. package/build-module/navigator/navigator-button/hook.js +1 -1
  295. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  296. package/build-module/navigator/navigator-provider/component.js +99 -67
  297. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  298. package/build-module/navigator/navigator-screen/component.js +4 -0
  299. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  300. package/build-module/navigator/navigator-to-parent-button/component.js +1 -1
  301. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  302. package/build-module/navigator/types.js.map +1 -1
  303. package/build-module/navigator/use-navigator.js +1 -2
  304. package/build-module/navigator/use-navigator.js.map +1 -1
  305. package/build-module/palette-edit/index.js +2 -2
  306. package/build-module/palette-edit/index.js.map +1 -1
  307. package/build-module/private-apis.js +1 -14
  308. package/build-module/private-apis.js.map +1 -1
  309. package/build-module/range-control/styles/range-control-styles.js +31 -31
  310. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  311. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  312. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  313. package/build-module/select-control/styles/select-control-styles.js +13 -13
  314. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  315. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
  316. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  317. package/build-module/slot-fill/index.js +1 -0
  318. package/build-module/slot-fill/index.js.map +1 -1
  319. package/build-module/snackbar/index.js +4 -4
  320. package/build-module/snackbar/index.js.map +1 -1
  321. package/build-module/tabs/index.js +4 -4
  322. package/build-module/tabs/index.js.map +1 -1
  323. package/build-module/tabs/styles.js +4 -4
  324. package/build-module/tabs/styles.js.map +1 -1
  325. package/build-module/tabs/tablist.js +5 -4
  326. package/build-module/tabs/tablist.js.map +1 -1
  327. package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
  328. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  329. package/build-module/tools-panel/tools-panel/hook.js +6 -6
  330. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  331. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  332. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  333. package/build-module/utils/config-values.js +6 -4
  334. package/build-module/utils/config-values.js.map +1 -1
  335. package/build-module/utils/element-rect.js +74 -105
  336. package/build-module/utils/element-rect.js.map +1 -1
  337. package/build-module/utils/hooks/use-update-effect.js +4 -4
  338. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  339. package/build-style/style-rtl.css +11 -27
  340. package/build-style/style.css +11 -27
  341. package/build-types/alignment-matrix-control/cell.d.ts +1 -1
  342. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
  343. package/build-types/alignment-matrix-control/icon.d.ts +1 -1
  344. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
  345. package/build-types/alignment-matrix-control/index.d.ts +16 -6
  346. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  347. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  348. package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
  349. package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
  350. package/build-types/alignment-matrix-control/types.d.ts +12 -1
  351. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  352. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  353. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  354. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  355. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  356. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  357. package/build-types/circular-option-picker/types.d.ts +2 -2
  358. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  359. package/build-types/color-palette/utils.d.ts.map +1 -1
  360. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  361. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  362. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  363. package/build-types/color-picker/styles.d.ts.map +1 -1
  364. package/build-types/combobox-control/types.d.ts +1 -0
  365. package/build-types/combobox-control/types.d.ts.map +1 -1
  366. package/build-types/composite/context.d.ts.map +1 -1
  367. package/build-types/composite/group-label.d.ts +3 -0
  368. package/build-types/composite/group-label.d.ts.map +1 -0
  369. package/build-types/composite/group.d.ts +3 -0
  370. package/build-types/composite/group.d.ts.map +1 -0
  371. package/build-types/composite/hover.d.ts +3 -0
  372. package/build-types/composite/hover.d.ts.map +1 -0
  373. package/build-types/composite/index.d.ts +63 -47
  374. package/build-types/composite/index.d.ts.map +1 -1
  375. package/build-types/composite/item.d.ts +3 -0
  376. package/build-types/composite/item.d.ts.map +1 -0
  377. package/build-types/composite/legacy/index.d.ts +23 -3
  378. package/build-types/composite/legacy/index.d.ts.map +1 -1
  379. package/build-types/composite/legacy/stories/index.story.d.ts.map +1 -1
  380. package/build-types/composite/row.d.ts +3 -0
  381. package/build-types/composite/row.d.ts.map +1 -0
  382. package/build-types/composite/stories/index.story.d.ts +9 -8
  383. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  384. package/build-types/composite/typeahead.d.ts +3 -0
  385. package/build-types/composite/typeahead.d.ts.map +1 -0
  386. package/build-types/composite/types.d.ts +12 -11
  387. package/build-types/composite/types.d.ts.map +1 -1
  388. package/build-types/date-time/date/index.d.ts +0 -3
  389. package/build-types/date-time/date/index.d.ts.map +1 -1
  390. package/build-types/date-time/date/styles.d.ts.map +1 -1
  391. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  392. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  393. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  394. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  395. package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
  396. package/build-types/dimension-control/index.d.ts +1 -1
  397. package/build-types/dimension-control/index.d.ts.map +1 -1
  398. package/build-types/dimension-control/stories/index.story.d.ts +5 -0
  399. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  400. package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
  401. package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
  402. package/build-types/dropdown-menu-v2/context.d.ts +6 -0
  403. package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
  404. package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
  405. package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
  406. package/build-types/dropdown-menu-v2/group.d.ts +3 -0
  407. package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
  408. package/build-types/dropdown-menu-v2/index.d.ts +39 -18
  409. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  410. package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
  411. package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
  412. package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
  413. package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
  414. package/build-types/dropdown-menu-v2/item.d.ts +3 -0
  415. package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
  416. package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
  417. package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
  418. package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
  419. package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
  420. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
  421. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  422. package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
  423. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  424. package/build-types/dropdown-menu-v2/types.d.ts +6 -0
  425. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  426. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
  427. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
  428. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  429. package/build-types/form-token-field/types.d.ts +1 -0
  430. package/build-types/form-token-field/types.d.ts.map +1 -1
  431. package/build-types/index.d.ts +4 -1
  432. package/build-types/index.d.ts.map +1 -1
  433. package/build-types/input-control/input-base.d.ts.map +1 -1
  434. package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
  435. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  436. package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
  437. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  438. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  439. package/build-types/input-control/stories/index.story.d.ts +9 -0
  440. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  441. package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
  442. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  443. package/build-types/input-control/types.d.ts +23 -6
  444. package/build-types/input-control/types.d.ts.map +1 -1
  445. package/build-types/modal/index.d.ts.map +1 -1
  446. package/build-types/modal/stories/index.story.d.ts +3 -0
  447. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  448. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  449. package/build-types/navigator/index.d.ts +6 -6
  450. package/build-types/navigator/index.d.ts.map +1 -1
  451. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  452. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  453. package/build-types/navigator/stories/index.story.d.ts +1 -1
  454. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  455. package/build-types/navigator/types.d.ts +3 -1
  456. package/build-types/navigator/types.d.ts.map +1 -1
  457. package/build-types/navigator/use-navigator.d.ts +1 -2
  458. package/build-types/navigator/use-navigator.d.ts.map +1 -1
  459. package/build-types/private-apis.d.ts.map +1 -1
  460. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  461. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  462. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  463. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  464. package/build-types/slot-fill/index.d.ts +3 -0
  465. package/build-types/slot-fill/index.d.ts.map +1 -1
  466. package/build-types/tabs/index.d.ts.map +1 -1
  467. package/build-types/tabs/styles.d.ts.map +1 -1
  468. package/build-types/tabs/tablist.d.ts.map +1 -1
  469. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  470. package/build-types/utils/config-values.d.ts +3 -3
  471. package/build-types/utils/element-rect.d.ts +32 -74
  472. package/build-types/utils/element-rect.d.ts.map +1 -1
  473. package/package.json +19 -20
  474. package/src/alignment-matrix-control/README.md +1 -5
  475. package/src/alignment-matrix-control/cell.tsx +3 -9
  476. package/src/alignment-matrix-control/icon.tsx +48 -30
  477. package/src/alignment-matrix-control/index.tsx +60 -50
  478. package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
  479. package/src/alignment-matrix-control/styles.ts +113 -0
  480. package/src/alignment-matrix-control/types.ts +12 -1
  481. package/src/angle-picker-control/angle-circle.tsx +11 -9
  482. package/src/border-control/border-control/component.tsx +23 -16
  483. package/src/circular-option-picker/circular-option-picker-option.tsx +16 -19
  484. package/src/circular-option-picker/circular-option-picker.tsx +26 -12
  485. package/src/circular-option-picker/types.ts +2 -2
  486. package/src/clipboard-button/index.tsx +6 -6
  487. package/src/color-palette/test/utils.ts +21 -2
  488. package/src/color-palette/utils.ts +1 -3
  489. package/src/color-picker/color-copy-button.tsx +10 -8
  490. package/src/color-picker/hex-input.tsx +6 -10
  491. package/src/color-picker/input-with-slider.tsx +6 -10
  492. package/src/color-picker/styles.ts +1 -1
  493. package/src/combobox-control/types.ts +1 -0
  494. package/src/composite/README.md +5 -24
  495. package/src/composite/{context.ts → context.tsx} +1 -2
  496. package/src/composite/group-label.tsx +30 -0
  497. package/src/composite/group.tsx +30 -0
  498. package/src/composite/hover.tsx +30 -0
  499. package/src/composite/index.tsx +71 -166
  500. package/src/composite/item.tsx +30 -0
  501. package/src/composite/legacy/index.tsx +73 -11
  502. package/src/composite/legacy/stories/index.story.tsx +2 -1
  503. package/src/composite/legacy/test/index.tsx +57 -1
  504. package/src/composite/row.tsx +30 -0
  505. package/src/composite/stories/index.story.tsx +254 -365
  506. package/src/composite/typeahead.tsx +30 -0
  507. package/src/composite/types.ts +14 -16
  508. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
  509. package/src/custom-gradient-picker/style.scss +2 -21
  510. package/src/custom-select-control-v2/styles.ts +4 -4
  511. package/src/date-time/date/index.tsx +1 -1
  512. package/src/date-time/date/styles.ts +33 -13
  513. package/src/date-time/date/test/use-lilius.ts +417 -0
  514. package/src/date-time/date/use-lilius/index.ts +394 -0
  515. package/src/date-time/time/test/index.tsx +3 -6
  516. package/src/date-time/time/time-input/index.tsx +25 -25
  517. package/src/date-time/time/time-input/test/index.tsx +6 -7
  518. package/src/dimension-control/README.md +4 -0
  519. package/src/dimension-control/index.tsx +7 -1
  520. package/src/dimension-control/stories/index.story.tsx +7 -2
  521. package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -16
  522. package/src/dimension-control/test/index.test.js +1 -0
  523. package/src/draggable/index.tsx +4 -4
  524. package/src/dropdown-menu-v2/README.md +73 -60
  525. package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
  526. package/src/dropdown-menu-v2/context.tsx +13 -0
  527. package/src/dropdown-menu-v2/group-label.tsx +37 -0
  528. package/src/dropdown-menu-v2/group.tsx +26 -0
  529. package/src/dropdown-menu-v2/index.tsx +57 -197
  530. package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
  531. package/src/dropdown-menu-v2/item-label.tsx +23 -0
  532. package/src/dropdown-menu-v2/item.tsx +50 -0
  533. package/src/dropdown-menu-v2/radio-item.tsx +70 -0
  534. package/src/dropdown-menu-v2/separator.tsx +27 -0
  535. package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
  536. package/src/dropdown-menu-v2/styles.ts +102 -66
  537. package/src/dropdown-menu-v2/test/index.tsx +159 -132
  538. package/src/dropdown-menu-v2/types.ts +7 -0
  539. package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
  540. package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
  541. package/src/form-toggle/style.scss +1 -1
  542. package/src/form-token-field/style.scss +2 -3
  543. package/src/form-token-field/types.ts +1 -0
  544. package/src/index.ts +6 -1
  545. package/src/input-control/index.tsx +2 -2
  546. package/src/input-control/input-base.tsx +4 -14
  547. package/src/input-control/input-prefix-wrapper.tsx +8 -4
  548. package/src/input-control/input-suffix-wrapper.tsx +4 -6
  549. package/src/input-control/reducer/reducer.ts +13 -10
  550. package/src/input-control/stories/index.story.tsx +31 -12
  551. package/src/input-control/styles/input-control-styles.tsx +42 -11
  552. package/src/input-control/types.ts +23 -7
  553. package/src/input-control/utils.ts +3 -3
  554. package/src/item-group/styles.ts +3 -3
  555. package/src/item-group/test/__snapshots__/index.js.snap +3 -3
  556. package/src/modal/index.tsx +21 -12
  557. package/src/modal/stories/index.story.tsx +8 -14
  558. package/src/modal/style.scss +5 -9
  559. package/src/navigation/index.tsx +4 -4
  560. package/src/navigation/styles/navigation-styles.tsx +3 -3
  561. package/src/navigator/index.ts +6 -6
  562. package/src/navigator/navigator-back-button/hook.ts +1 -1
  563. package/src/navigator/navigator-button/hook.ts +1 -1
  564. package/src/navigator/navigator-provider/README.md +2 -3
  565. package/src/navigator/navigator-provider/component.tsx +97 -82
  566. package/src/navigator/navigator-screen/component.tsx +7 -0
  567. package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
  568. package/src/navigator/stories/index.story.tsx +82 -253
  569. package/src/navigator/test/index.tsx +8 -0
  570. package/src/navigator/types.ts +3 -1
  571. package/src/navigator/use-navigator.ts +1 -3
  572. package/src/palette-edit/index.tsx +2 -2
  573. package/src/private-apis.ts +1 -23
  574. package/src/range-control/styles/range-control-styles.ts +7 -7
  575. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
  576. package/src/resizable-box/style.scss +2 -2
  577. package/src/select-control/README.md +2 -2
  578. package/src/select-control/styles/select-control-styles.ts +5 -5
  579. package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
  580. package/src/slot-fill/index.tsx +1 -0
  581. package/src/snackbar/index.tsx +4 -4
  582. package/src/tab-panel/style.scss +0 -1
  583. package/src/tabs/index.tsx +8 -4
  584. package/src/tabs/styles.ts +42 -14
  585. package/src/tabs/tablist.tsx +5 -4
  586. package/src/text-control/style.scss +3 -2
  587. package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
  588. package/src/tools-panel/tools-panel/hook.ts +6 -6
  589. package/src/unit-control/styles/unit-control-styles.ts +2 -1
  590. package/src/utils/config-values.js +6 -4
  591. package/src/utils/element-rect.ts +93 -130
  592. package/src/utils/hooks/use-update-effect.js +4 -4
  593. package/tsconfig.tsbuildinfo +1 -1
  594. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
  595. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  596. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -77
  597. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  598. package/build/navigator/navigator-back-button/index.js +0 -14
  599. package/build/navigator/navigator-back-button/index.js.map +0 -1
  600. package/build/navigator/navigator-button/index.js +0 -14
  601. package/build/navigator/navigator-button/index.js.map +0 -1
  602. package/build/navigator/navigator-provider/index.js +0 -14
  603. package/build/navigator/navigator-provider/index.js.map +0 -1
  604. package/build/navigator/navigator-screen/index.js +0 -14
  605. package/build/navigator/navigator-screen/index.js.map +0 -1
  606. package/build/navigator/navigator-to-parent-button/index.js +0 -14
  607. package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
  608. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
  609. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  610. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -72
  611. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  612. package/build-module/navigator/navigator-back-button/index.js +0 -2
  613. package/build-module/navigator/navigator-back-button/index.js.map +0 -1
  614. package/build-module/navigator/navigator-button/index.js +0 -2
  615. package/build-module/navigator/navigator-button/index.js.map +0 -1
  616. package/build-module/navigator/navigator-provider/index.js +0 -2
  617. package/build-module/navigator/navigator-provider/index.js.map +0 -1
  618. package/build-module/navigator/navigator-screen/index.js +0 -2
  619. package/build-module/navigator/navigator-screen/index.js.map +0 -1
  620. package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
  621. package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
  622. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
  623. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
  624. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
  625. package/build-types/composite/stories/utils.d.ts +0 -29
  626. package/build-types/composite/stories/utils.d.ts.map +0 -1
  627. package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
  628. package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
  629. package/build-types/navigator/navigator-button/index.d.ts +0 -2
  630. package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
  631. package/build-types/navigator/navigator-provider/index.d.ts +0 -2
  632. package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
  633. package/build-types/navigator/navigator-screen/index.d.ts +0 -2
  634. package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
  635. package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
  636. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
  637. package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
  638. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
  639. package/src/composite/stories/utils.tsx +0 -76
  640. package/src/navigator/navigator-back-button/index.ts +0 -1
  641. package/src/navigator/navigator-button/index.ts +0 -1
  642. package/src/navigator/navigator-provider/index.ts +0 -1
  643. package/src/navigator/navigator-screen/index.ts +0 -1
  644. package/src/navigator/navigator-to-parent-button/index.ts +0 -1
package/src/index.ts CHANGED
@@ -12,7 +12,11 @@ export {
12
12
  } from '@wordpress/primitives';
13
13
 
14
14
  // Components.
15
- export { default as __experimentalAlignmentMatrixControl } from './alignment-matrix-control';
15
+ export {
16
+ /** @deprecated Import `AlignmentMatrixControl` instead. */
17
+ default as __experimentalAlignmentMatrixControl,
18
+ default as AlignmentMatrixControl,
19
+ } from './alignment-matrix-control';
16
20
  export {
17
21
  default as Animate,
18
22
  getAnimateClassName as __unstableGetAnimateClassName,
@@ -62,6 +66,7 @@ export {
62
66
  CompositeItem as __unstableCompositeItem,
63
67
  useCompositeState as __unstableUseCompositeState,
64
68
  } from './composite/legacy';
69
+ export { Composite } from './composite';
65
70
  export { ConfirmDialog as __experimentalConfirmDialog } from './confirm-dialog';
66
71
  export { default as CustomSelectControl } from './custom-select-control';
67
72
  export { default as Dashicon } from './dashicon';
@@ -100,8 +100,8 @@ export function UnforwardedInputControl(
100
100
  isPressEnterToChange={ isPressEnterToChange }
101
101
  onKeyDown={ onKeyDown }
102
102
  onValidate={ onValidate }
103
- paddingInlineStart={ prefix ? space( 2 ) : undefined }
104
- paddingInlineEnd={ suffix ? space( 2 ) : undefined }
103
+ paddingInlineStart={ prefix ? space( 1 ) : undefined }
104
+ paddingInlineEnd={ suffix ? space( 1 ) : undefined }
105
105
  ref={ ref }
106
106
  size={ size }
107
107
  stateReducer={ stateReducer }
@@ -14,13 +14,7 @@ import { useMemo } from '@wordpress/element';
14
14
  */
15
15
  import Backdrop from './backdrop';
16
16
  import Label from './label';
17
- import {
18
- Container,
19
- Root,
20
- Prefix,
21
- Suffix,
22
- getSizeConfig,
23
- } from './styles/input-control-styles';
17
+ import { Container, Root, Prefix, Suffix } from './styles/input-control-styles';
24
18
  import type { InputBaseProps, LabelPosition } from './types';
25
19
  import type { WordPressComponentProps } from '../context';
26
20
  import {
@@ -90,16 +84,12 @@ function InputBase(
90
84
  const id = useUniqueId( idProp );
91
85
  const hideLabel = hideLabelFromVision || ! label;
92
86
 
93
- const { paddingLeft, paddingRight } = getSizeConfig( {
94
- inputSize: size,
95
- __next40pxDefaultSize,
96
- } );
97
87
  const prefixSuffixContextValue = useMemo( () => {
98
88
  return {
99
- InputControlPrefixWrapper: { paddingLeft },
100
- InputControlSuffixWrapper: { paddingRight },
89
+ InputControlPrefixWrapper: { __next40pxDefaultSize, size },
90
+ InputControlSuffixWrapper: { __next40pxDefaultSize, size },
101
91
  };
102
- }, [ paddingLeft, paddingRight ] );
92
+ }, [ __next40pxDefaultSize, size ] );
103
93
 
104
94
  return (
105
95
  // @ts-expect-error The `direction` prop from Flex (FlexDirection) conflicts with legacy SVGAttributes `direction` (string) that come from React intrinsic prop definitions.
@@ -6,19 +6,23 @@ import type { ForwardedRef } from 'react';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import { Spacer } from '../spacer';
10
9
  import type { WordPressComponentProps } from '../context';
11
10
  import { contextConnect, useContextSystem } from '../context';
12
- import type { InputControlPrefixWrapperProps } from './types';
11
+ import type { PrefixSuffixWrapperProps } from './types';
12
+ import { PrefixSuffixWrapper } from './styles/input-control-styles';
13
13
 
14
14
  function UnconnectedInputControlPrefixWrapper(
15
- props: WordPressComponentProps< InputControlPrefixWrapperProps, 'div' >,
15
+ props: WordPressComponentProps< PrefixSuffixWrapperProps, 'div' >,
16
16
  forwardedRef: ForwardedRef< any >
17
17
  ) {
18
18
  const derivedProps = useContextSystem( props, 'InputControlPrefixWrapper' );
19
19
 
20
20
  return (
21
- <Spacer marginBottom={ 0 } { ...derivedProps } ref={ forwardedRef } />
21
+ <PrefixSuffixWrapper
22
+ { ...derivedProps }
23
+ isPrefix
24
+ ref={ forwardedRef }
25
+ />
22
26
  );
23
27
  }
24
28
 
@@ -6,20 +6,18 @@ import type { ForwardedRef } from 'react';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import { Spacer } from '../spacer';
10
9
  import type { WordPressComponentProps } from '../context';
11
10
  import { contextConnect, useContextSystem } from '../context';
12
- import type { InputControlSuffixWrapperProps } from './types';
11
+ import type { PrefixSuffixWrapperProps } from './types';
12
+ import { PrefixSuffixWrapper } from './styles/input-control-styles';
13
13
 
14
14
  function UnconnectedInputControlSuffixWrapper(
15
- props: WordPressComponentProps< InputControlSuffixWrapperProps, 'div' >,
15
+ props: WordPressComponentProps< PrefixSuffixWrapperProps, 'div' >,
16
16
  forwardedRef: ForwardedRef< any >
17
17
  ) {
18
18
  const derivedProps = useContextSystem( props, 'InputControlSuffixWrapper' );
19
19
 
20
- return (
21
- <Spacer marginBottom={ 0 } { ...derivedProps } ref={ forwardedRef } />
22
- );
20
+ return <PrefixSuffixWrapper { ...derivedProps } ref={ forwardedRef } />;
23
21
  }
24
22
 
25
23
  /**
@@ -192,25 +192,28 @@ export function useInputControlStateReducer(
192
192
  const pressDown = createKeyEvent( actions.PRESS_DOWN );
193
193
  const pressEnter = createKeyEvent( actions.PRESS_ENTER );
194
194
 
195
- const currentState = useRef( state );
196
- const refProps = useRef( { value: initialState.value, onChangeHandler } );
195
+ const currentStateRef = useRef( state );
196
+ const refPropsRef = useRef( {
197
+ value: initialState.value,
198
+ onChangeHandler,
199
+ } );
197
200
 
198
201
  // Freshens refs to props and state so that subsequent effects have access
199
202
  // to their latest values without their changes causing effect runs.
200
203
  useLayoutEffect( () => {
201
- currentState.current = state;
202
- refProps.current = { value: initialState.value, onChangeHandler };
204
+ currentStateRef.current = state;
205
+ refPropsRef.current = { value: initialState.value, onChangeHandler };
203
206
  } );
204
207
 
205
208
  // Propagates the latest state through onChange.
206
209
  useLayoutEffect( () => {
207
210
  if (
208
- currentState.current._event !== undefined &&
209
- state.value !== refProps.current.value &&
211
+ currentStateRef.current._event !== undefined &&
212
+ state.value !== refPropsRef.current.value &&
210
213
  ! state.isDirty
211
214
  ) {
212
- refProps.current.onChangeHandler( state.value ?? '', {
213
- event: currentState.current._event as
215
+ refPropsRef.current.onChangeHandler( state.value ?? '', {
216
+ event: currentStateRef.current._event as
214
217
  | ChangeEvent< HTMLInputElement >
215
218
  | PointerEvent< HTMLInputElement >,
216
219
  } );
@@ -220,8 +223,8 @@ export function useInputControlStateReducer(
220
223
  // Updates the state from props.
221
224
  useLayoutEffect( () => {
222
225
  if (
223
- initialState.value !== currentState.current.value &&
224
- ! currentState.current.isDirty
226
+ initialState.value !== currentStateRef.current.value &&
227
+ ! currentStateRef.current.isDirty
225
228
  ) {
226
229
  dispatch( {
227
230
  type: actions.CONTROL,
@@ -5,7 +5,7 @@ import type { Meta, StoryFn } from '@storybook/react';
5
5
  /**
6
6
  * WordPress dependencies
7
7
  */
8
- import { seen, unseen } from '@wordpress/icons';
8
+ import { closeSmall, Icon, link, seen, unseen } from '@wordpress/icons';
9
9
  import { useState } from '@wordpress/element';
10
10
  /**
11
11
  * Internal dependencies
@@ -75,6 +75,29 @@ WithSuffix.args = {
75
75
  suffix: <InputControlSuffixWrapper>%</InputControlSuffixWrapper>,
76
76
  };
77
77
 
78
+ /**
79
+ * `<InputControlPrefixWrapper>` and `<InputControlSuffixWrapper>` have a `variant` prop that can be used to
80
+ * adjust the wrapper based on the prefix or suffix content.
81
+ *
82
+ * - `'default'`: Standard padding for text content.
83
+ * - `'icon'`: For icons.
84
+ * - `'control'`: For controls, like buttons or selects.
85
+ */
86
+ export const WithIconOrControl = Template.bind( {} );
87
+ WithIconOrControl.args = {
88
+ ...Default.args,
89
+ prefix: (
90
+ <InputControlPrefixWrapper variant="icon">
91
+ <Icon icon={ link } />
92
+ </InputControlPrefixWrapper>
93
+ ),
94
+ suffix: (
95
+ <InputControlSuffixWrapper variant="control">
96
+ <Button icon={ closeSmall } size="small" label="Clear" />
97
+ </InputControlSuffixWrapper>
98
+ ),
99
+ };
100
+
78
101
  export const WithSideLabel = Template.bind( {} );
79
102
  WithSideLabel.args = {
80
103
  ...Default.args,
@@ -95,17 +118,13 @@ export const ShowPassword: StoryFn< typeof InputControl > = ( args ) => {
95
118
  type={ visible ? 'text' : 'password' }
96
119
  label="Password"
97
120
  suffix={
98
- <InputControlSuffixWrapper>
99
- <div style={ { display: 'flex' } }>
100
- <Button
101
- size="small"
102
- icon={ visible ? unseen : seen }
103
- onClick={ () => setVisible( ( value ) => ! value ) }
104
- label={
105
- visible ? 'Hide password' : 'Show password'
106
- }
107
- />
108
- </div>
121
+ <InputControlSuffixWrapper variant="control">
122
+ <Button
123
+ size="small"
124
+ icon={ visible ? unseen : seen }
125
+ onClick={ () => setVisible( ( value ) => ! value ) }
126
+ label={ visible ? 'Hide password' : 'Show password' }
127
+ />
109
128
  </InputControlSuffixWrapper>
110
129
  }
111
130
  { ...args }
@@ -13,8 +13,7 @@ import type { WordPressComponentProps } from '../../context';
13
13
  import { Flex, FlexItem } from '../../flex';
14
14
  import { Text } from '../../text';
15
15
  import { baseLabelTypography, COLORS, CONFIG, rtl } from '../../utils';
16
- import type { LabelPosition, Size } from '../types';
17
- import { space } from '../../utils/space';
16
+ import type { LabelPosition, Size, PrefixSuffixWrapperProps } from '../types';
18
17
 
19
18
  type ContainerProps = {
20
19
  disabled?: boolean;
@@ -78,7 +77,7 @@ export const BackdropUI = styled.div< BackdropProps >`
78
77
  export const Root = styled( Flex )`
79
78
  box-sizing: border-box;
80
79
  position: relative;
81
- border-radius: 2px;
80
+ border-radius: ${ CONFIG.radiusSmall };
82
81
  padding-top: 0;
83
82
 
84
83
  // Focus within, excluding cases where auxiliary controls in prefix or suffix have focus.
@@ -188,29 +187,29 @@ export const getSizeConfig = ( {
188
187
  height: 40,
189
188
  lineHeight: 1,
190
189
  minHeight: 40,
191
- paddingLeft: space( 4 ),
192
- paddingRight: space( 4 ),
190
+ paddingLeft: CONFIG.controlPaddingX,
191
+ paddingRight: CONFIG.controlPaddingX,
193
192
  },
194
193
  small: {
195
194
  height: 24,
196
195
  lineHeight: 1,
197
196
  minHeight: 24,
198
- paddingLeft: space( 2 ),
199
- paddingRight: space( 2 ),
197
+ paddingLeft: CONFIG.controlPaddingXSmall,
198
+ paddingRight: CONFIG.controlPaddingXSmall,
200
199
  },
201
200
  compact: {
202
201
  height: 32,
203
202
  lineHeight: 1,
204
203
  minHeight: 32,
205
- paddingLeft: space( 2 ),
206
- paddingRight: space( 2 ),
204
+ paddingLeft: CONFIG.controlPaddingXSmall,
205
+ paddingRight: CONFIG.controlPaddingXSmall,
207
206
  },
208
207
  '__unstable-large': {
209
208
  height: 40,
210
209
  lineHeight: 1,
211
210
  minHeight: 40,
212
- paddingLeft: space( 4 ),
213
- paddingRight: space( 4 ),
211
+ paddingLeft: CONFIG.controlPaddingX,
212
+ paddingRight: CONFIG.controlPaddingX,
214
213
  },
215
214
  };
216
215
 
@@ -319,3 +318,35 @@ export const Label = (
319
318
  export const LabelWrapper = styled( FlexItem )`
320
319
  max-width: calc( 100% - 10px );
321
320
  `;
321
+
322
+ const prefixSuffixWrapperStyles = ( {
323
+ variant = 'default',
324
+ size,
325
+ __next40pxDefaultSize,
326
+ isPrefix,
327
+ }: PrefixSuffixWrapperProps & { isPrefix?: boolean } ) => {
328
+ const { paddingLeft: padding } = getSizeConfig( {
329
+ inputSize: size,
330
+ __next40pxDefaultSize,
331
+ } );
332
+
333
+ const paddingProperty = isPrefix
334
+ ? 'paddingInlineStart'
335
+ : 'paddingInlineEnd';
336
+
337
+ if ( variant === 'default' ) {
338
+ return css( {
339
+ [ paddingProperty ]: padding,
340
+ } );
341
+ }
342
+
343
+ // If variant is 'icon' or 'control'
344
+ return css( {
345
+ display: 'flex',
346
+ [ paddingProperty ]: padding - 4,
347
+ } );
348
+ };
349
+
350
+ export const PrefixSuffixWrapper = styled.div`
351
+ ${ prefixSuffixWrapperStyles }
352
+ `;
@@ -31,6 +31,7 @@ interface BaseProps {
31
31
  *
32
32
  * @default false
33
33
  * @deprecated
34
+ * @ignore
34
35
  */
35
36
  __next36pxDefaultSize?: boolean;
36
37
  /**
@@ -208,16 +209,31 @@ export interface InputControlLabelProps {
208
209
  size?: BaseProps[ 'size' ];
209
210
  }
210
211
 
211
- export type InputControlPrefixWrapperProps = {
212
+ export type PrefixSuffixWrapperProps = {
212
213
  /**
213
- * The prefix to be inserted.
214
+ * The content to be inserted.
214
215
  */
215
216
  children: ReactNode;
216
- };
217
-
218
- export type InputControlSuffixWrapperProps = {
219
217
  /**
220
- * The suffix to be inserted.
218
+ * Internal prop used to control the padding size of the wrapper.
219
+ *
220
+ * @ignore
221
221
  */
222
- children: ReactNode;
222
+ size?: BaseProps[ 'size' ];
223
+ /**
224
+ * Internal prop used to control the padding size of the wrapper.
225
+ *
226
+ * @ignore
227
+ */
228
+ __next40pxDefaultSize?: BaseProps[ '__next40pxDefaultSize' ];
229
+ /**
230
+ * Adjust the wrapper based on the prefix or suffix content.
231
+ *
232
+ * - `'default'`: Standard padding for text content.
233
+ * - `'icon'`: For icons.
234
+ * - `'control'`: For controls, like buttons or selects.
235
+ *
236
+ * @default 'default'
237
+ */
238
+ variant?: 'default' | 'icon' | 'control';
223
239
  };
@@ -73,7 +73,7 @@ export function useDraft( props: {
73
73
  onBlur?: FocusEventHandler;
74
74
  onChange: InputChangeCallback;
75
75
  } ) {
76
- const refPreviousValue = useRef( props.value );
76
+ const previousValueRef = useRef( props.value );
77
77
  const [ draft, setDraft ] = useState< {
78
78
  value?: string;
79
79
  isStale?: boolean;
@@ -84,8 +84,8 @@ export function useDraft( props: {
84
84
  // To do so, it tracks the previous value and marks the draft value as stale
85
85
  // after each render.
86
86
  useLayoutEffect( () => {
87
- const { current: previousValue } = refPreviousValue;
88
- refPreviousValue.current = props.value;
87
+ const { current: previousValue } = previousValueRef;
88
+ previousValueRef.current = props.value;
89
89
  if ( draft.value !== undefined && ! draft.isStale ) {
90
90
  setDraft( { ...draft, isStale: true } );
91
91
  } else if ( draft.isStale && props.value !== previousValue ) {
@@ -105,12 +105,12 @@ const paddingYLarge = `calc((${ CONFIG.controlHeightLarge } - ${ baseFontHeight
105
105
 
106
106
  export const itemSizes = {
107
107
  small: css`
108
- padding: ${ paddingYSmall } ${ CONFIG.controlPaddingXSmall };
108
+ padding: ${ paddingYSmall } ${ CONFIG.controlPaddingXSmall }px;
109
109
  `,
110
110
  medium: css`
111
- padding: ${ paddingY } ${ CONFIG.controlPaddingX };
111
+ padding: ${ paddingY } ${ CONFIG.controlPaddingX }px;
112
112
  `,
113
113
  large: css`
114
- padding: ${ paddingYLarge } ${ CONFIG.controlPaddingXLarge };
114
+ padding: ${ paddingYLarge } ${ CONFIG.controlPaddingXLarge }px;
115
115
  `,
116
116
  };
@@ -12,7 +12,7 @@ Snapshot Diff:
12
12
  >
13
13
  <div
14
14
  - class="components-item css-au4yox-PolymorphicDiv-medium-item-spacedAround e19lxcc00"
15
- + class="components-item css-1h3jinl-PolymorphicDiv-large-item-spacedAround e19lxcc00"
15
+ + class="components-item css-1ycukrf-PolymorphicDiv-large-item-spacedAround e19lxcc00"
16
16
  data-wp-c16t="true"
17
17
  data-wp-component="Item"
18
18
  >
@@ -25,7 +25,7 @@ Snapshot Diff:
25
25
  >
26
26
  <div
27
27
  - class="components-item css-au4yox-PolymorphicDiv-medium-item-spacedAround e19lxcc00"
28
- + class="components-item css-1h3jinl-PolymorphicDiv-large-item-spacedAround e19lxcc00"
28
+ + class="components-item css-1ycukrf-PolymorphicDiv-large-item-spacedAround e19lxcc00"
29
29
  data-wp-c16t="true"
30
30
  data-wp-component="Item"
31
31
  >
@@ -45,7 +45,7 @@ Snapshot Diff:
45
45
  >
46
46
  <div
47
47
  - class="components-item css-tpom78-PolymorphicDiv-medium-item e19lxcc00"
48
- + class="components-item css-vss65r-PolymorphicDiv-large-item e19lxcc00"
48
+ + class="components-item css-sbyvbg-PolymorphicDiv-large-item e19lxcc00"
49
49
  data-wp-c16t="true"
50
50
  data-wp-component="Item"
51
51
  >
@@ -37,6 +37,7 @@ import Button from '../button';
37
37
  import StyleProvider from '../style-provider';
38
38
  import type { ModalProps } from './types';
39
39
  import { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';
40
+ import { Spacer } from '../spacer';
40
41
 
41
42
  // Used to track and dismiss the prior modal when another opens unless nested.
42
43
  type Dismissers = Set<
@@ -134,9 +135,9 @@ function UnforwardedModal(
134
135
  }, [] );
135
136
 
136
137
  // Keeps a fresh ref for the subsequent effect.
137
- const refOnRequestClose = useRef< ModalProps[ 'onRequestClose' ] >();
138
+ const onRequestCloseRef = useRef< ModalProps[ 'onRequestClose' ] >();
138
139
  useEffect( () => {
139
- refOnRequestClose.current = onRequestClose;
140
+ onRequestCloseRef.current = onRequestClose;
140
141
  }, [ onRequestClose ] );
141
142
 
142
143
  // The list of `onRequestClose` callbacks of open (non-nested) Modals. Only
@@ -149,10 +150,10 @@ function UnforwardedModal(
149
150
  // onRequestClose for any prior and/or nested modals as applicable.
150
151
  useEffect( () => {
151
152
  // add this modal instance to the dismissers set
152
- dismissers.add( refOnRequestClose );
153
+ dismissers.add( onRequestCloseRef );
153
154
  // request that all the other modals close themselves
154
155
  for ( const dismisser of dismissers ) {
155
- if ( dismisser !== refOnRequestClose ) {
156
+ if ( dismisser !== onRequestCloseRef ) {
156
157
  dismisser.current?.();
157
158
  }
158
159
  }
@@ -162,7 +163,7 @@ function UnforwardedModal(
162
163
  dismisser.current?.();
163
164
  }
164
165
  // remove this modal instance from the dismissers set
165
- dismissers.delete( refOnRequestClose );
166
+ dismissers.delete( onRequestCloseRef );
166
167
  };
167
168
  }, [ dismissers, nestedDismissers ] );
168
169
 
@@ -323,13 +324,21 @@ function UnforwardedModal(
323
324
  </div>
324
325
  { headerActions }
325
326
  { isDismissible && (
326
- <Button
327
- onClick={ onRequestClose }
328
- icon={ close }
329
- label={
330
- closeButtonLabel || __( 'Close' )
331
- }
332
- />
327
+ <>
328
+ <Spacer
329
+ marginBottom={ 0 }
330
+ marginLeft={ 3 }
331
+ />
332
+ <Button
333
+ size="small"
334
+ onClick={ onRequestClose }
335
+ icon={ close }
336
+ label={
337
+ closeButtonLabel ||
338
+ __( 'Close' )
339
+ }
340
+ />
341
+ </>
333
342
  ) }
334
343
  </div>
335
344
  ) }
@@ -7,7 +7,7 @@ import type { StoryFn, Meta } from '@storybook/react';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { useState } from '@wordpress/element';
10
- import { starEmpty, starFilled } from '@wordpress/icons';
10
+ import { fullscreen } from '@wordpress/icons';
11
11
 
12
12
  /**
13
13
  * Internal dependencies
@@ -103,22 +103,16 @@ WithsizeSmall.args = {
103
103
  };
104
104
  WithsizeSmall.storyName = 'With size: small';
105
105
 
106
- const LikeButton = () => {
107
- const [ isLiked, setIsLiked ] = useState( false );
108
- return (
109
- <Button
110
- icon={ isLiked ? starFilled : starEmpty }
111
- label="Like"
112
- onClick={ () => setIsLiked( ! isLiked ) }
113
- />
114
- );
115
- };
116
-
106
+ /**
107
+ * The `headerActions` prop can be used to add auxiliary actions to the header, for example a fullscreen mode toggle.
108
+ */
117
109
  export const WithHeaderActions: StoryFn< typeof Modal > = Template.bind( {} );
118
110
  WithHeaderActions.args = {
119
111
  ...Default.args,
120
- headerActions: <LikeButton />,
121
- isDismissible: false,
112
+ headerActions: (
113
+ <Button icon={ fullscreen } label="Fullscreen mode" size="small" />
114
+ ),
115
+ children: <div style={ { height: '200px' } } />,
122
116
  };
123
117
  WithHeaderActions.parameters = {
124
118
  ...Default.parameters,
@@ -8,7 +8,6 @@
8
8
  background-color: rgba($black, 0.35);
9
9
  z-index: z-index(".components-modal__screen-overlay");
10
10
  display: flex;
11
- // backdrop-filter: blur($grid-unit);
12
11
  // This animates the appearance of the white background.
13
12
  @include edit-post__fade-in-animation();
14
13
  }
@@ -26,7 +25,7 @@
26
25
  // Have the content element fill the vertical space yet not overflow.
27
26
  display: flex;
28
27
  // Animate the modal frame/contents appearing on the page.
29
- animation: components-modal__appear-animation 0.1s ease-out;
28
+ animation: components-modal__appear-animation 0.26s cubic-bezier(0.29, 0, 0, 1);
30
29
  animation-fill-mode: forwards;
31
30
  @include reduce-motion("animation");
32
31
 
@@ -80,10 +79,12 @@
80
79
 
81
80
  @keyframes components-modal__appear-animation {
82
81
  from {
83
- transform: translateY($grid-unit-40);
82
+ opacity: 0;
83
+ transform: scale(0.9);
84
84
  }
85
85
  to {
86
- transform: translateY(0);
86
+ opacity: 1;
87
+ transform: scale(1);
87
88
  }
88
89
  }
89
90
 
@@ -115,11 +116,6 @@
115
116
  margin: 0;
116
117
  }
117
118
 
118
- .components-button {
119
- position: relative;
120
- left: $grid-unit-10;
121
- }
122
-
123
119
  .components-modal__content.has-scrolled-content:not(.hide-header) & {
124
120
  border-bottom-color: $gray-300;
125
121
  }
@@ -93,10 +93,10 @@ export function Navigation( {
93
93
  };
94
94
 
95
95
  // Used to prevent the sliding animation on mount
96
- const isMounted = useRef( false );
96
+ const isMountedRef = useRef( false );
97
97
  useEffect( () => {
98
- if ( ! isMounted.current ) {
99
- isMounted.current = true;
98
+ if ( ! isMountedRef.current ) {
99
+ isMountedRef.current = true;
100
100
  }
101
101
  }, [] );
102
102
 
@@ -130,7 +130,7 @@ export function Navigation( {
130
130
  animateClassName
131
131
  ? clsx( {
132
132
  [ animateClassName ]:
133
- isMounted.current && slideOrigin,
133
+ isMountedRef.current && slideOrigin,
134
134
  } )
135
135
  : undefined
136
136
  }
@@ -15,7 +15,7 @@ import { COLORS } from '../../utils/colors-values';
15
15
  import Button from '../../button';
16
16
  import { Text } from '../../text';
17
17
  import { Heading } from '../../heading';
18
- import { rtl } from '../../utils';
18
+ import { rtl, CONFIG } from '../../utils';
19
19
  import { space } from '../../utils/space';
20
20
 
21
21
  export const NavigationUI = styled.div`
@@ -111,7 +111,7 @@ export const GroupTitleUI = styled( Heading )`
111
111
  `;
112
112
 
113
113
  export const ItemBaseUI = styled.li`
114
- border-radius: 2px;
114
+ border-radius: ${ CONFIG.radiusSmall };
115
115
  color: inherit;
116
116
  margin-bottom: 0;
117
117
 
@@ -172,7 +172,7 @@ export const ItemBadgeUI = styled.span`
172
172
  margin-right: ${ () => ( isRTL() ? space( 2 ) : '0' ) };
173
173
  display: inline-flex;
174
174
  padding: ${ space( 1 ) } ${ space( 3 ) };
175
- border-radius: 2px;
175
+ border-radius: ${ CONFIG.radiusSmall };
176
176
 
177
177
  @keyframes fade-in {
178
178
  from {
@@ -1,6 +1,6 @@
1
- export { NavigatorProvider } from './navigator-provider';
2
- export { NavigatorScreen } from './navigator-screen';
3
- export { NavigatorButton } from './navigator-button';
4
- export { NavigatorBackButton } from './navigator-back-button';
5
- export { NavigatorToParentButton } from './navigator-to-parent-button';
6
- export { default as useNavigator } from './use-navigator';
1
+ export { NavigatorProvider } from './navigator-provider/component';
2
+ export { NavigatorScreen } from './navigator-screen/component';
3
+ export { NavigatorButton } from './navigator-button/component';
4
+ export { NavigatorBackButton } from './navigator-back-button/component';
5
+ export { NavigatorToParentButton } from './navigator-to-parent-button/component';
6
+ export { useNavigator } from './use-navigator';
@@ -9,7 +9,7 @@ import { useCallback } from '@wordpress/element';
9
9
  import type { WordPressComponentProps } from '../../context';
10
10
  import { useContextSystem } from '../../context';
11
11
  import Button from '../../button';
12
- import useNavigator from '../use-navigator';
12
+ import { useNavigator } from '../use-navigator';
13
13
  import type { NavigatorBackButtonProps } from '../types';
14
14
 
15
15
  export function useNavigatorBackButton(