@wordpress/components 28.6.0 → 28.8.1-next.1f6eadc42.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 (652) hide show
  1. package/CHANGELOG.md +109 -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/box-control/utils.js +1 -1
  17. package/build/box-control/utils.js.map +1 -1
  18. package/build/circular-option-picker/circular-option-picker-option.js +15 -9
  19. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  20. package/build/circular-option-picker/circular-option-picker.js +15 -12
  21. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  22. package/build/circular-option-picker/types.js.map +1 -1
  23. package/build/clipboard-button/index.js +6 -6
  24. package/build/clipboard-button/index.js.map +1 -1
  25. package/build/color-palette/utils.js +1 -2
  26. package/build/color-palette/utils.js.map +1 -1
  27. package/build/color-picker/color-copy-button.js +8 -8
  28. package/build/color-picker/color-copy-button.js.map +1 -1
  29. package/build/color-picker/hex-input.js +8 -8
  30. package/build/color-picker/hex-input.js.map +1 -1
  31. package/build/color-picker/input-with-slider.js +8 -8
  32. package/build/color-picker/input-with-slider.js.map +1 -1
  33. package/build/color-picker/styles.js +8 -8
  34. package/build/color-picker/styles.js.map +1 -1
  35. package/build/combobox-control/types.js.map +1 -1
  36. package/build/composite/context.js +1 -1
  37. package/build/composite/context.js.map +1 -1
  38. package/build/composite/group-label.js +33 -0
  39. package/build/composite/group-label.js.map +1 -0
  40. package/build/composite/group.js +33 -0
  41. package/build/composite/group.js.map +1 -0
  42. package/build/composite/hover.js +33 -0
  43. package/build/composite/hover.js.map +1 -0
  44. package/build/composite/index.js +63 -118
  45. package/build/composite/index.js.map +1 -1
  46. package/build/composite/item.js +33 -0
  47. package/build/composite/item.js.map +1 -0
  48. package/build/composite/legacy/index.js +59 -7
  49. package/build/composite/legacy/index.js.map +1 -1
  50. package/build/composite/row.js +33 -0
  51. package/build/composite/row.js.map +1 -0
  52. package/build/composite/typeahead.js +33 -0
  53. package/build/composite/typeahead.js.map +1 -0
  54. package/build/composite/types.js.map +1 -1
  55. package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  56. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  57. package/build/custom-select-control-v2/styles.js +12 -14
  58. package/build/custom-select-control-v2/styles.js.map +1 -1
  59. package/build/date-time/date/index.js +1 -1
  60. package/build/date-time/date/index.js.map +1 -1
  61. package/build/date-time/date/styles.js +37 -26
  62. package/build/date-time/date/styles.js.map +1 -1
  63. package/build/date-time/date/use-lilius/index.js +163 -0
  64. package/build/date-time/date/use-lilius/index.js.map +1 -0
  65. package/build/date-time/time/time-input/index.js +17 -19
  66. package/build/date-time/time/time-input/index.js.map +1 -1
  67. package/build/dimension-control/index.js +6 -1
  68. package/build/dimension-control/index.js.map +1 -1
  69. package/build/draggable/index.js +4 -4
  70. package/build/draggable/index.js.map +1 -1
  71. package/build/dropdown-menu-v2/checkbox-item.js +69 -0
  72. package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
  73. package/build/dropdown-menu-v2/context.js +17 -0
  74. package/build/dropdown-menu-v2/context.js.map +1 -0
  75. package/build/dropdown-menu-v2/group-label.js +40 -0
  76. package/build/dropdown-menu-v2/group-label.js.map +1 -0
  77. package/build/dropdown-menu-v2/group.js +29 -0
  78. package/build/dropdown-menu-v2/group.js.map +1 -0
  79. package/build/dropdown-menu-v2/index.js +58 -146
  80. package/build/dropdown-menu-v2/index.js.map +1 -1
  81. package/build/dropdown-menu-v2/item-help-text.js +27 -0
  82. package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
  83. package/build/dropdown-menu-v2/item-label.js +27 -0
  84. package/build/dropdown-menu-v2/item-label.js.map +1 -0
  85. package/build/dropdown-menu-v2/item.js +53 -0
  86. package/build/dropdown-menu-v2/item.js.map +1 -0
  87. package/build/dropdown-menu-v2/radio-item.js +79 -0
  88. package/build/dropdown-menu-v2/radio-item.js.map +1 -0
  89. package/build/dropdown-menu-v2/separator.js +30 -0
  90. package/build/dropdown-menu-v2/separator.js.map +1 -0
  91. package/build/dropdown-menu-v2/styles.js +54 -78
  92. package/build/dropdown-menu-v2/styles.js.map +1 -1
  93. package/build/dropdown-menu-v2/types.js.map +1 -1
  94. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
  95. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  96. package/build/focal-point-picker/styles/focal-point-style.js +7 -2
  97. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  98. package/build/form-token-field/types.js.map +1 -1
  99. package/build/index.js +13 -0
  100. package/build/index.js.map +1 -1
  101. package/build/input-control/index.js +2 -2
  102. package/build/input-control/index.js.map +1 -1
  103. package/build/input-control/input-base.js +5 -10
  104. package/build/input-control/input-base.js.map +1 -1
  105. package/build/input-control/input-prefix-wrapper.js +3 -3
  106. package/build/input-control/input-prefix-wrapper.js.map +1 -1
  107. package/build/input-control/input-suffix-wrapper.js +2 -3
  108. package/build/input-control/input-suffix-wrapper.js.map +1 -1
  109. package/build/input-control/reducer/reducer.js +8 -8
  110. package/build/input-control/reducer/reducer.js.map +1 -1
  111. package/build/input-control/styles/input-control-styles.js +75 -45
  112. package/build/input-control/styles/input-control-styles.js.map +1 -1
  113. package/build/input-control/types.js.map +1 -1
  114. package/build/input-control/utils.js +3 -3
  115. package/build/input-control/utils.js.map +1 -1
  116. package/build/item-group/styles.js +10 -10
  117. package/build/item-group/styles.js.map +1 -1
  118. package/build/modal/index.js +16 -9
  119. package/build/modal/index.js.map +1 -1
  120. package/build/navigation/index.js +4 -4
  121. package/build/navigation/index.js.map +1 -1
  122. package/build/navigation/styles/navigation-styles.js +13 -13
  123. package/build/navigation/styles/navigation-styles.js.map +1 -1
  124. package/build/navigator/index.js +12 -13
  125. package/build/navigator/index.js.map +1 -1
  126. package/build/navigator/navigator-back-button/hook.js +2 -2
  127. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  128. package/build/navigator/navigator-button/hook.js +2 -2
  129. package/build/navigator/navigator-button/hook.js.map +1 -1
  130. package/build/navigator/navigator-provider/component.js +99 -67
  131. package/build/navigator/navigator-provider/component.js.map +1 -1
  132. package/build/navigator/navigator-screen/component.js +5 -0
  133. package/build/navigator/navigator-screen/component.js.map +1 -1
  134. package/build/navigator/navigator-to-parent-button/component.js +2 -2
  135. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  136. package/build/navigator/types.js.map +1 -1
  137. package/build/navigator/use-navigator.js +1 -2
  138. package/build/navigator/use-navigator.js.map +1 -1
  139. package/build/palette-edit/index.js +2 -2
  140. package/build/palette-edit/index.js.map +1 -1
  141. package/build/private-apis.js +1 -14
  142. package/build/private-apis.js.map +1 -1
  143. package/build/range-control/styles/range-control-styles.js +30 -30
  144. package/build/range-control/styles/range-control-styles.js.map +1 -1
  145. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  146. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  147. package/build/select-control/styles/select-control-styles.js +12 -12
  148. package/build/select-control/styles/select-control-styles.js.map +1 -1
  149. package/build/slot-fill/bubbles-virtually/fill.js +4 -4
  150. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  151. package/build/slot-fill/index.js +1 -0
  152. package/build/slot-fill/index.js.map +1 -1
  153. package/build/snackbar/index.js +4 -4
  154. package/build/snackbar/index.js.map +1 -1
  155. package/build/tabs/index.js +4 -4
  156. package/build/tabs/index.js.map +1 -1
  157. package/build/tabs/styles.js +3 -3
  158. package/build/tabs/styles.js.map +1 -1
  159. package/build/tabs/tablist.js +5 -4
  160. package/build/tabs/tablist.js.map +1 -1
  161. package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
  162. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  163. package/build/tools-panel/tools-panel/hook.js +6 -6
  164. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  165. package/build/unit-control/styles/unit-control-styles.js +7 -7
  166. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  167. package/build/utils/config-values.js +6 -4
  168. package/build/utils/config-values.js.map +1 -1
  169. package/build/utils/element-rect.js +73 -105
  170. package/build/utils/element-rect.js.map +1 -1
  171. package/build/utils/hooks/use-update-effect.js +4 -4
  172. package/build/utils/hooks/use-update-effect.js.map +1 -1
  173. package/build-module/alignment-matrix-control/cell.js +2 -5
  174. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  175. package/build-module/alignment-matrix-control/icon.js +31 -19
  176. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  177. package/build-module/alignment-matrix-control/index.js +55 -50
  178. package/build-module/alignment-matrix-control/index.js.map +1 -1
  179. package/build-module/alignment-matrix-control/styles.js +70 -0
  180. package/build-module/alignment-matrix-control/styles.js.map +1 -0
  181. package/build-module/alignment-matrix-control/types.js.map +1 -1
  182. package/build-module/angle-picker-control/angle-circle.js +9 -9
  183. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  184. package/build-module/border-control/border-control/component.js +18 -13
  185. package/build-module/border-control/border-control/component.js.map +1 -1
  186. package/build-module/box-control/utils.js +1 -1
  187. package/build-module/box-control/utils.js.map +1 -1
  188. package/build-module/circular-option-picker/circular-option-picker-option.js +16 -10
  189. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  190. package/build-module/circular-option-picker/circular-option-picker.js +16 -13
  191. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  192. package/build-module/circular-option-picker/types.js.map +1 -1
  193. package/build-module/clipboard-button/index.js +6 -6
  194. package/build-module/clipboard-button/index.js.map +1 -1
  195. package/build-module/color-palette/utils.js +1 -2
  196. package/build-module/color-palette/utils.js.map +1 -1
  197. package/build-module/color-picker/color-copy-button.js +8 -8
  198. package/build-module/color-picker/color-copy-button.js.map +1 -1
  199. package/build-module/color-picker/hex-input.js +7 -8
  200. package/build-module/color-picker/hex-input.js.map +1 -1
  201. package/build-module/color-picker/input-with-slider.js +7 -8
  202. package/build-module/color-picker/input-with-slider.js.map +1 -1
  203. package/build-module/color-picker/styles.js +8 -8
  204. package/build-module/color-picker/styles.js.map +1 -1
  205. package/build-module/combobox-control/types.js.map +1 -1
  206. package/build-module/composite/context.js +1 -1
  207. package/build-module/composite/context.js.map +1 -1
  208. package/build-module/composite/group-label.js +25 -0
  209. package/build-module/composite/group-label.js.map +1 -0
  210. package/build-module/composite/group.js +25 -0
  211. package/build-module/composite/group.js.map +1 -0
  212. package/build-module/composite/hover.js +25 -0
  213. package/build-module/composite/hover.js.map +1 -0
  214. package/build-module/composite/index.js +64 -118
  215. package/build-module/composite/index.js.map +1 -1
  216. package/build-module/composite/item.js +25 -0
  217. package/build-module/composite/item.js.map +1 -0
  218. package/build-module/composite/legacy/index.js +57 -8
  219. package/build-module/composite/legacy/index.js.map +1 -1
  220. package/build-module/composite/row.js +25 -0
  221. package/build-module/composite/row.js.map +1 -0
  222. package/build-module/composite/typeahead.js +25 -0
  223. package/build-module/composite/typeahead.js.map +1 -0
  224. package/build-module/composite/types.js.map +1 -1
  225. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  226. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  227. package/build-module/custom-select-control-v2/styles.js +12 -14
  228. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  229. package/build-module/date-time/date/index.js +1 -2
  230. package/build-module/date-time/date/index.js.map +1 -1
  231. package/build-module/date-time/date/styles.js +33 -26
  232. package/build-module/date-time/date/styles.js.map +1 -1
  233. package/build-module/date-time/date/use-lilius/index.js +158 -0
  234. package/build-module/date-time/date/use-lilius/index.js.map +1 -0
  235. package/build-module/date-time/time/time-input/index.js +17 -19
  236. package/build-module/date-time/time/time-input/index.js.map +1 -1
  237. package/build-module/dimension-control/index.js +6 -1
  238. package/build-module/dimension-control/index.js.map +1 -1
  239. package/build-module/draggable/index.js +4 -4
  240. package/build-module/draggable/index.js.map +1 -1
  241. package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
  242. package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
  243. package/build-module/dropdown-menu-v2/context.js +11 -0
  244. package/build-module/dropdown-menu-v2/context.js.map +1 -0
  245. package/build-module/dropdown-menu-v2/group-label.js +32 -0
  246. package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
  247. package/build-module/dropdown-menu-v2/group.js +21 -0
  248. package/build-module/dropdown-menu-v2/group.js.map +1 -0
  249. package/build-module/dropdown-menu-v2/index.js +57 -144
  250. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  251. package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
  252. package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
  253. package/build-module/dropdown-menu-v2/item-label.js +19 -0
  254. package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
  255. package/build-module/dropdown-menu-v2/item.js +46 -0
  256. package/build-module/dropdown-menu-v2/item.js.map +1 -0
  257. package/build-module/dropdown-menu-v2/radio-item.js +72 -0
  258. package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
  259. package/build-module/dropdown-menu-v2/separator.js +22 -0
  260. package/build-module/dropdown-menu-v2/separator.js.map +1 -0
  261. package/build-module/dropdown-menu-v2/styles.js +54 -78
  262. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  263. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  264. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
  265. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  266. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
  267. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  268. package/build-module/form-token-field/types.js.map +1 -1
  269. package/build-module/index.js +3 -1
  270. package/build-module/index.js.map +1 -1
  271. package/build-module/input-control/index.js +2 -2
  272. package/build-module/input-control/index.js.map +1 -1
  273. package/build-module/input-control/input-base.js +6 -11
  274. package/build-module/input-control/input-base.js.map +1 -1
  275. package/build-module/input-control/input-prefix-wrapper.js +4 -3
  276. package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
  277. package/build-module/input-control/input-suffix-wrapper.js +3 -3
  278. package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
  279. package/build-module/input-control/reducer/reducer.js +8 -8
  280. package/build-module/input-control/reducer/reducer.js.map +1 -1
  281. package/build-module/input-control/styles/input-control-styles.js +74 -44
  282. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  283. package/build-module/input-control/types.js.map +1 -1
  284. package/build-module/input-control/utils.js +3 -3
  285. package/build-module/input-control/utils.js.map +1 -1
  286. package/build-module/item-group/styles.js +10 -10
  287. package/build-module/item-group/styles.js.map +1 -1
  288. package/build-module/modal/index.js +17 -9
  289. package/build-module/modal/index.js.map +1 -1
  290. package/build-module/navigation/index.js +4 -4
  291. package/build-module/navigation/index.js.map +1 -1
  292. package/build-module/navigation/styles/navigation-styles.js +14 -14
  293. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  294. package/build-module/navigator/index.js +6 -6
  295. package/build-module/navigator/index.js.map +1 -1
  296. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  297. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  298. package/build-module/navigator/navigator-button/hook.js +1 -1
  299. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  300. package/build-module/navigator/navigator-provider/component.js +99 -67
  301. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  302. package/build-module/navigator/navigator-screen/component.js +4 -0
  303. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  304. package/build-module/navigator/navigator-to-parent-button/component.js +1 -1
  305. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  306. package/build-module/navigator/types.js.map +1 -1
  307. package/build-module/navigator/use-navigator.js +1 -2
  308. package/build-module/navigator/use-navigator.js.map +1 -1
  309. package/build-module/palette-edit/index.js +2 -2
  310. package/build-module/palette-edit/index.js.map +1 -1
  311. package/build-module/private-apis.js +1 -14
  312. package/build-module/private-apis.js.map +1 -1
  313. package/build-module/range-control/styles/range-control-styles.js +31 -31
  314. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  315. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  316. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  317. package/build-module/select-control/styles/select-control-styles.js +13 -13
  318. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  319. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
  320. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  321. package/build-module/slot-fill/index.js +1 -0
  322. package/build-module/slot-fill/index.js.map +1 -1
  323. package/build-module/snackbar/index.js +4 -4
  324. package/build-module/snackbar/index.js.map +1 -1
  325. package/build-module/tabs/index.js +4 -4
  326. package/build-module/tabs/index.js.map +1 -1
  327. package/build-module/tabs/styles.js +4 -4
  328. package/build-module/tabs/styles.js.map +1 -1
  329. package/build-module/tabs/tablist.js +5 -4
  330. package/build-module/tabs/tablist.js.map +1 -1
  331. package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
  332. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  333. package/build-module/tools-panel/tools-panel/hook.js +6 -6
  334. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  335. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  336. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  337. package/build-module/utils/config-values.js +6 -4
  338. package/build-module/utils/config-values.js.map +1 -1
  339. package/build-module/utils/element-rect.js +74 -105
  340. package/build-module/utils/element-rect.js.map +1 -1
  341. package/build-module/utils/hooks/use-update-effect.js +4 -4
  342. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  343. package/build-style/style-rtl.css +12 -27
  344. package/build-style/style.css +12 -27
  345. package/build-types/alignment-matrix-control/cell.d.ts +1 -1
  346. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
  347. package/build-types/alignment-matrix-control/icon.d.ts +1 -1
  348. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
  349. package/build-types/alignment-matrix-control/index.d.ts +16 -6
  350. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  351. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  352. package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
  353. package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
  354. package/build-types/alignment-matrix-control/types.d.ts +12 -1
  355. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  356. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  357. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  358. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  359. package/build-types/box-control/utils.d.ts +1 -1
  360. package/build-types/box-control/utils.d.ts.map +1 -1
  361. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  362. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  363. package/build-types/circular-option-picker/types.d.ts +2 -2
  364. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  365. package/build-types/color-palette/utils.d.ts.map +1 -1
  366. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  367. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  368. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  369. package/build-types/color-picker/styles.d.ts.map +1 -1
  370. package/build-types/combobox-control/types.d.ts +1 -0
  371. package/build-types/combobox-control/types.d.ts.map +1 -1
  372. package/build-types/composite/context.d.ts.map +1 -1
  373. package/build-types/composite/group-label.d.ts +3 -0
  374. package/build-types/composite/group-label.d.ts.map +1 -0
  375. package/build-types/composite/group.d.ts +3 -0
  376. package/build-types/composite/group.d.ts.map +1 -0
  377. package/build-types/composite/hover.d.ts +3 -0
  378. package/build-types/composite/hover.d.ts.map +1 -0
  379. package/build-types/composite/index.d.ts +63 -47
  380. package/build-types/composite/index.d.ts.map +1 -1
  381. package/build-types/composite/item.d.ts +3 -0
  382. package/build-types/composite/item.d.ts.map +1 -0
  383. package/build-types/composite/legacy/index.d.ts +23 -3
  384. package/build-types/composite/legacy/index.d.ts.map +1 -1
  385. package/build-types/composite/legacy/stories/index.story.d.ts.map +1 -1
  386. package/build-types/composite/row.d.ts +3 -0
  387. package/build-types/composite/row.d.ts.map +1 -0
  388. package/build-types/composite/stories/index.story.d.ts +9 -8
  389. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  390. package/build-types/composite/typeahead.d.ts +3 -0
  391. package/build-types/composite/typeahead.d.ts.map +1 -0
  392. package/build-types/composite/types.d.ts +12 -11
  393. package/build-types/composite/types.d.ts.map +1 -1
  394. package/build-types/date-time/date/index.d.ts +0 -3
  395. package/build-types/date-time/date/index.d.ts.map +1 -1
  396. package/build-types/date-time/date/styles.d.ts.map +1 -1
  397. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  398. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  399. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  400. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  401. package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
  402. package/build-types/dimension-control/index.d.ts +1 -1
  403. package/build-types/dimension-control/index.d.ts.map +1 -1
  404. package/build-types/dimension-control/stories/index.story.d.ts +5 -0
  405. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  406. package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
  407. package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
  408. package/build-types/dropdown-menu-v2/context.d.ts +6 -0
  409. package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
  410. package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
  411. package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
  412. package/build-types/dropdown-menu-v2/group.d.ts +3 -0
  413. package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
  414. package/build-types/dropdown-menu-v2/index.d.ts +39 -18
  415. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  416. package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
  417. package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
  418. package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
  419. package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
  420. package/build-types/dropdown-menu-v2/item.d.ts +3 -0
  421. package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
  422. package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
  423. package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
  424. package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
  425. package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
  426. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
  427. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  428. package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
  429. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  430. package/build-types/dropdown-menu-v2/types.d.ts +6 -0
  431. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  432. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
  433. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
  434. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  435. package/build-types/form-token-field/types.d.ts +1 -0
  436. package/build-types/form-token-field/types.d.ts.map +1 -1
  437. package/build-types/index.d.ts +4 -1
  438. package/build-types/index.d.ts.map +1 -1
  439. package/build-types/input-control/input-base.d.ts.map +1 -1
  440. package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
  441. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  442. package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
  443. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  444. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  445. package/build-types/input-control/stories/index.story.d.ts +9 -0
  446. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  447. package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
  448. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  449. package/build-types/input-control/types.d.ts +23 -6
  450. package/build-types/input-control/types.d.ts.map +1 -1
  451. package/build-types/modal/index.d.ts.map +1 -1
  452. package/build-types/modal/stories/index.story.d.ts +3 -0
  453. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  454. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  455. package/build-types/navigator/index.d.ts +6 -6
  456. package/build-types/navigator/index.d.ts.map +1 -1
  457. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  458. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  459. package/build-types/navigator/stories/index.story.d.ts +1 -1
  460. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  461. package/build-types/navigator/types.d.ts +3 -1
  462. package/build-types/navigator/types.d.ts.map +1 -1
  463. package/build-types/navigator/use-navigator.d.ts +1 -2
  464. package/build-types/navigator/use-navigator.d.ts.map +1 -1
  465. package/build-types/private-apis.d.ts.map +1 -1
  466. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  467. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  468. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  469. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  470. package/build-types/slot-fill/index.d.ts +3 -0
  471. package/build-types/slot-fill/index.d.ts.map +1 -1
  472. package/build-types/tabs/index.d.ts.map +1 -1
  473. package/build-types/tabs/styles.d.ts.map +1 -1
  474. package/build-types/tabs/tablist.d.ts.map +1 -1
  475. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  476. package/build-types/utils/config-values.d.ts +3 -3
  477. package/build-types/utils/element-rect.d.ts +32 -74
  478. package/build-types/utils/element-rect.d.ts.map +1 -1
  479. package/package.json +19 -20
  480. package/src/alignment-matrix-control/README.md +1 -5
  481. package/src/alignment-matrix-control/cell.tsx +3 -9
  482. package/src/alignment-matrix-control/icon.tsx +48 -30
  483. package/src/alignment-matrix-control/index.tsx +60 -50
  484. package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
  485. package/src/alignment-matrix-control/styles.ts +113 -0
  486. package/src/alignment-matrix-control/types.ts +12 -1
  487. package/src/angle-picker-control/angle-circle.tsx +11 -9
  488. package/src/border-control/border-control/component.tsx +23 -16
  489. package/src/box-control/utils.ts +1 -1
  490. package/src/circular-option-picker/circular-option-picker-option.tsx +16 -19
  491. package/src/circular-option-picker/circular-option-picker.tsx +26 -12
  492. package/src/circular-option-picker/types.ts +2 -2
  493. package/src/clipboard-button/index.tsx +6 -6
  494. package/src/color-palette/test/utils.ts +21 -2
  495. package/src/color-palette/utils.ts +1 -3
  496. package/src/color-picker/color-copy-button.tsx +10 -8
  497. package/src/color-picker/hex-input.tsx +6 -10
  498. package/src/color-picker/input-with-slider.tsx +6 -10
  499. package/src/color-picker/styles.ts +1 -1
  500. package/src/combobox-control/types.ts +1 -0
  501. package/src/composite/README.md +5 -24
  502. package/src/composite/{context.ts → context.tsx} +1 -2
  503. package/src/composite/group-label.tsx +30 -0
  504. package/src/composite/group.tsx +30 -0
  505. package/src/composite/hover.tsx +30 -0
  506. package/src/composite/index.tsx +71 -166
  507. package/src/composite/item.tsx +30 -0
  508. package/src/composite/legacy/index.tsx +73 -11
  509. package/src/composite/legacy/stories/index.story.tsx +2 -1
  510. package/src/composite/legacy/test/index.tsx +57 -1
  511. package/src/composite/row.tsx +30 -0
  512. package/src/composite/stories/index.story.tsx +254 -365
  513. package/src/composite/typeahead.tsx +30 -0
  514. package/src/composite/types.ts +14 -16
  515. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
  516. package/src/custom-gradient-picker/style.scss +2 -21
  517. package/src/custom-select-control-v2/styles.ts +4 -4
  518. package/src/date-time/date/index.tsx +1 -1
  519. package/src/date-time/date/styles.ts +33 -13
  520. package/src/date-time/date/test/use-lilius.ts +417 -0
  521. package/src/date-time/date/use-lilius/index.ts +394 -0
  522. package/src/date-time/time/test/index.tsx +3 -6
  523. package/src/date-time/time/time-input/index.tsx +25 -25
  524. package/src/date-time/time/time-input/test/index.tsx +6 -7
  525. package/src/dimension-control/README.md +4 -0
  526. package/src/dimension-control/index.tsx +7 -1
  527. package/src/dimension-control/stories/index.story.tsx +7 -2
  528. package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -16
  529. package/src/dimension-control/test/index.test.js +1 -0
  530. package/src/draggable/index.tsx +4 -4
  531. package/src/dropdown-menu-v2/README.md +73 -60
  532. package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
  533. package/src/dropdown-menu-v2/context.tsx +13 -0
  534. package/src/dropdown-menu-v2/group-label.tsx +37 -0
  535. package/src/dropdown-menu-v2/group.tsx +26 -0
  536. package/src/dropdown-menu-v2/index.tsx +57 -197
  537. package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
  538. package/src/dropdown-menu-v2/item-label.tsx +23 -0
  539. package/src/dropdown-menu-v2/item.tsx +50 -0
  540. package/src/dropdown-menu-v2/radio-item.tsx +70 -0
  541. package/src/dropdown-menu-v2/separator.tsx +27 -0
  542. package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
  543. package/src/dropdown-menu-v2/styles.ts +102 -66
  544. package/src/dropdown-menu-v2/test/index.tsx +159 -132
  545. package/src/dropdown-menu-v2/types.ts +7 -0
  546. package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
  547. package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
  548. package/src/form-toggle/style.scss +1 -1
  549. package/src/form-token-field/style.scss +2 -3
  550. package/src/form-token-field/types.ts +1 -0
  551. package/src/index.ts +6 -1
  552. package/src/input-control/index.tsx +2 -2
  553. package/src/input-control/input-base.tsx +4 -14
  554. package/src/input-control/input-prefix-wrapper.tsx +8 -4
  555. package/src/input-control/input-suffix-wrapper.tsx +4 -6
  556. package/src/input-control/reducer/reducer.ts +13 -10
  557. package/src/input-control/stories/index.story.tsx +31 -12
  558. package/src/input-control/styles/input-control-styles.tsx +42 -11
  559. package/src/input-control/types.ts +23 -7
  560. package/src/input-control/utils.ts +3 -3
  561. package/src/item-group/styles.ts +3 -3
  562. package/src/item-group/test/__snapshots__/index.js.snap +3 -3
  563. package/src/modal/index.tsx +21 -12
  564. package/src/modal/stories/index.story.tsx +8 -14
  565. package/src/modal/style.scss +5 -9
  566. package/src/navigation/index.tsx +4 -4
  567. package/src/navigation/styles/navigation-styles.tsx +3 -3
  568. package/src/navigator/index.ts +6 -6
  569. package/src/navigator/navigator-back-button/hook.ts +1 -1
  570. package/src/navigator/navigator-button/hook.ts +1 -1
  571. package/src/navigator/navigator-provider/README.md +2 -3
  572. package/src/navigator/navigator-provider/component.tsx +97 -82
  573. package/src/navigator/navigator-screen/component.tsx +7 -0
  574. package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
  575. package/src/navigator/stories/index.story.tsx +82 -253
  576. package/src/navigator/test/index.tsx +8 -0
  577. package/src/navigator/types.ts +3 -1
  578. package/src/navigator/use-navigator.ts +1 -3
  579. package/src/palette-edit/index.tsx +2 -2
  580. package/src/popover/style.scss +2 -1
  581. package/src/private-apis.ts +1 -23
  582. package/src/range-control/styles/range-control-styles.ts +7 -7
  583. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
  584. package/src/resizable-box/style.scss +2 -2
  585. package/src/select-control/README.md +2 -2
  586. package/src/select-control/styles/select-control-styles.ts +5 -5
  587. package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
  588. package/src/slot-fill/index.tsx +1 -0
  589. package/src/snackbar/index.tsx +4 -4
  590. package/src/tab-panel/style.scss +0 -1
  591. package/src/tabs/index.tsx +8 -4
  592. package/src/tabs/styles.ts +42 -14
  593. package/src/tabs/tablist.tsx +5 -4
  594. package/src/text-control/style.scss +3 -2
  595. package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
  596. package/src/tools-panel/tools-panel/hook.ts +6 -6
  597. package/src/unit-control/styles/unit-control-styles.ts +2 -1
  598. package/src/utils/config-values.js +6 -4
  599. package/src/utils/element-rect.ts +93 -130
  600. package/src/utils/hooks/use-update-effect.js +4 -4
  601. package/tsconfig.tsbuildinfo +1 -1
  602. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
  603. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  604. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -77
  605. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  606. package/build/navigator/navigator-back-button/index.js +0 -14
  607. package/build/navigator/navigator-back-button/index.js.map +0 -1
  608. package/build/navigator/navigator-button/index.js +0 -14
  609. package/build/navigator/navigator-button/index.js.map +0 -1
  610. package/build/navigator/navigator-provider/index.js +0 -14
  611. package/build/navigator/navigator-provider/index.js.map +0 -1
  612. package/build/navigator/navigator-screen/index.js +0 -14
  613. package/build/navigator/navigator-screen/index.js.map +0 -1
  614. package/build/navigator/navigator-to-parent-button/index.js +0 -14
  615. package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
  616. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
  617. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  618. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -72
  619. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  620. package/build-module/navigator/navigator-back-button/index.js +0 -2
  621. package/build-module/navigator/navigator-back-button/index.js.map +0 -1
  622. package/build-module/navigator/navigator-button/index.js +0 -2
  623. package/build-module/navigator/navigator-button/index.js.map +0 -1
  624. package/build-module/navigator/navigator-provider/index.js +0 -2
  625. package/build-module/navigator/navigator-provider/index.js.map +0 -1
  626. package/build-module/navigator/navigator-screen/index.js +0 -2
  627. package/build-module/navigator/navigator-screen/index.js.map +0 -1
  628. package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
  629. package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
  630. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
  631. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
  632. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
  633. package/build-types/composite/stories/utils.d.ts +0 -29
  634. package/build-types/composite/stories/utils.d.ts.map +0 -1
  635. package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
  636. package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
  637. package/build-types/navigator/navigator-button/index.d.ts +0 -2
  638. package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
  639. package/build-types/navigator/navigator-provider/index.d.ts +0 -2
  640. package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
  641. package/build-types/navigator/navigator-screen/index.d.ts +0 -2
  642. package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
  643. package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
  644. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
  645. package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
  646. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
  647. package/src/composite/stories/utils.tsx +0 -76
  648. package/src/navigator/navigator-back-button/index.ts +0 -1
  649. package/src/navigator/navigator-button/index.ts +0 -1
  650. package/src/navigator/navigator-provider/index.ts +0 -1
  651. package/src/navigator/navigator-screen/index.ts +0 -1
  652. package/src/navigator/navigator-to-parent-button/index.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,115 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 28.8.0-next.0 (2024-09-13)
6
+
7
+ ### Bug Fixes
8
+
9
+ - `Tabs`: indicator positioning under RTL direction ([#64926](https://github.com/WordPress/gutenberg/pull/64926)).
10
+ - `Popover`: Update `toolbar` variant radius to match block toolbar ([#65263](https://github.com/WordPress/gutenberg/pull/65263)).
11
+
12
+ ### Deprecations
13
+
14
+ - Deprecate `__unstableComposite`, `__unstableCompositeGroup`, `__unstableCompositeItem` and `__unstableUseCompositeState`. Consumers of the package should use the stable `Composite` component instead ([#63572](https://github.com/WordPress/gutenberg/pull/63572)).
15
+
16
+ ### New Features
17
+
18
+ - `Composite`: add stable version of the component ([#63569](https://github.com/WordPress/gutenberg/pull/63569)).
19
+
20
+ ### Enhancements
21
+
22
+ - `Navigator`: warn if a screen's `path` doesn't follow a URL-like scheme ([#65231](https://github.com/WordPress/gutenberg/pull/65231)).
23
+ - `Modal`: Decrease close button size and remove horizontal offset ([#65131](https://github.com/WordPress/gutenberg/pull/65131)).
24
+
25
+ ### Bug Fixes
26
+
27
+ - `DatePicker`: better hover/focus styles ([#65117](https://github.com/WordPress/gutenberg/pull/65117)).
28
+
29
+ ### Internal
30
+
31
+ - `Tabs`: improved performance of the indicator animation ([#64926](https://github.com/WordPress/gutenberg/pull/64926)).
32
+ - `Composite`: Remove from private APIs ([#63569](https://github.com/WordPress/gutenberg/pull/63569)).
33
+ - use local copy of `use-lilius` instead of `npm` dependency ([#65097](https://github.com/WordPress/gutenberg/pull/65097)).
34
+ - `BoxControl`: Fix critical error when null value is passed ([#65287](https://github.com/WordPress/gutenberg/pull/65287)).
35
+
36
+ ## 28.7.0 (2024-09-05)
37
+
38
+ ### Deprecations
39
+
40
+ - Deprecate `replace` from the options accepted by `useNavigator().goTo()` ([#64675](https://github.com/WordPress/gutenberg/pull/64675)).
41
+ - Soft deprecate `size` prop on `AlignmentMatrixControl.Icon` ([#64827](https://github.com/WordPress/gutenberg/pull/64827)).
42
+ - `__experimentalAlignmentMatrixControl` can now be imported as a stable `AlignmentMatrixControl` ([#60913](https://github.com/WordPress/gutenberg/pull/60913)).
43
+ - Deprecate `DimensionControl`, scheduled to be removed in WordPress 7.0 ([#64951](https://github.com/WordPress/gutenberg/pull/64951)).
44
+
45
+ ### Enhancements
46
+
47
+ - `ColorPicker`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
48
+ - `CustomSelectControl V2`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
49
+ - `AlignmentMatrixControl.Icon`: rewrite entirely using SVG markup ([#64827](https://github.com/WordPress/gutenberg/pull/64827)).
50
+ - `DateTime`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
51
+ - `FormToggle`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
52
+ - `FormTokenField`: Remove unused border-radius ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
53
+ - `InputControl`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
54
+ - `Navigation`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
55
+ - `RangeControl`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
56
+ - `ResizeableBox`: Adopt radius scale ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
57
+ - `TabPanel`: Remove radius applied to panel focus style ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
58
+ - `Tabs`: Remove radius applied to panel focus style ([#64693](https://github.com/WordPress/gutenberg/pull/64693)).
59
+ - `UnitControl`: Update unit select styles ([#64712](https://github.com/WordPress/gutenberg/pull/64712)).
60
+ - `InputControl`: Add variants to prefix/suffix wrappers ([#64824](https://github.com/WordPress/gutenberg/pull/64824)).
61
+ - `Navigator`: remove location history, simplify internal logic ([#64675](https://github.com/WordPress/gutenberg/pull/64675)).
62
+ - `AlignmentMatrixControl`: Promote to stable ([#60913](https://github.com/WordPress/gutenberg/pull/60913)).
63
+ - Tighten gap between the main control and the prefix/suffix slot for the following components ([#64908](https://github.com/WordPress/gutenberg/pull/64908)).
64
+ - `InputControl`
65
+ - `NumberControl`
66
+ - `SelectControl`
67
+ - `TreeSelect`
68
+ - `UnitControl`
69
+ - Contains internal visual changes from this PR:
70
+ - `AnglePickerControl`
71
+ - `ColorPicker`
72
+ - Decrease horizontal padding from 16px to 12px on the following components, when in the 40px default size ([#64708](https://github.com/WordPress/gutenberg/pull/64708)).
73
+ - `AnglePickerControl`
74
+ - `ColorPicker` (on the inputs)
75
+ - `CustomSelectControl`
76
+ - `CustomSelectControlV2`
77
+ - `DateTimePicker` (on the selects and inputs)
78
+ - `DimensionControl`
79
+ - `FocalPointPicker` (on the inputs)
80
+ - `FontSizePicker` (on the custom inputs)
81
+ - `GradientPicker` (on the selects and inputs)
82
+ - `InputControl`
83
+ - `NumberControl`
84
+ - `QueryControls` (on the selects and inputs)
85
+ - `RangeControl` (on the inputs)
86
+ - `SearchControl`
87
+ - `SelectControl`
88
+ - `TextControl`
89
+ - `TimePicker` (on the inputs)
90
+ - `TreeSelect`
91
+ - `UnitControl`
92
+ - `Modal`: Update animation effect ([#64580](https://github.com/WordPress/gutenberg/pull/64580)).
93
+ - `AlignmentMatrixControl`: do not use composite store directly ([#64850](https://github.com/WordPress/gutenberg/pull/64850)).
94
+ - `CircularOptionPicker`: do not use composite store directly ([#64833](https://github.com/WordPress/gutenberg/pull/64833)).
95
+
96
+ ### Bug Fixes
97
+
98
+ - `TimePicker`: use ToggleGroupControl for AM/PM toggle ([#64800](https://github.com/WordPress/gutenberg/pull/64800)).
99
+ - `ColorPalette` utils: do not normalize undefined color values ([#64969](https://github.com/WordPress/gutenberg/pull/64969)).
100
+ - `DatePicker` restore round radius for event dot ([#65031](https://github.com/WordPress/gutenberg/pull/65031)).
101
+
102
+ ### Internal
103
+
104
+ - `DropdownMenu` v2: expose CompositeTypeaheadV2 and CompositeHoverV2 via private APIs ([#64985](https://github.com/WordPress/gutenberg/pull/64985)).
105
+ - `DropdownMenu` v2: fix flashing menu item styles when using keyboard ([#64873](https://github.com/WordPress/gutenberg/pull/64873), [#64942](https://github.com/WordPress/gutenberg/pull/64942)).
106
+ - `DropdownMenu` v2: refactor to overloaded naming convention ([#64654](https://github.com/WordPress/gutenberg/pull/64654)).
107
+ - `DropdownMenu` v2: add `GroupLabel` subcomponent ([#64854](https://github.com/WordPress/gutenberg/pull/64854)).
108
+ - `DropdownMenuV2`: update animation ([#64868](https://github.com/WordPress/gutenberg/pull/64868)).
109
+ - `Composite` V2: fix Storybook docgen ([#64682](https://github.com/WordPress/gutenberg/pull/64682)).
110
+ - `Composite` V2: add "With Slot Fill" example ([#65051](https://github.com/WordPress/gutenberg/pull/65051)).
111
+ - `Composite` V2: accept store props on top-level component ([#64832](https://github.com/WordPress/gutenberg/pull/64832)).
112
+ - `Composite` V2: remove `store` prop and `useCompositeStore` hook ([#64723](https://github.com/WordPress/gutenberg/pull/64723)).
113
+
5
114
  ## 28.6.0 (2024-08-21)
6
115
 
7
116
  ### Deprecations
package/CONTRIBUTING.md CHANGED
@@ -248,6 +248,7 @@ To meet the above requirements, we recommend:
248
248
 
249
249
  - using `Object.assign()` to add subcomponents as properties of the top-level component;
250
250
  - using named functions for all components;
251
+ - using a separate file for each component, context and hook;
251
252
  - setting explicitly the `displayName` on all subcomponents;
252
253
  - adding the top-level JSDoc to the result of the `Object.assign` call;
253
254
  - adding inline subcomponent JSDocs inside the `Object.assign` call.
@@ -256,36 +257,58 @@ The following example implements all of the above recommendations.
256
257
 
257
258
  ```tsx
258
259
  //=======================
259
- // Component.tsx
260
+ // subcomponent.tsx
260
261
  //=======================
261
- import { forwardRef, createContext } from '@wordpress/element';
262
+ import { forwardRef } from '@wordpress/element';
262
263
 
263
- function UnforwardedTopLevelComponent( props, ref ) {
264
- /* ... */
265
- }
266
- const TopLevelComponent = forwardRef( UnforwardedTopLevelComponent );
264
+ export const ComponentSubcomponent = forwardRef(
265
+ function UnforwardedComponentSubcomponent( props, ref ) {
266
+ /* ... */
267
+ }
268
+ );
267
269
 
268
- function UnforwardedSubComponent( props, ref ) {
269
- /* ... */
270
- }
271
- const SubComponent = forwardRef( UnforwardedSubComponent );
272
- SubComponent.displayName = 'Component.SubComponent';
270
+ //=======================
271
+ // context.ts
272
+ //=======================
273
+ import { createContext } from '@wordpress/element';
273
274
 
274
- const Context = createContext();
275
+ export const ComponentContext = createContext();
275
276
 
276
- /** The top-level component's JSDoc. */
277
- export const Component = Object.assign( TopLevelComponent, {
278
- /** The subcomponent's JSDoc. */
279
- SubComponent,
280
- /** The context's JSDoc. */
281
- Context,
282
- } );
277
+ //=======================
278
+ // hook.ts
279
+ //=======================
283
280
 
284
281
  /** The hook's JSDoc. */
285
282
  export function useComponent() {
286
283
  /* ... */
287
284
  }
288
285
 
286
+ //=======================
287
+ // component.tsx
288
+ //=======================
289
+ import { forwardRef } from '@wordpress/element';
290
+ import { ComponentSubcomponent } from './subcomponent';
291
+ import { ComponentContext } from './context';
292
+
293
+ /** The top-level component's JSDoc. */
294
+ export const Component = Object.assign(
295
+ forwardRef( function UnforwardedTopLevelComponent( props, ref ) {
296
+ /* ... */
297
+ } ),
298
+ {
299
+ /** The subcomponent's JSDoc. */
300
+ Subcomponent: Object.assign(ComponentSubcomponent, {
301
+ displayName: 'Component.SubComponent';,
302
+ }),
303
+ /** The context's JSDoc. */
304
+ Context: Object.assign(ComponentContext, {
305
+ displayName: 'Component.Context'
306
+ }),
307
+ }
308
+ );
309
+
310
+ export default Component;
311
+
289
312
  //=======================
290
313
  // App.tsx
291
314
  //=======================
@@ -9,7 +9,7 @@ var _composite = require("../composite");
9
9
  var _tooltip = _interopRequireDefault(require("../tooltip"));
10
10
  var _visuallyHidden = require("../visually-hidden");
11
11
  var _utils = require("./utils");
12
- var _alignmentMatrixControlStyles = require("./styles/alignment-matrix-control-styles");
12
+ var _styles = require("./styles");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  /**
15
15
  * Internal dependencies
@@ -21,23 +21,20 @@ var _jsxRuntime = require("react/jsx-runtime");
21
21
 
22
22
  function Cell({
23
23
  id,
24
- isActive = false,
25
24
  value,
26
25
  ...props
27
26
  }) {
28
- const tooltipText = _utils.ALIGNMENT_LABEL[value];
29
27
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.default, {
30
- text: tooltipText,
28
+ text: _utils.ALIGNMENT_LABEL[value],
31
29
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_composite.Composite.Item, {
32
30
  id: id,
33
- render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlStyles.Cell, {
31
+ render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Cell, {
34
32
  ...props,
35
33
  role: "gridcell"
36
34
  }),
37
35
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_visuallyHidden.VisuallyHidden, {
38
36
  children: value
39
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlStyles.Point, {
40
- isActive: isActive,
37
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Point, {
41
38
  role: "presentation"
42
39
  })]
43
40
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_composite","require","_tooltip","_interopRequireDefault","_visuallyHidden","_utils","_alignmentMatrixControlStyles","_jsxRuntime","Cell","id","isActive","value","props","tooltipText","ALIGNMENT_LABEL","jsx","default","text","children","jsxs","Composite","Item","render","role","VisuallyHidden","Point"],"sources":["@wordpress/components/src/alignment-matrix-control/cell.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { Composite } from '../composite';\nimport Tooltip from '../tooltip';\nimport { VisuallyHidden } from '../visually-hidden';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENT_LABEL } from './utils';\nimport {\n\tCell as CellView,\n\tPoint,\n} from './styles/alignment-matrix-control-styles';\nimport type { AlignmentMatrixControlCellProps } from './types';\nimport type { WordPressComponentProps } from '../context';\n\nexport default function Cell( {\n\tid,\n\tisActive = false,\n\tvalue,\n\t...props\n}: WordPressComponentProps< AlignmentMatrixControlCellProps, 'span', false > ) {\n\tconst tooltipText = ALIGNMENT_LABEL[ value ];\n\n\treturn (\n\t\t<Tooltip text={ tooltipText }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ id }\n\t\t\t\trender={ <CellView { ...props } role=\"gridcell\" /> }\n\t\t\t>\n\t\t\t\t{ /* VoiceOver needs a text content to be rendered within grid cell,\n\t\t\totherwise it'll announce the content as \"blank\". So we use a visually\n\t\t\thidden element instead of aria-label. */ }\n\t\t\t\t<VisuallyHidden>{ value }</VisuallyHidden>\n\t\t\t\t<Point isActive={ isActive } role=\"presentation\" />\n\t\t\t</Composite.Item>\n\t\t</Tooltip>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,6BAAA,GAAAL,OAAA;AAGkD,IAAAM,WAAA,GAAAN,OAAA;AAdlD;AACA;AACA;;AAKA;AACA;AACA;;AASe,SAASO,IAAIA,CAAE;EAC7BC,EAAE;EACFC,QAAQ,GAAG,KAAK;EAChBC,KAAK;EACL,GAAGC;AACuE,CAAC,EAAG;EAC9E,MAAMC,WAAW,GAAGC,sBAAe,CAAEH,KAAK,CAAE;EAE5C,oBACC,IAAAJ,WAAA,CAAAQ,GAAA,EAACb,QAAA,CAAAc,OAAO;IAACC,IAAI,EAAGJ,WAAa;IAAAK,QAAA,eAC5B,IAAAX,WAAA,CAAAY,IAAA,EAACnB,UAAA,CAAAoB,SAAS,CAACC,IAAI;MACdZ,EAAE,EAAGA,EAAI;MACTa,MAAM,eAAG,IAAAf,WAAA,CAAAQ,GAAA,EAACT,6BAAA,CAAAE,IAAQ;QAAA,GAAMI,KAAK;QAAGW,IAAI,EAAC;MAAU,CAAE,CAAG;MAAAL,QAAA,gBAKpD,IAAAX,WAAA,CAAAQ,GAAA,EAACX,eAAA,CAAAoB,cAAc;QAAAN,QAAA,EAAGP;MAAK,CAAkB,CAAC,eAC1C,IAAAJ,WAAA,CAAAQ,GAAA,EAACT,6BAAA,CAAAmB,KAAK;QAACf,QAAQ,EAAGA,QAAU;QAACa,IAAI,EAAC;MAAc,CAAE,CAAC;IAAA,CACpC;EAAC,CACT,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"names":["_composite","require","_tooltip","_interopRequireDefault","_visuallyHidden","_utils","_styles","_jsxRuntime","Cell","id","value","props","jsx","default","text","ALIGNMENT_LABEL","children","jsxs","Composite","Item","render","role","VisuallyHidden","Point"],"sources":["@wordpress/components/src/alignment-matrix-control/cell.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { Composite } from '../composite';\nimport Tooltip from '../tooltip';\nimport { VisuallyHidden } from '../visually-hidden';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENT_LABEL } from './utils';\nimport { Cell as CellView, Point } from './styles';\nimport type { AlignmentMatrixControlCellProps } from './types';\nimport type { WordPressComponentProps } from '../context';\n\nexport default function Cell( {\n\tid,\n\tvalue,\n\t...props\n}: WordPressComponentProps< AlignmentMatrixControlCellProps, 'span', false > ) {\n\treturn (\n\t\t<Tooltip text={ ALIGNMENT_LABEL[ value ] }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ id }\n\t\t\t\trender={ <CellView { ...props } role=\"gridcell\" /> }\n\t\t\t>\n\t\t\t\t{ /* VoiceOver needs a text content to be rendered within grid cell,\n\t\t\totherwise it'll announce the content as \"blank\". So we use a visually\n\t\t\thidden element instead of aria-label. */ }\n\t\t\t\t<VisuallyHidden>{ value }</VisuallyHidden>\n\t\t\t\t<Point role=\"presentation\" />\n\t\t\t</Composite.Item>\n\t\t</Tooltip>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAmD,IAAAM,WAAA,GAAAN,OAAA;AAXnD;AACA;AACA;;AAKA;AACA;AACA;;AAMe,SAASO,IAAIA,CAAE;EAC7BC,EAAE;EACFC,KAAK;EACL,GAAGC;AACuE,CAAC,EAAG;EAC9E,oBACC,IAAAJ,WAAA,CAAAK,GAAA,EAACV,QAAA,CAAAW,OAAO;IAACC,IAAI,EAAGC,sBAAe,CAAEL,KAAK,CAAI;IAAAM,QAAA,eACzC,IAAAT,WAAA,CAAAU,IAAA,EAACjB,UAAA,CAAAkB,SAAS,CAACC,IAAI;MACdV,EAAE,EAAGA,EAAI;MACTW,MAAM,eAAG,IAAAb,WAAA,CAAAK,GAAA,EAACN,OAAA,CAAAE,IAAQ;QAAA,GAAMG,KAAK;QAAGU,IAAI,EAAC;MAAU,CAAE,CAAG;MAAAL,QAAA,gBAKpD,IAAAT,WAAA,CAAAK,GAAA,EAACR,eAAA,CAAAkB,cAAc;QAAAN,QAAA,EAAGN;MAAK,CAAkB,CAAC,eAC1C,IAAAH,WAAA,CAAAK,GAAA,EAACN,OAAA,CAAAiB,KAAK;QAACF,IAAI,EAAC;MAAc,CAAE,CAAC;IAAA,CACd;EAAC,CACT,CAAC;AAEZ","ignoreList":[]}
@@ -6,45 +6,57 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _clsx = _interopRequireDefault(require("clsx"));
9
+ var _primitives = require("@wordpress/primitives");
9
10
  var _utils = require("./utils");
10
- var _alignmentMatrixControlIconStyles = require("./styles/alignment-matrix-control-icon-styles");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  /**
13
13
  * External dependencies
14
14
  */
15
15
 
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+
16
20
  /**
17
21
  * Internal dependencies
18
22
  */
19
23
 
20
24
  const BASE_SIZE = 24;
25
+ const GRID_CELL_SIZE = 7;
26
+ const GRID_PADDING = (BASE_SIZE - 3 * GRID_CELL_SIZE) / 2;
27
+ const DOT_SIZE = 2;
28
+ const DOT_SIZE_SELECTED = 4;
21
29
  function AlignmentMatrixControlIcon({
22
30
  className,
23
31
  disablePointerEvents = true,
24
- size = BASE_SIZE,
32
+ size,
33
+ width,
34
+ height,
25
35
  style = {},
26
36
  value = 'center',
27
37
  ...props
28
38
  }) {
29
- const alignIndex = (0, _utils.getAlignmentIndex)(value);
30
- const scale = (size / BASE_SIZE).toFixed(2);
31
- const classes = (0, _clsx.default)('component-alignment-matrix-control-icon', className);
32
- const styles = {
33
- ...style,
34
- transform: `scale(${scale})`
35
- };
36
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlIconStyles.Root, {
37
- ...props,
38
- className: classes,
39
- disablePointerEvents: disablePointerEvents,
39
+ var _ref, _ref2;
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SVG, {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ viewBox: `0 0 ${BASE_SIZE} ${BASE_SIZE}`,
43
+ width: (_ref = size !== null && size !== void 0 ? size : width) !== null && _ref !== void 0 ? _ref : BASE_SIZE,
44
+ height: (_ref2 = size !== null && size !== void 0 ? size : height) !== null && _ref2 !== void 0 ? _ref2 : BASE_SIZE,
40
45
  role: "presentation",
41
- style: styles,
46
+ className: (0, _clsx.default)('component-alignment-matrix-control-icon', className),
47
+ style: {
48
+ pointerEvents: disablePointerEvents ? 'none' : undefined,
49
+ ...style
50
+ },
51
+ ...props,
42
52
  children: _utils.ALIGNMENTS.map((align, index) => {
43
- const isActive = alignIndex === index;
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlIconStyles.Cell, {
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlIconStyles.Point, {
46
- isActive: isActive
47
- })
53
+ const dotSize = (0, _utils.getAlignmentIndex)(value) === index ? DOT_SIZE_SELECTED : DOT_SIZE;
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Rect, {
55
+ x: GRID_PADDING + index % 3 * GRID_CELL_SIZE + (GRID_CELL_SIZE - dotSize) / 2,
56
+ y: GRID_PADDING + Math.floor(index / 3) * GRID_CELL_SIZE + (GRID_CELL_SIZE - dotSize) / 2,
57
+ width: dotSize,
58
+ height: dotSize,
59
+ fill: "currentColor"
48
60
  }, align);
49
61
  })
50
62
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_utils","_alignmentMatrixControlIconStyles","_jsxRuntime","BASE_SIZE","AlignmentMatrixControlIcon","className","disablePointerEvents","size","style","value","props","alignIndex","getAlignmentIndex","scale","toFixed","classes","clsx","styles","transform","jsx","Root","role","children","ALIGNMENTS","map","align","index","isActive","Cell","Point","_default","exports","default"],"sources":["@wordpress/components/src/alignment-matrix-control/icon.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENTS, getAlignmentIndex } from './utils';\nimport {\n\tRoot,\n\tCell,\n\tPoint,\n} from './styles/alignment-matrix-control-icon-styles';\nimport type { AlignmentMatrixControlIconProps } from './types';\nimport type { WordPressComponentProps } from '../context';\n\nconst BASE_SIZE = 24;\n\nfunction AlignmentMatrixControlIcon( {\n\tclassName,\n\tdisablePointerEvents = true,\n\tsize = BASE_SIZE,\n\tstyle = {},\n\tvalue = 'center',\n\t...props\n}: WordPressComponentProps< AlignmentMatrixControlIconProps, 'div', false > ) {\n\tconst alignIndex = getAlignmentIndex( value );\n\tconst scale = ( size / BASE_SIZE ).toFixed( 2 );\n\n\tconst classes = clsx(\n\t\t'component-alignment-matrix-control-icon',\n\t\tclassName\n\t);\n\n\tconst styles = {\n\t\t...style,\n\t\ttransform: `scale(${ scale })`,\n\t};\n\n\treturn (\n\t\t<Root\n\t\t\t{ ...props }\n\t\t\tclassName={ classes }\n\t\t\tdisablePointerEvents={ disablePointerEvents }\n\t\t\trole=\"presentation\"\n\t\t\tstyle={ styles }\n\t\t>\n\t\t\t{ ALIGNMENTS.map( ( align, index ) => {\n\t\t\t\tconst isActive = alignIndex === index;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Cell key={ align }>\n\t\t\t\t\t\t<Point isActive={ isActive } />\n\t\t\t\t\t</Cell>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Root>\n\t);\n}\n\nexport default AlignmentMatrixControlIcon;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,iCAAA,GAAAF,OAAA;AAIuD,IAAAG,WAAA,GAAAH,OAAA;AAbvD;AACA;AACA;;AAGA;AACA;AACA;;AAUA,MAAMI,SAAS,GAAG,EAAE;AAEpB,SAASC,0BAA0BA,CAAE;EACpCC,SAAS;EACTC,oBAAoB,GAAG,IAAI;EAC3BC,IAAI,GAAGJ,SAAS;EAChBK,KAAK,GAAG,CAAC,CAAC;EACVC,KAAK,GAAG,QAAQ;EAChB,GAAGC;AACsE,CAAC,EAAG;EAC7E,MAAMC,UAAU,GAAG,IAAAC,wBAAiB,EAAEH,KAAM,CAAC;EAC7C,MAAMI,KAAK,GAAG,CAAEN,IAAI,GAAGJ,SAAS,EAAGW,OAAO,CAAE,CAAE,CAAC;EAE/C,MAAMC,OAAO,GAAG,IAAAC,aAAI,EACnB,yCAAyC,EACzCX,SACD,CAAC;EAED,MAAMY,MAAM,GAAG;IACd,GAAGT,KAAK;IACRU,SAAS,EAAG,SAASL,KAAO;EAC7B,CAAC;EAED,oBACC,IAAAX,WAAA,CAAAiB,GAAA,EAAClB,iCAAA,CAAAmB,IAAI;IAAA,GACCV,KAAK;IACVL,SAAS,EAAGU,OAAS;IACrBT,oBAAoB,EAAGA,oBAAsB;IAC7Ce,IAAI,EAAC,cAAc;IACnBb,KAAK,EAAGS,MAAQ;IAAAK,QAAA,EAEdC,iBAAU,CAACC,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAAM;MACrC,MAAMC,QAAQ,GAAGhB,UAAU,KAAKe,KAAK;MAErC,oBACC,IAAAxB,WAAA,CAAAiB,GAAA,EAAClB,iCAAA,CAAA2B,IAAI;QAAAN,QAAA,eACJ,IAAApB,WAAA,CAAAiB,GAAA,EAAClB,iCAAA,CAAA4B,KAAK;UAACF,QAAQ,EAAGA;QAAU,CAAE;MAAC,GADpBF,KAEN,CAAC;IAET,CAAE;EAAC,CACE,CAAC;AAET;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc5B,0BAA0B","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_primitives","_utils","_jsxRuntime","BASE_SIZE","GRID_CELL_SIZE","GRID_PADDING","DOT_SIZE","DOT_SIZE_SELECTED","AlignmentMatrixControlIcon","className","disablePointerEvents","size","width","height","style","value","props","_ref","_ref2","jsx","SVG","xmlns","viewBox","role","clsx","pointerEvents","undefined","children","ALIGNMENTS","map","align","index","dotSize","getAlignmentIndex","Rect","x","y","Math","floor","fill","_default","exports","default"],"sources":["@wordpress/components/src/alignment-matrix-control/icon.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Rect, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { ALIGNMENTS, getAlignmentIndex } from './utils';\nimport type { AlignmentMatrixControlIconProps } from './types';\nimport type { WordPressComponentProps } from '../context';\n\nconst BASE_SIZE = 24;\nconst GRID_CELL_SIZE = 7;\nconst GRID_PADDING = ( BASE_SIZE - 3 * GRID_CELL_SIZE ) / 2;\nconst DOT_SIZE = 2;\nconst DOT_SIZE_SELECTED = 4;\n\nfunction AlignmentMatrixControlIcon( {\n\tclassName,\n\tdisablePointerEvents = true,\n\tsize,\n\twidth,\n\theight,\n\tstyle = {},\n\tvalue = 'center',\n\t...props\n}: WordPressComponentProps< AlignmentMatrixControlIconProps, 'svg', false > ) {\n\treturn (\n\t\t<SVG\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tviewBox={ `0 0 ${ BASE_SIZE } ${ BASE_SIZE }` }\n\t\t\twidth={ size ?? width ?? BASE_SIZE }\n\t\t\theight={ size ?? height ?? BASE_SIZE }\n\t\t\trole=\"presentation\"\n\t\t\tclassName={ clsx(\n\t\t\t\t'component-alignment-matrix-control-icon',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tpointerEvents: disablePointerEvents ? 'none' : undefined,\n\t\t\t\t...style,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ ALIGNMENTS.map( ( align, index ) => {\n\t\t\t\tconst dotSize =\n\t\t\t\t\tgetAlignmentIndex( value ) === index\n\t\t\t\t\t\t? DOT_SIZE_SELECTED\n\t\t\t\t\t\t: DOT_SIZE;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Rect\n\t\t\t\t\t\tkey={ align }\n\t\t\t\t\t\tx={\n\t\t\t\t\t\t\tGRID_PADDING +\n\t\t\t\t\t\t\t( index % 3 ) * GRID_CELL_SIZE +\n\t\t\t\t\t\t\t( GRID_CELL_SIZE - dotSize ) / 2\n\t\t\t\t\t\t}\n\t\t\t\t\t\ty={\n\t\t\t\t\t\t\tGRID_PADDING +\n\t\t\t\t\t\t\tMath.floor( index / 3 ) * GRID_CELL_SIZE +\n\t\t\t\t\t\t\t( GRID_CELL_SIZE - dotSize ) / 2\n\t\t\t\t\t\t}\n\t\t\t\t\t\twidth={ dotSize }\n\t\t\t\t\t\theight={ dotSize }\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</SVG>\n\t);\n}\n\nexport default AlignmentMatrixControlIcon;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAbxD;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAKA,MAAMI,SAAS,GAAG,EAAE;AACpB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,YAAY,GAAG,CAAEF,SAAS,GAAG,CAAC,GAAGC,cAAc,IAAK,CAAC;AAC3D,MAAME,QAAQ,GAAG,CAAC;AAClB,MAAMC,iBAAiB,GAAG,CAAC;AAE3B,SAASC,0BAA0BA,CAAE;EACpCC,SAAS;EACTC,oBAAoB,GAAG,IAAI;EAC3BC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC,KAAK,GAAG,CAAC,CAAC;EACVC,KAAK,GAAG,QAAQ;EAChB,GAAGC;AACsE,CAAC,EAAG;EAAA,IAAAC,IAAA,EAAAC,KAAA;EAC7E,oBACC,IAAAhB,WAAA,CAAAiB,GAAA,EAACnB,WAAA,CAAAoB,GAAG;IACHC,KAAK,EAAC,4BAA4B;IAClCC,OAAO,EAAI,OAAOnB,SAAW,IAAIA,SAAW,EAAG;IAC/CS,KAAK,GAAAK,IAAA,GAAGN,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC,KAAK,cAAAK,IAAA,cAAAA,IAAA,GAAId,SAAW;IACpCU,MAAM,GAAAK,KAAA,GAAGP,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIE,MAAM,cAAAK,KAAA,cAAAA,KAAA,GAAIf,SAAW;IACtCoB,IAAI,EAAC,cAAc;IACnBd,SAAS,EAAG,IAAAe,aAAI,EACf,yCAAyC,EACzCf,SACD,CAAG;IACHK,KAAK,EAAG;MACPW,aAAa,EAAEf,oBAAoB,GAAG,MAAM,GAAGgB,SAAS;MACxD,GAAGZ;IACJ,CAAG;IAAA,GACEE,KAAK;IAAAW,QAAA,EAERC,iBAAU,CAACC,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAAM;MACrC,MAAMC,OAAO,GACZ,IAAAC,wBAAiB,EAAElB,KAAM,CAAC,KAAKgB,KAAK,GACjCxB,iBAAiB,GACjBD,QAAQ;MAEZ,oBACC,IAAAJ,WAAA,CAAAiB,GAAA,EAACnB,WAAA,CAAAkC,IAAI;QAEJC,CAAC,EACA9B,YAAY,GACV0B,KAAK,GAAG,CAAC,GAAK3B,cAAc,GAC9B,CAAEA,cAAc,GAAG4B,OAAO,IAAK,CAC/B;QACDI,CAAC,EACA/B,YAAY,GACZgC,IAAI,CAACC,KAAK,CAAEP,KAAK,GAAG,CAAE,CAAC,GAAG3B,cAAc,GACxC,CAAEA,cAAc,GAAG4B,OAAO,IAAK,CAC/B;QACDpB,KAAK,EAAGoB,OAAS;QACjBnB,MAAM,EAAGmB,OAAS;QAClBO,IAAI,EAAC;MAAc,GAbbT,KAcN,CAAC;IAEJ,CAAE;EAAC,CACC,CAAC;AAER;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEclC,0BAA0B","ignoreList":[]}
@@ -4,15 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.AlignmentMatrixControl = AlignmentMatrixControl;
8
- exports.default = void 0;
7
+ exports.default = exports.AlignmentMatrixControl = void 0;
9
8
  var _clsx = _interopRequireDefault(require("clsx"));
10
- var _react = require("@ariakit/react");
11
9
  var _i18n = require("@wordpress/i18n");
12
10
  var _compose = require("@wordpress/compose");
11
+ var _element = require("@wordpress/element");
13
12
  var _cell = _interopRequireDefault(require("./cell"));
14
13
  var _composite = require("../composite");
15
- var _alignmentMatrixControlStyles = require("./styles/alignment-matrix-control-styles");
14
+ var _styles = require("./styles");
16
15
  var _icon = _interopRequireDefault(require("./icon"));
17
16
  var _utils = require("./utils");
18
17
  var _jsxRuntime = require("react/jsx-runtime");
@@ -28,27 +27,7 @@ var _jsxRuntime = require("react/jsx-runtime");
28
27
  * Internal dependencies
29
28
  */
30
29
 
31
- /**
32
- *
33
- * AlignmentMatrixControl components enable adjustments to horizontal and vertical alignments for UI.
34
- *
35
- * ```jsx
36
- * import { __experimentalAlignmentMatrixControl as AlignmentMatrixControl } from '@wordpress/components';
37
- * import { useState } from '@wordpress/element';
38
- *
39
- * const Example = () => {
40
- * const [ alignment, setAlignment ] = useState( 'center center' );
41
- *
42
- * return (
43
- * <AlignmentMatrixControl
44
- * value={ alignment }
45
- * onChange={ setAlignment }
46
- * />
47
- * );
48
- * };
49
- * ```
50
- */
51
- function AlignmentMatrixControl({
30
+ function UnforwardedAlignmentMatrixControl({
52
31
  className,
53
32
  id,
54
33
  label = (0, _i18n.__)('Alignment Matrix Control'),
@@ -58,23 +37,20 @@ function AlignmentMatrixControl({
58
37
  width = 92,
59
38
  ...props
60
39
  }) {
61
- const baseId = (0, _compose.useInstanceId)(AlignmentMatrixControl, 'alignment-matrix-control', id);
62
- const compositeStore = (0, _composite.useCompositeStore)({
63
- defaultActiveId: (0, _utils.getItemId)(baseId, defaultValue),
64
- activeId: (0, _utils.getItemId)(baseId, value),
65
- setActiveId: nextActiveId => {
66
- const nextValue = (0, _utils.getItemValue)(baseId, nextActiveId);
67
- if (nextValue) {
68
- onChange?.(nextValue);
69
- }
70
- },
71
- rtl: (0, _i18n.isRTL)()
72
- });
73
- const activeId = (0, _react.useStoreState)(compositeStore, 'activeId');
40
+ const baseId = (0, _compose.useInstanceId)(UnforwardedAlignmentMatrixControl, 'alignment-matrix-control', id);
41
+ const setActiveId = (0, _element.useCallback)(nextActiveId => {
42
+ const nextValue = (0, _utils.getItemValue)(baseId, nextActiveId);
43
+ if (nextValue) {
44
+ onChange?.(nextValue);
45
+ }
46
+ }, [baseId, onChange]);
74
47
  const classes = (0, _clsx.default)('component-alignment-matrix-control', className);
75
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_composite.Composite, {
76
- store: compositeStore,
77
- render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlStyles.Root, {
49
+ defaultActiveId: (0, _utils.getItemId)(baseId, defaultValue),
50
+ activeId: (0, _utils.getItemId)(baseId, value),
51
+ setActiveId: setActiveId,
52
+ rtl: (0, _i18n.isRTL)(),
53
+ render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.GridContainer, {
78
54
  ...props,
79
55
  "aria-label": label,
80
56
  className: classes,
@@ -83,21 +59,49 @@ function AlignmentMatrixControl({
83
59
  size: width
84
60
  }),
85
61
  children: _utils.GRID.map((cells, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_composite.Composite.Row, {
86
- render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_alignmentMatrixControlStyles.Row, {
62
+ render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.GridRow, {
87
63
  role: "row"
88
64
  }),
89
- children: cells.map(cell => {
90
- const cellId = (0, _utils.getItemId)(baseId, cell);
91
- const isActive = cellId === activeId;
92
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_cell.default, {
93
- id: cellId,
94
- isActive: isActive,
95
- value: cell
96
- }, cell);
97
- })
65
+ children: cells.map(cell => /*#__PURE__*/(0, _jsxRuntime.jsx)(_cell.default, {
66
+ id: (0, _utils.getItemId)(baseId, cell),
67
+ value: cell
68
+ }, cell))
98
69
  }, index))
99
70
  });
100
71
  }
101
- AlignmentMatrixControl.Icon = _icon.default;
72
+
73
+ /**
74
+ * AlignmentMatrixControl components enable adjustments to horizontal and vertical alignments for UI.
75
+ *
76
+ * ```jsx
77
+ * import { AlignmentMatrixControl } from '@wordpress/components';
78
+ * import { useState } from '@wordpress/element';
79
+ *
80
+ * const Example = () => {
81
+ * const [ alignment, setAlignment ] = useState( 'center center' );
82
+ *
83
+ * return (
84
+ * <AlignmentMatrixControl
85
+ * value={ alignment }
86
+ * onChange={ setAlignment }
87
+ * />
88
+ * );
89
+ * };
90
+ * ```
91
+ */
92
+ const AlignmentMatrixControl = exports.AlignmentMatrixControl = Object.assign(UnforwardedAlignmentMatrixControl, {
93
+ /**
94
+ * Render an alignment matrix as an icon.
95
+ *
96
+ * ```jsx
97
+ * import { AlignmentMatrixControl } from '@wordpress/components';
98
+ *
99
+ * <Icon icon={<AlignmentMatrixControl.Icon value="top left" />} />
100
+ * ```
101
+ */
102
+ Icon: Object.assign(_icon.default, {
103
+ displayName: 'AlignmentMatrixControl.Icon'
104
+ })
105
+ });
102
106
  var _default = exports.default = AlignmentMatrixControl;
103
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_react","_i18n","_compose","_cell","_composite","_alignmentMatrixControlStyles","_icon","_utils","_jsxRuntime","AlignmentMatrixControl","className","id","label","__","defaultValue","value","onChange","width","props","baseId","useInstanceId","compositeStore","useCompositeStore","defaultActiveId","getItemId","activeId","setActiveId","nextActiveId","nextValue","getItemValue","rtl","isRTL","useStoreState","classes","clsx","jsx","Composite","store","render","Root","role","size","children","GRID","map","cells","index","Row","cell","cellId","isActive","default","Icon","AlignmentMatrixControlIcon","_default","exports"],"sources":["@wordpress/components/src/alignment-matrix-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport { useStoreState } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport { Composite, useCompositeStore } from '../composite';\nimport { Root, Row } from './styles/alignment-matrix-control-styles';\nimport AlignmentMatrixControlIcon from './icon';\nimport { GRID, getItemId, getItemValue } from './utils';\nimport type { WordPressComponentProps } from '../context';\nimport type { AlignmentMatrixControlProps } from './types';\n\n/**\n *\n * AlignmentMatrixControl components enable adjustments to horizontal and vertical alignments for UI.\n *\n * ```jsx\n * import { __experimentalAlignmentMatrixControl as AlignmentMatrixControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * \tconst [ alignment, setAlignment ] = useState( 'center center' );\n *\n * \treturn (\n * \t\t<AlignmentMatrixControl\n * \t\t\tvalue={ alignment }\n * \t\t\tonChange={ setAlignment }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport function AlignmentMatrixControl( {\n\tclassName,\n\tid,\n\tlabel = __( 'Alignment Matrix Control' ),\n\tdefaultValue = 'center center',\n\tvalue,\n\tonChange,\n\twidth = 92,\n\t...props\n}: WordPressComponentProps< AlignmentMatrixControlProps, 'div', false > ) {\n\tconst baseId = useInstanceId(\n\t\tAlignmentMatrixControl,\n\t\t'alignment-matrix-control',\n\t\tid\n\t);\n\n\tconst compositeStore = useCompositeStore( {\n\t\tdefaultActiveId: getItemId( baseId, defaultValue ),\n\t\tactiveId: getItemId( baseId, value ),\n\t\tsetActiveId: ( nextActiveId ) => {\n\t\t\tconst nextValue = getItemValue( baseId, nextActiveId );\n\t\t\tif ( nextValue ) {\n\t\t\t\tonChange?.( nextValue );\n\t\t\t}\n\t\t},\n\t\trtl: isRTL(),\n\t} );\n\n\tconst activeId = useStoreState( compositeStore, 'activeId' );\n\n\tconst classes = clsx( 'component-alignment-matrix-control', className );\n\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trender={\n\t\t\t\t<Root\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tid={ baseId }\n\t\t\t\t\trole=\"grid\"\n\t\t\t\t\tsize={ width }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ GRID.map( ( cells, index ) => (\n\t\t\t\t<Composite.Row render={ <Row role=\"row\" /> } key={ index }>\n\t\t\t\t\t{ cells.map( ( cell ) => {\n\t\t\t\t\t\tconst cellId = getItemId( baseId, cell );\n\t\t\t\t\t\tconst isActive = cellId === activeId;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\t\tid={ cellId }\n\t\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\t\tkey={ cell }\n\t\t\t\t\t\t\t\tvalue={ cell }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Composite.Row>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nAlignmentMatrixControl.Icon = AlignmentMatrixControlIcon;\n\nexport default AlignmentMatrixControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_compose","_element","_cell","_composite","_styles","_icon","_utils","_jsxRuntime","UnforwardedAlignmentMatrixControl","className","id","label","__","defaultValue","value","onChange","width","props","baseId","useInstanceId","setActiveId","useCallback","nextActiveId","nextValue","getItemValue","classes","clsx","jsx","Composite","defaultActiveId","getItemId","activeId","rtl","isRTL","render","GridContainer","role","size","children","GRID","map","cells","index","Row","GridRow","cell","default","AlignmentMatrixControl","exports","Object","assign","Icon","AlignmentMatrixControlIcon","displayName","_default"],"sources":["@wordpress/components/src/alignment-matrix-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport { Composite } from '../composite';\nimport { GridContainer, GridRow } from './styles';\nimport AlignmentMatrixControlIcon from './icon';\nimport { GRID, getItemId, getItemValue } from './utils';\nimport type { WordPressComponentProps } from '../context';\nimport type { AlignmentMatrixControlProps } from './types';\n\nfunction UnforwardedAlignmentMatrixControl( {\n\tclassName,\n\tid,\n\tlabel = __( 'Alignment Matrix Control' ),\n\tdefaultValue = 'center center',\n\tvalue,\n\tonChange,\n\twidth = 92,\n\t...props\n}: WordPressComponentProps< AlignmentMatrixControlProps, 'div', false > ) {\n\tconst baseId = useInstanceId(\n\t\tUnforwardedAlignmentMatrixControl,\n\t\t'alignment-matrix-control',\n\t\tid\n\t);\n\n\tconst setActiveId = useCallback<\n\t\tNonNullable< React.ComponentProps< typeof Composite >[ 'setActiveId' ] >\n\t>(\n\t\t( nextActiveId ) => {\n\t\t\tconst nextValue = getItemValue( baseId, nextActiveId );\n\t\t\tif ( nextValue ) {\n\t\t\t\tonChange?.( nextValue );\n\t\t\t}\n\t\t},\n\t\t[ baseId, onChange ]\n\t);\n\n\tconst classes = clsx( 'component-alignment-matrix-control', className );\n\n\treturn (\n\t\t<Composite\n\t\t\tdefaultActiveId={ getItemId( baseId, defaultValue ) }\n\t\t\tactiveId={ getItemId( baseId, value ) }\n\t\t\tsetActiveId={ setActiveId }\n\t\t\trtl={ isRTL() }\n\t\t\trender={\n\t\t\t\t<GridContainer\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tid={ baseId }\n\t\t\t\t\trole=\"grid\"\n\t\t\t\t\tsize={ width }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ GRID.map( ( cells, index ) => (\n\t\t\t\t<Composite.Row render={ <GridRow role=\"row\" /> } key={ index }>\n\t\t\t\t\t{ cells.map( ( cell ) => (\n\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\tid={ getItemId( baseId, cell ) }\n\t\t\t\t\t\t\tkey={ cell }\n\t\t\t\t\t\t\tvalue={ cell }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite.Row>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\n/**\n * AlignmentMatrixControl components enable adjustments to horizontal and vertical alignments for UI.\n *\n * ```jsx\n * import { AlignmentMatrixControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * \tconst [ alignment, setAlignment ] = useState( 'center center' );\n *\n * \treturn (\n * \t\t<AlignmentMatrixControl\n * \t\t\tvalue={ alignment }\n * \t\t\tonChange={ setAlignment }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const AlignmentMatrixControl = Object.assign(\n\tUnforwardedAlignmentMatrixControl,\n\t{\n\t\t/**\n\t\t * Render an alignment matrix as an icon.\n\t\t *\n\t\t * ```jsx\n\t\t * import { AlignmentMatrixControl } from '@wordpress/components';\n\t\t *\n\t\t * <Icon icon={<AlignmentMatrixControl.Icon value=\"top left\" />} />\n\t\t * ```\n\t\t */\n\t\tIcon: Object.assign( AlignmentMatrixControlIcon, {\n\t\t\tdisplayName: 'AlignmentMatrixControl.Icon',\n\t\t} ),\n\t}\n);\n\nexport default AlignmentMatrixControl;\n"],"mappings":"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","ignoreList":[]}