@wordpress/components 35.0.1 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/CONTRIBUTING.md +33 -26
  3. package/build/alignment-matrix-control/cell.cjs +1 -1
  4. package/build/alignment-matrix-control/cell.cjs.map +2 -2
  5. package/build/alignment-matrix-control/index.cjs +1 -1
  6. package/build/alignment-matrix-control/index.cjs.map +2 -2
  7. package/build/angle-picker-control/angle-circle.cjs +1 -1
  8. package/build/angle-picker-control/angle-circle.cjs.map +2 -2
  9. package/build/angle-picker-control/index.cjs +2 -2
  10. package/build/autocomplete/get-autocomplete-match.cjs.map +1 -1
  11. package/build/autocomplete/index.cjs.map +1 -1
  12. package/build/base-control/styles/base-control-styles.cjs +6 -6
  13. package/build/base-control/styles/base-control-styles.cjs.map +2 -2
  14. package/build/border-control/styles.cjs +17 -14
  15. package/build/border-control/styles.cjs.map +2 -2
  16. package/build/box-control/{input-control.cjs → box-input-control.cjs} +9 -9
  17. package/build/box-control/box-input-control.cjs.map +7 -0
  18. package/build/box-control/index.cjs +9 -25
  19. package/build/box-control/index.cjs.map +3 -3
  20. package/build/button/index.cjs +3 -7
  21. package/build/button/index.cjs.map +2 -2
  22. package/build/card/card-divider/hook.cjs.map +2 -2
  23. package/build/color-palette/index.cjs.map +1 -1
  24. package/build/color-picker/component.cjs.map +1 -1
  25. package/build/date-time/utils.cjs.map +1 -1
  26. package/build/disabled/index.cjs.map +2 -2
  27. package/build/divider/component.cjs +108 -3
  28. package/build/divider/component.cjs.map +4 -4
  29. package/build/draggable/index.cjs.map +1 -1
  30. package/build/external-link/index.cjs +1 -1
  31. package/build/external-link/index.cjs.map +1 -1
  32. package/build/higher-order/with-fallback-styles/index.cjs +18 -44
  33. package/build/higher-order/with-fallback-styles/index.cjs.map +2 -2
  34. package/build/menu/popover.cjs.map +1 -1
  35. package/build/menu/styles.cjs +17 -17
  36. package/build/menu/styles.cjs.map +2 -2
  37. package/build/modal/index.cjs.map +1 -1
  38. package/build/modal/use-modal-exit-animation.cjs +37 -52
  39. package/build/modal/use-modal-exit-animation.cjs.map +2 -2
  40. package/build/palette-edit/index.cjs +1 -1
  41. package/build/progress-bar/index.cjs +1 -1
  42. package/build/progress-bar/index.cjs.map +2 -2
  43. package/build/query-controls/index.cjs +2 -2
  44. package/build/query-controls/index.cjs.map +2 -2
  45. package/build/range-control/index.cjs.map +1 -1
  46. package/build/sandbox/index.cjs +7 -1
  47. package/build/sandbox/index.cjs.map +2 -2
  48. package/build/snackbar/index.cjs +1 -1
  49. package/build/spinner/styles.cjs +4 -4
  50. package/build/spinner/styles.cjs.map +2 -2
  51. package/build/tabs/index.cjs +0 -18
  52. package/build/tabs/index.cjs.map +2 -2
  53. package/build/tabs/tablist.cjs +5 -15
  54. package/build/tabs/tablist.cjs.map +2 -2
  55. package/build/text-control/index.cjs +3 -12
  56. package/build/text-control/index.cjs.map +3 -3
  57. package/build/tools-panel/styles.cjs +13 -13
  58. package/build/tools-panel/styles.cjs.map +2 -2
  59. package/build/tools-panel/tools-panel/hook.cjs.map +1 -1
  60. package/build/tree-select/index.cjs +1 -1
  61. package/build/tree-select/index.cjs.map +1 -1
  62. package/build/truncate/utils.cjs +1 -1
  63. package/build/truncate/utils.cjs.map +1 -1
  64. package/build/utils/colors-values.cjs +12 -12
  65. package/build/utils/colors-values.cjs.map +2 -2
  66. package/build/utils/config-values.cjs +2 -2
  67. package/build/utils/config-values.cjs.map +2 -2
  68. package/build/utils/dropdown-motion.cjs.map +2 -2
  69. package/build/utils/strings.cjs.map +1 -1
  70. package/build/validated-form-controls/components/text-control.cjs +0 -1
  71. package/build/validated-form-controls/components/text-control.cjs.map +2 -2
  72. package/build-module/alignment-matrix-control/cell.mjs +1 -1
  73. package/build-module/alignment-matrix-control/cell.mjs.map +2 -2
  74. package/build-module/alignment-matrix-control/index.mjs +1 -1
  75. package/build-module/alignment-matrix-control/index.mjs.map +2 -2
  76. package/build-module/angle-picker-control/angle-circle.mjs +1 -1
  77. package/build-module/angle-picker-control/angle-circle.mjs.map +2 -2
  78. package/build-module/angle-picker-control/index.mjs +2 -2
  79. package/build-module/autocomplete/get-autocomplete-match.mjs.map +1 -1
  80. package/build-module/autocomplete/index.mjs.map +1 -1
  81. package/build-module/base-control/styles/base-control-styles.mjs +6 -6
  82. package/build-module/base-control/styles/base-control-styles.mjs.map +2 -2
  83. package/build-module/border-control/styles.mjs +17 -14
  84. package/build-module/border-control/styles.mjs.map +2 -2
  85. package/build-module/box-control/{input-control.mjs → box-input-control.mjs} +6 -6
  86. package/build-module/box-control/box-input-control.mjs.map +7 -0
  87. package/build-module/box-control/index.mjs +9 -25
  88. package/build-module/box-control/index.mjs.map +2 -2
  89. package/build-module/button/index.mjs +2 -5
  90. package/build-module/button/index.mjs.map +2 -2
  91. package/build-module/card/card-divider/hook.mjs.map +2 -2
  92. package/build-module/color-palette/index.mjs.map +1 -1
  93. package/build-module/color-picker/component.mjs.map +1 -1
  94. package/build-module/date-time/utils.mjs.map +1 -1
  95. package/build-module/disabled/index.mjs.map +2 -2
  96. package/build-module/divider/component.mjs +108 -3
  97. package/build-module/divider/component.mjs.map +3 -3
  98. package/build-module/draggable/index.mjs.map +1 -1
  99. package/build-module/external-link/index.mjs +1 -1
  100. package/build-module/external-link/index.mjs.map +1 -1
  101. package/build-module/higher-order/with-fallback-styles/index.mjs +20 -46
  102. package/build-module/higher-order/with-fallback-styles/index.mjs.map +2 -2
  103. package/build-module/menu/popover.mjs.map +1 -1
  104. package/build-module/menu/styles.mjs +17 -17
  105. package/build-module/menu/styles.mjs.map +2 -2
  106. package/build-module/modal/index.mjs.map +1 -1
  107. package/build-module/modal/use-modal-exit-animation.mjs +37 -52
  108. package/build-module/modal/use-modal-exit-animation.mjs.map +2 -2
  109. package/build-module/palette-edit/index.mjs +1 -1
  110. package/build-module/progress-bar/index.mjs +1 -1
  111. package/build-module/progress-bar/index.mjs.map +2 -2
  112. package/build-module/query-controls/index.mjs +2 -2
  113. package/build-module/query-controls/index.mjs.map +2 -2
  114. package/build-module/range-control/index.mjs.map +1 -1
  115. package/build-module/sandbox/index.mjs +3 -1
  116. package/build-module/sandbox/index.mjs.map +2 -2
  117. package/build-module/snackbar/index.mjs +1 -1
  118. package/build-module/spinner/styles.mjs +4 -4
  119. package/build-module/spinner/styles.mjs.map +2 -2
  120. package/build-module/tabs/index.mjs +1 -19
  121. package/build-module/tabs/index.mjs.map +2 -2
  122. package/build-module/tabs/tablist.mjs +5 -15
  123. package/build-module/tabs/tablist.mjs.map +2 -2
  124. package/build-module/text-control/index.mjs +3 -12
  125. package/build-module/text-control/index.mjs.map +2 -2
  126. package/build-module/tools-panel/styles.mjs +13 -13
  127. package/build-module/tools-panel/styles.mjs.map +2 -2
  128. package/build-module/tools-panel/tools-panel/hook.mjs.map +1 -1
  129. package/build-module/tree-select/index.mjs +1 -1
  130. package/build-module/tree-select/index.mjs.map +1 -1
  131. package/build-module/truncate/utils.mjs +1 -1
  132. package/build-module/truncate/utils.mjs.map +1 -1
  133. package/build-module/utils/colors-values.mjs +12 -12
  134. package/build-module/utils/colors-values.mjs.map +2 -2
  135. package/build-module/utils/config-values.mjs +2 -2
  136. package/build-module/utils/config-values.mjs.map +2 -2
  137. package/build-module/utils/dropdown-motion.mjs.map +2 -2
  138. package/build-module/utils/strings.mjs.map +1 -1
  139. package/build-module/validated-form-controls/components/text-control.mjs +0 -1
  140. package/build-module/validated-form-controls/components/text-control.mjs.map +2 -2
  141. package/build-style/style-rtl.css +85 -101
  142. package/build-style/style.css +85 -101
  143. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  144. package/build-types/border-control/styles.d.ts.map +1 -1
  145. package/build-types/box-control/box-input-control.d.ts +3 -0
  146. package/build-types/box-control/box-input-control.d.ts.map +1 -0
  147. package/build-types/box-control/index.d.ts +2 -6
  148. package/build-types/box-control/index.d.ts.map +1 -1
  149. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  150. package/build-types/box-control/types.d.ts +7 -6
  151. package/build-types/box-control/types.d.ts.map +1 -1
  152. package/build-types/button/index.d.ts +0 -2
  153. package/build-types/button/index.d.ts.map +1 -1
  154. package/build-types/card/card-divider/hook.d.ts +1 -274
  155. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  156. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  157. package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
  158. package/build-types/disabled/index.d.ts +0 -1
  159. package/build-types/disabled/index.d.ts.map +1 -1
  160. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  161. package/build-types/divider/component.d.ts.map +1 -1
  162. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  163. package/build-types/higher-order/with-fallback-styles/index.d.ts +1 -35
  164. package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -1
  165. package/build-types/higher-order/with-fallback-styles/test/index.d.ts.map +1 -0
  166. package/build-types/icon/stories/index.story.d.ts +0 -1
  167. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  168. package/build-types/menu/styles.d.ts.map +1 -1
  169. package/build-types/menu/types.d.ts +2 -2
  170. package/build-types/placeholder/stories/index.story.d.ts.map +1 -1
  171. package/build-types/resizable-box/index.d.ts +0 -2
  172. package/build-types/resizable-box/index.d.ts.map +1 -1
  173. package/build-types/resizable-box/stories/index.story.d.ts +0 -2
  174. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  175. package/build-types/sandbox/index.d.ts +15 -0
  176. package/build-types/sandbox/index.d.ts.map +1 -1
  177. package/build-types/spinner/styles.d.ts.map +1 -1
  178. package/build-types/tabs/index.d.ts.map +1 -1
  179. package/build-types/tabs/tablist.d.ts.map +1 -1
  180. package/build-types/text-control/index.d.ts +0 -1
  181. package/build-types/text-control/index.d.ts.map +1 -1
  182. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  183. package/build-types/text-control/types.d.ts +2 -1
  184. package/build-types/text-control/types.d.ts.map +1 -1
  185. package/build-types/tools-panel/styles.d.ts.map +1 -1
  186. package/build-types/utils/colors-values.d.ts.map +1 -1
  187. package/build-types/utils/dropdown-motion.d.ts.map +1 -1
  188. package/build-types/validated-form-controls/components/combobox-control.d.ts +2 -2
  189. package/build-types/validated-form-controls/components/text-control.d.ts +2 -2
  190. package/build-types/validated-form-controls/components/text-control.d.ts.map +1 -1
  191. package/package.json +34 -28
  192. package/src/angle-picker-control/angle-circle.tsx +3 -3
  193. package/src/base-control/README.md +2 -2
  194. package/src/base-control/styles/base-control-styles.ts +1 -0
  195. package/src/border-control/styles.ts +1 -0
  196. package/src/box-control/README.md +1 -13
  197. package/src/box-control/{input-control.tsx → box-input-control.tsx} +4 -4
  198. package/src/box-control/index.tsx +5 -23
  199. package/src/box-control/stories/index.story.tsx +1 -3
  200. package/src/box-control/test/index.tsx +15 -2
  201. package/src/box-control/types.ts +7 -6
  202. package/src/button/index.tsx +2 -4
  203. package/src/button/style.scss +3 -3
  204. package/src/card/card-divider/hook.ts +5 -1
  205. package/src/card/test/__snapshots__/index.tsx.snap +7 -9
  206. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +4 -3
  207. package/src/composite/stories/index.story.tsx +5 -0
  208. package/src/confirm-dialog/stories/index.story.tsx +1 -0
  209. package/src/custom-select-control/test/index.tsx +1 -1
  210. package/src/disabled/README.md +0 -1
  211. package/src/disabled/index.tsx +0 -1
  212. package/src/disabled/stories/index.story.tsx +0 -1
  213. package/src/divider/component.tsx +27 -3
  214. package/src/divider/style.module.scss +21 -0
  215. package/src/divider/test/index.tsx +21 -11
  216. package/src/dropdown/stories/index.story.tsx +5 -0
  217. package/src/dropdown-menu/style.scss +1 -1
  218. package/src/external-link/style.scss +4 -4
  219. package/src/form-toggle/style.scss +1 -1
  220. package/src/heading/test/__snapshots__/index.tsx.snap +4 -4
  221. package/src/higher-order/with-constrained-tabbing/README.md +0 -2
  222. package/src/higher-order/with-fallback-styles/index.tsx +31 -61
  223. package/src/higher-order/with-fallback-styles/test/index.tsx +47 -0
  224. package/src/higher-order/with-focus-return/README.md +0 -2
  225. package/src/icon/stories/index.story.tsx +0 -15
  226. package/src/menu/README.md +2 -2
  227. package/src/menu/styles.ts +2 -0
  228. package/src/menu/test/index.tsx +104 -87
  229. package/src/menu/types.ts +2 -2
  230. package/src/menu-item/test/__snapshots__/index.js.snap +2 -0
  231. package/src/modal/style.scss +1 -1
  232. package/src/modal/test/index.tsx +0 -24
  233. package/src/modal/use-modal-exit-animation.ts +2 -2
  234. package/src/navigable-container/test/navigable-menu.tsx +0 -16
  235. package/src/navigable-container/test/tababble-container.tsx +0 -16
  236. package/src/navigator/test/index.tsx +0 -24
  237. package/src/notice/style.scss +11 -13
  238. package/src/notice/test/__snapshots__/index.tsx.snap +1 -0
  239. package/src/panel/README.md +2 -0
  240. package/src/panel/stories/index.story.tsx +2 -2
  241. package/src/panel/style.scss +1 -1
  242. package/src/placeholder/stories/index.story.tsx +0 -1
  243. package/src/radio-control/style.scss +1 -1
  244. package/src/resizable-box/index.tsx +1 -2
  245. package/src/sandbox/index.tsx +18 -1
  246. package/src/sandbox/test/index.tsx +44 -1
  247. package/src/spinner/styles.ts +1 -0
  248. package/src/tab-panel/style.scss +6 -6
  249. package/src/tab-panel/test/index.tsx +0 -17
  250. package/src/tabs/index.tsx +1 -26
  251. package/src/tabs/tablist.tsx +5 -21
  252. package/src/tabs/test/index.tsx +16 -44
  253. package/src/text/test/__snapshots__/index.tsx.snap +3 -3
  254. package/src/text-control/README.md +0 -9
  255. package/src/text-control/index.tsx +3 -14
  256. package/src/text-control/stories/index.story.tsx +0 -2
  257. package/src/text-control/style.scss +7 -11
  258. package/src/text-control/test/text-control.tsx +1 -5
  259. package/src/text-control/types.ts +2 -1
  260. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +38 -26
  261. package/src/toolbar/toolbar-group/style.scss +2 -2
  262. package/src/tools-panel/styles.ts +1 -1
  263. package/src/tools-panel/tools-panel/README.md +0 -2
  264. package/src/tooltip/stories/index.story.tsx +2 -2
  265. package/src/tree-grid/test/index.tsx +0 -23
  266. package/src/utils/colors-values.js +36 -16
  267. package/src/utils/config-values.js +2 -2
  268. package/src/utils/dropdown-motion.ts +6 -4
  269. package/src/utils/theme-variables.scss +18 -13
  270. package/src/validated-form-controls/components/text-control.tsx +2 -10
  271. package/build/box-control/input-control.cjs.map +0 -7
  272. package/build/divider/styles.cjs +0 -98
  273. package/build/divider/styles.cjs.map +0 -7
  274. package/build-module/box-control/input-control.mjs.map +0 -7
  275. package/build-module/divider/styles.mjs +0 -63
  276. package/build-module/divider/styles.mjs.map +0 -7
  277. package/build-types/box-control/input-control.d.ts +0 -3
  278. package/build-types/box-control/input-control.d.ts.map +0 -1
  279. package/build-types/card/context.d.ts +0 -3
  280. package/build-types/card/context.d.ts.map +0 -1
  281. package/build-types/date-time/date/index.d.ts +0 -23
  282. package/build-types/date-time/date/index.d.ts.map +0 -1
  283. package/build-types/date-time/date/styles.d.ts +0 -45
  284. package/build-types/date-time/date/styles.d.ts.map +0 -1
  285. package/build-types/date-time/date/test/index.d.ts.map +0 -1
  286. package/build-types/date-time/date/test/use-lilius.d.ts +0 -2
  287. package/build-types/date-time/date/test/use-lilius.d.ts.map +0 -1
  288. package/build-types/date-time/date/use-lilius/index.d.ts +0 -169
  289. package/build-types/date-time/date/use-lilius/index.d.ts.map +0 -1
  290. package/build-types/date-time/time/index.d.ts +0 -27
  291. package/build-types/date-time/time/index.d.ts.map +0 -1
  292. package/build-types/date-time/time/styles.d.ts +0 -93
  293. package/build-types/date-time/time/styles.d.ts.map +0 -1
  294. package/build-types/date-time/time/test/index.d.ts +0 -2
  295. package/build-types/date-time/time/test/index.d.ts.map +0 -1
  296. package/build-types/date-time/time/time-input/index.d.ts +0 -4
  297. package/build-types/date-time/time/time-input/index.d.ts.map +0 -1
  298. package/build-types/date-time/time/time-input/test/index.d.ts +0 -2
  299. package/build-types/date-time/time/time-input/test/index.d.ts.map +0 -1
  300. package/build-types/date-time/time/timezone.d.ts +0 -7
  301. package/build-types/date-time/time/timezone.d.ts.map +0 -1
  302. package/build-types/divider/styles.d.ts +0 -10
  303. package/build-types/divider/styles.d.ts.map +0 -1
  304. package/build-types/mobile/image/constants.d.ts +0 -5
  305. package/build-types/mobile/image/constants.d.ts.map +0 -1
  306. package/build-types/navigation/back-button/index.d.ts +0 -7
  307. package/build-types/navigation/back-button/index.d.ts.map +0 -1
  308. package/build-types/navigation/constants.d.ts +0 -3
  309. package/build-types/navigation/constants.d.ts.map +0 -1
  310. package/build-types/navigation/context.d.ts +0 -4
  311. package/build-types/navigation/context.d.ts.map +0 -1
  312. package/build-types/navigation/group/context.d.ts +0 -7
  313. package/build-types/navigation/group/context.d.ts.map +0 -1
  314. package/build-types/navigation/group/index.d.ts +0 -7
  315. package/build-types/navigation/group/index.d.ts.map +0 -1
  316. package/build-types/navigation/index.d.ts +0 -46
  317. package/build-types/navigation/index.d.ts.map +0 -1
  318. package/build-types/navigation/item/base-content.d.ts +0 -3
  319. package/build-types/navigation/item/base-content.d.ts.map +0 -1
  320. package/build-types/navigation/item/base.d.ts +0 -3
  321. package/build-types/navigation/item/base.d.ts.map +0 -1
  322. package/build-types/navigation/item/index.d.ts +0 -7
  323. package/build-types/navigation/item/index.d.ts.map +0 -1
  324. package/build-types/navigation/item/use-navigation-tree-item.d.ts +0 -3
  325. package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +0 -1
  326. package/build-types/navigation/menu/context.d.ts +0 -7
  327. package/build-types/navigation/menu/context.d.ts.map +0 -1
  328. package/build-types/navigation/menu/index.d.ts +0 -7
  329. package/build-types/navigation/menu/index.d.ts.map +0 -1
  330. package/build-types/navigation/menu/menu-title-search.d.ts +0 -3
  331. package/build-types/navigation/menu/menu-title-search.d.ts.map +0 -1
  332. package/build-types/navigation/menu/menu-title.d.ts +0 -3
  333. package/build-types/navigation/menu/menu-title.d.ts.map +0 -1
  334. package/build-types/navigation/menu/search-no-results-found.d.ts +0 -3
  335. package/build-types/navigation/menu/search-no-results-found.d.ts.map +0 -1
  336. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +0 -3
  337. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +0 -1
  338. package/build-types/navigation/stories/index.story.d.ts +0 -23
  339. package/build-types/navigation/stories/index.story.d.ts.map +0 -1
  340. package/build-types/navigation/stories/utils/controlled-state.d.ts +0 -7
  341. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +0 -1
  342. package/build-types/navigation/stories/utils/default.d.ts +0 -10
  343. package/build-types/navigation/stories/utils/default.d.ts.map +0 -1
  344. package/build-types/navigation/stories/utils/group.d.ts +0 -10
  345. package/build-types/navigation/stories/utils/group.d.ts.map +0 -1
  346. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +0 -10
  347. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +0 -1
  348. package/build-types/navigation/stories/utils/more-examples.d.ts +0 -10
  349. package/build-types/navigation/stories/utils/more-examples.d.ts.map +0 -1
  350. package/build-types/navigation/stories/utils/search.d.ts +0 -10
  351. package/build-types/navigation/stories/utils/search.d.ts.map +0 -1
  352. package/build-types/navigation/styles/navigation-styles.d.ts +0 -55
  353. package/build-types/navigation/styles/navigation-styles.d.ts.map +0 -1
  354. package/build-types/navigation/test/index.d.ts +0 -2
  355. package/build-types/navigation/test/index.d.ts.map +0 -1
  356. package/build-types/navigation/types.d.ts +0 -266
  357. package/build-types/navigation/types.d.ts.map +0 -1
  358. package/build-types/navigation/use-create-navigation-tree.d.ts +0 -15
  359. package/build-types/navigation/use-create-navigation-tree.d.ts.map +0 -1
  360. package/build-types/navigation/use-navigation-tree-nodes.d.ts +0 -10
  361. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +0 -1
  362. package/build-types/navigation/utils.d.ts +0 -3
  363. package/build-types/navigation/utils.d.ts.map +0 -1
  364. package/build-types/visually-hidden/test/index.d.ts +0 -2
  365. package/build-types/visually-hidden/test/index.d.ts.map +0 -1
  366. package/src/divider/styles.ts +0 -81
  367. package/src/divider/test/__snapshots__/index.tsx.snap +0 -71
  368. /package/build-types/{date-time/date → higher-order/with-fallback-styles}/test/index.d.ts +0 -0
@@ -35,23 +35,7 @@ const getTabbableContainerTabbables = () => [
35
35
  screen.getByRole( 'link', { name: 'Item 4' } ),
36
36
  ];
37
37
 
38
- const originalGetClientRects = window.HTMLElement.prototype.getClientRects;
39
-
40
38
  describe( 'TabbableContainer', () => {
41
- beforeAll( () => {
42
- // Mocking `getClientRects()` is necessary to pass a check performed by
43
- // the `focus.tabbable.find()` and by the `focus.focusable.find()` functions
44
- // from the `@wordpress/dom` package.
45
- // @ts-expect-error We're not trying to comply to the DOM spec, only mocking
46
- window.HTMLElement.prototype.getClientRects = function () {
47
- return [ 'trick-jsdom-into-having-size-for-element-rect' ];
48
- };
49
- } );
50
-
51
- afterAll( () => {
52
- window.HTMLElement.prototype.getClientRects = originalGetClientRects;
53
- } );
54
-
55
39
  it( 'moves focus on its tabbable children by using the tab key', async () => {
56
40
  const user = userEvent.setup();
57
41
 
@@ -469,30 +469,6 @@ const getNavigationButton = ( buttonKey: keyof typeof BUTTON_TEXT ) =>
469
469
  screen.getByRole( 'button', { name: BUTTON_TEXT[ buttonKey ] } );
470
470
 
471
471
  describe( 'Navigator', () => {
472
- const originalGetClientRects = window.Element.prototype.getClientRects;
473
-
474
- // `getClientRects` needs to be mocked so that `isVisible` from the `@wordpress/dom`
475
- // `focusable` module can pass, in a JSDOM env where the DOM elements have no width/height.
476
- const mockedGetClientRects = jest.fn( () => [
477
- {
478
- x: 0,
479
- y: 0,
480
- width: 100,
481
- height: 100,
482
- },
483
- ] );
484
-
485
- beforeAll( () => {
486
- // @ts-expect-error There's no need for an exact mock, this is just needed
487
- // for the tests to pass (see `mockedGetClientRects` inline comments).
488
- window.Element.prototype.getClientRects =
489
- jest.fn( mockedGetClientRects );
490
- } );
491
-
492
- afterAll( () => {
493
- window.Element.prototype.getClientRects = originalGetClientRects;
494
- } );
495
-
496
472
  it( 'should render', () => {
497
473
  render( <MyNavigation /> );
498
474
 
@@ -1,9 +1,9 @@
1
1
  @use "@wordpress/base-styles/variables" as *;
2
2
 
3
3
  .components-notice {
4
- --wp-components-notice-background-color: var(--wpds-color-bg-surface-info-weak);
4
+ --wp-components-notice-background-color: var(--wpds-color-background-surface-info-weak);
5
5
  --wp-components-notice-border-color: var(--wpds-color-stroke-surface-info);
6
- --wp-components-notice-text-color: var(--wpds-color-fg-content-info);
6
+ --wp-components-notice-text-color: var(--wpds-color-foreground-content-info);
7
7
 
8
8
  box-sizing: border-box;
9
9
  display: grid;
@@ -19,21 +19,21 @@
19
19
  line-height: var(--wpds-typography-line-height-sm);
20
20
 
21
21
  &.is-success {
22
- --wp-components-notice-background-color: var(--wpds-color-bg-surface-success-weak);
22
+ --wp-components-notice-background-color: var(--wpds-color-background-surface-success-weak);
23
23
  --wp-components-notice-border-color: var(--wpds-color-stroke-surface-success);
24
- --wp-components-notice-text-color: var(--wpds-color-fg-content-success);
24
+ --wp-components-notice-text-color: var(--wpds-color-foreground-content-success);
25
25
  }
26
26
 
27
27
  &.is-warning {
28
- --wp-components-notice-background-color: var(--wpds-color-bg-surface-warning-weak);
28
+ --wp-components-notice-background-color: var(--wpds-color-background-surface-warning-weak);
29
29
  --wp-components-notice-border-color: var(--wpds-color-stroke-surface-warning);
30
- --wp-components-notice-text-color: var(--wpds-color-fg-content-warning);
30
+ --wp-components-notice-text-color: var(--wpds-color-foreground-content-warning);
31
31
  }
32
32
 
33
33
  &.is-error {
34
- --wp-components-notice-background-color: var(--wpds-color-bg-surface-error-weak);
34
+ --wp-components-notice-background-color: var(--wpds-color-background-surface-error-weak);
35
35
  --wp-components-notice-border-color: var(--wpds-color-stroke-surface-error);
36
- --wp-components-notice-text-color: var(--wpds-color-fg-content-error);
36
+ --wp-components-notice-text-color: var(--wpds-color-foreground-content-error);
37
37
  }
38
38
  }
39
39
 
@@ -46,9 +46,7 @@
46
46
  // consistent across variants, matching `@wordpress/ui` Notice (`.title` /
47
47
  // `.description` always use `--text-vertical-padding` whether or not `CloseIcon`
48
48
  // is rendered).
49
- // TODO: Replace `$button-size-small` with a WPDS size token once size tokens
50
- // land in `@wordpress/theme`.
51
- padding-block: calc((#{$button-size-small} - 1lh) / 2);
49
+ padding-block: calc((var(--wpds-dimension-size-sm) - 1lh) / 2);
52
50
  }
53
51
 
54
52
  .components-notice__actions {
@@ -65,13 +63,13 @@
65
63
  .components-notice__dismiss {
66
64
  grid-column: 2;
67
65
  grid-row: 1;
68
- color: var(--wpds-color-fg-interactive-neutral);
66
+ color: var(--wpds-color-foreground-interactive-neutral);
69
67
  margin-inline-start: var(--wpds-dimension-gap-xs);
70
68
 
71
69
  &:not(:disabled):not([aria-disabled="true"]):not(.is-secondary):hover,
72
70
  &:not(:disabled):not([aria-disabled="true"]):not(.is-secondary):active,
73
71
  &:not(:disabled):not([aria-disabled="true"]):focus {
74
- color: var(--wpds-color-fg-interactive-neutral-active);
72
+ color: var(--wpds-color-foreground-interactive-neutral-active);
75
73
  background-color: transparent;
76
74
  }
77
75
 
@@ -48,6 +48,7 @@ exports[`Notice should match snapshot 1`] = `
48
48
  >
49
49
  <svg
50
50
  aria-hidden="true"
51
+ fill="currentColor"
51
52
  focusable="false"
52
53
  height="24"
53
54
  viewBox="0 0 24 24"
@@ -2,6 +2,8 @@
2
2
 
3
3
  Panels expand and collapse multiple sections of content.
4
4
 
5
+ The `Panel` family is intended for the block inspector sidebar. For collapsible sections elsewhere, use the [`CollapsibleCard`](https://wordpress.github.io/gutenberg/?path=/docs/design-system-components-collapsiblecard--docs) component instead.
6
+
5
7
  ![](https://make.wordpress.org/design/files/2019/03/panel.png)
6
8
 
7
9
  ## Design guidelines
@@ -17,7 +17,6 @@ import PanelBody from '../body';
17
17
  import InputControl from '../../input-control';
18
18
 
19
19
  const meta: Meta< typeof Panel > = {
20
- tags: [ 'manifest' ],
21
20
  title: 'Components/Containers/Panel',
22
21
  id: 'components-panel',
23
22
  component: Panel,
@@ -30,7 +29,8 @@ const meta: Meta< typeof Panel > = {
30
29
  docs: { canvas: { sourceState: 'shown' } },
31
30
  componentStatus: {
32
31
  status: 'recommended',
33
- whereUsed: 'global',
32
+ whereUsed: 'editor',
33
+ notes: 'Intended for the block inspector sidebar. For collapsible sections elsewhere, use `CollapsibleCard` from `@wordpress/ui` instead.',
34
34
  },
35
35
  },
36
36
  };
@@ -40,7 +40,7 @@
40
40
  justify-content: space-between;
41
41
  align-items: center;
42
42
  padding: 0 $grid-unit-20;
43
- border-bottom: $border-width solid $gray-300;
43
+ border-bottom: $border-width solid var(--wpds-color-stroke-surface-neutral);
44
44
 
45
45
  // This helps ensure the correct panel height, including the border, avoiding subpixel rounding issues.
46
46
  box-sizing: content-box;
@@ -48,7 +48,6 @@ const Template: StoryFn< typeof Placeholder > = ( args ) => {
48
48
  <Placeholder { ...args }>
49
49
  <div>
50
50
  <TextControl
51
- __next40pxDefaultSize
52
51
  label="Sample Field"
53
52
  placeholder="Enter something here"
54
53
  value={ value }
@@ -56,7 +56,7 @@
56
56
 
57
57
  &:disabled {
58
58
  background: $components-color-gray-100;
59
- border: 1px solid $components-color-gray-300;
59
+ border: 1px solid var(--wpds-color-stroke-interactive-neutral-disabled);
60
60
  opacity: 1; // Override style from wp-admin forms.css.
61
61
 
62
62
  &:checked::before {
@@ -9,7 +9,7 @@ import { forwardRef } from '@wordpress/element';
9
9
  import clsx from 'clsx';
10
10
  import { Resizable } from 're-resizable';
11
11
  import type { ResizableProps } from 're-resizable';
12
- import type { ReactNode, ForwardedRef } from 'react';
12
+ import type { ForwardedRef } from 'react';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
@@ -88,7 +88,6 @@ const HANDLE_STYLES = {
88
88
  };
89
89
 
90
90
  type ResizableBoxProps = ResizableProps & {
91
- children: ReactNode;
92
91
  showHandle?: boolean;
93
92
  __experimentalShowTooltip?: boolean;
94
93
  __experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];
@@ -17,6 +17,23 @@ import type { SandBoxProps } from './types';
17
17
 
18
18
  type SandBoxContentProps = Omit< SandBoxProps, 'allowSameOrigin' >;
19
19
 
20
+ /**
21
+ * Matches CSS viewport-relative length values such as `100vh`, `50.5vw`,
22
+ * and `.5dvh`. Used to strip viewport units from user-supplied HTML inside
23
+ * the sandbox iframe, because those units are relative to the iframe's
24
+ * own size and would create a measurement feedback loop with the
25
+ * resize observer.
26
+ *
27
+ * Exported for tests. NOTE: an identical regex literal is duplicated
28
+ * inside `observeAndResizeJS` below because that function is serialized
29
+ * via `.toString()` and embedded into the iframe's `srcdoc` — it has no
30
+ * access to this module's scope at runtime. If you change one, change
31
+ * the other; the "is embedded in the sandbox iframe srcdoc" test
32
+ * guards against drift.
33
+ */
34
+ export const VIEWPORT_UNIT_VALUE_REGEX =
35
+ /^\d*\.?\d+(?:vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/;
36
+
20
37
  const observeAndResizeJS = function () {
21
38
  const { MutationObserver } = window;
22
39
 
@@ -58,7 +75,7 @@ const observeAndResizeJS = function () {
58
75
  [ 'width', 'height', 'minHeight', 'maxHeight' ] as const
59
76
  ).forEach( function ( style ) {
60
77
  if (
61
- /^\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(
78
+ /^\d*\.?\d+(?:vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(
62
79
  ruleOrNode.style[ style ]
63
80
  )
64
81
  ) {
@@ -11,7 +11,7 @@ import { useState } from '@wordpress/element';
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
- import SandBox from '..';
14
+ import SandBox, { VIEWPORT_UNIT_VALUE_REGEX } from '..';
15
15
 
16
16
  describe( 'SandBox', () => {
17
17
  const TestWrapper = () => {
@@ -109,4 +109,47 @@ describe( 'SandBox', () => {
109
109
  expect.stringContaining( 'https://another.super.embed' )
110
110
  );
111
111
  } );
112
+
113
+ describe( 'VIEWPORT_UNIT_VALUE_REGEX', () => {
114
+ it.each( [
115
+ '100vh',
116
+ '50vw',
117
+ '0vh',
118
+ '50.5vh',
119
+ '.5vh',
120
+ '100dvh',
121
+ '50svw',
122
+ '1lvi',
123
+ '100vmin',
124
+ '100vmax',
125
+ ] )( 'matches viewport unit value %s', ( value ) => {
126
+ expect( VIEWPORT_UNIT_VALUE_REGEX.test( value ) ).toBe( true );
127
+ } );
128
+
129
+ it.each( [
130
+ '100px',
131
+ '50%',
132
+ '100',
133
+ 'vh',
134
+ '.vh',
135
+ 'calc(100vh - 10px)',
136
+ '100 vh',
137
+ '',
138
+ ] )( 'does not match %s', ( value ) => {
139
+ expect( VIEWPORT_UNIT_VALUE_REGEX.test( value ) ).toBe( false );
140
+ } );
141
+
142
+ it( 'is embedded in the sandbox iframe srcdoc', () => {
143
+ // Guards against drift between the exported constant and
144
+ // the copy inlined into `observeAndResizeJS`, which is
145
+ // serialized via `.toString()` into the iframe srcdoc and
146
+ // cannot reference module-scope values at runtime.
147
+ render( <SandBox html="<p>x</p>" title="Regex Sync Test" /> );
148
+ const iframe =
149
+ screen.getByTitle< HTMLIFrameElement >( 'Regex Sync Test' );
150
+ const srcDoc = iframe.getAttribute( 'srcdoc' ) ?? '';
151
+
152
+ expect( srcDoc ).toContain( VIEWPORT_UNIT_VALUE_REGEX.source );
153
+ } );
154
+ } );
112
155
  } );
@@ -35,6 +35,7 @@ const commonPathProps = css`
35
35
  stroke-width: 1.5px;
36
36
  `;
37
37
 
38
+ // TODO: should use the `stroke-surface-neutral` WPDS token when refactored to SCSS modules
38
39
  export const SpinnerTrack = styled.circle`
39
40
  ${ commonPathProps };
40
41
  stroke: ${ COLORS.gray[ 300 ] };
@@ -21,15 +21,15 @@
21
21
  padding: 3px var(--wpds-dimension-padding-lg); // Use padding to offset the is-active border, this benefits Windows High Contrast mode
22
22
  margin-left: 0;
23
23
  font-weight: var(--wpds-typography-font-weight-regular);
24
- color: var(--wpds-color-fg-interactive-neutral);
24
+ color: var(--wpds-color-foreground-interactive-neutral);
25
25
 
26
26
  &:disabled,
27
27
  &[aria-disabled="true"] {
28
- color: var(--wpds-color-fg-interactive-neutral-disabled);
28
+ color: var(--wpds-color-foreground-interactive-neutral-disabled);
29
29
  }
30
30
 
31
31
  &:not(:disabled, [aria-disabled="true"]):is(:hover, :focus-visible) {
32
- color: var(--wpds-color-fg-interactive-neutral-active);
32
+ color: var(--wpds-color-foreground-interactive-neutral-active);
33
33
  }
34
34
 
35
35
  &:focus:not(:disabled) {
@@ -87,7 +87,7 @@
87
87
  &:focus-visible::before {
88
88
  box-shadow:
89
89
  0 0 0 var(--wpds-border-width-focus)
90
- var(--wpds-color-stroke-focus-brand);
90
+ var(--wpds-color-stroke-focus);
91
91
 
92
92
  // Windows high contrast mode.
93
93
  outline: 2px solid transparent;
@@ -101,7 +101,7 @@
101
101
  }
102
102
 
103
103
  &.is-active {
104
- background: var(--wpds-color-bg-interactive-neutral-weak-active);
104
+ background: var(--wpds-color-background-interactive-neutral-weak-active);
105
105
  }
106
106
  }
107
107
  }
@@ -115,7 +115,7 @@
115
115
  &:focus-visible {
116
116
  box-shadow:
117
117
  0 0 0 var(--wpds-border-width-focus)
118
- var(--wpds-color-stroke-focus-brand);
118
+ var(--wpds-color-stroke-focus);
119
119
 
120
120
  // Windows high contrast mode.
121
121
  outline: 2px solid transparent;
@@ -35,8 +35,6 @@ const TABS = [
35
35
  const getSelectedTab = async () =>
36
36
  await screen.findByRole( 'tab', { selected: true } );
37
37
 
38
- let originalGetClientRects: () => DOMRectList;
39
-
40
38
  describe.each( [
41
39
  [ 'uncontrolled', TabPanel ],
42
40
  // The controlled component tests will be added once we certify the
@@ -45,21 +43,6 @@ describe.each( [
45
43
  ] )( 'TabPanel %s', ( ...modeAndComponent ) => {
46
44
  const [ , Component ] = modeAndComponent;
47
45
 
48
- beforeAll( () => {
49
- originalGetClientRects = window.HTMLElement.prototype.getClientRects;
50
- // Mocking `getClientRects()` is necessary to pass a check performed by
51
- // the `focus.tabbable.find()` and by the `focus.focusable.find()` functions
52
- // from the `@wordpress/dom` package.
53
- // @ts-expect-error We're not trying to comply to the DOM spec, only mocking
54
- window.HTMLElement.prototype.getClientRects = function () {
55
- return [ 'trick-jsdom-into-having-size-for-element-rect' ];
56
- };
57
- } );
58
-
59
- afterAll( () => {
60
- window.HTMLElement.prototype.getClientRects = originalGetClientRects;
61
- } );
62
-
63
46
  describe( 'Accessibility and semantics', () => {
64
47
  it( 'should use the correct aria attributes', async () => {
65
48
  const panelRenderFunction = jest.fn();
@@ -7,7 +7,7 @@ import * as Ariakit from '@ariakit/react';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { useInstanceId } from '@wordpress/compose';
10
- import { useEffect, useMemo } from '@wordpress/element';
10
+ import { useMemo } from '@wordpress/element';
11
11
  import { isRTL } from '@wordpress/i18n';
12
12
 
13
13
  /**
@@ -84,31 +84,6 @@ export const Tabs = Object.assign(
84
84
  rtl: isRTL(),
85
85
  } );
86
86
 
87
- const { items, activeId } = Ariakit.useStoreState( store );
88
- const { setActiveId } = store;
89
-
90
- useEffect( () => {
91
- requestAnimationFrame( () => {
92
- const focusedElement =
93
- items?.[ 0 ]?.element?.ownerDocument.activeElement;
94
-
95
- if (
96
- ! focusedElement ||
97
- ! items.some( ( item ) => focusedElement === item.element )
98
- ) {
99
- return; // Return early if no tabs are focused.
100
- }
101
-
102
- // If, after ariakit re-computes the active tab, that tab doesn't match
103
- // the currently focused tab, then we force an update to ariakit to avoid
104
- // any mismatches, especially when navigating to previous/next tab with
105
- // arrow keys.
106
- if ( activeId !== focusedElement.id ) {
107
- setActiveId( focusedElement.id );
108
- }
109
- } );
110
- }, [ activeId, items, setActiveId ] );
111
-
112
87
  const contextValue = useMemo(
113
88
  () => ( {
114
89
  store,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import * as Ariakit from '@ariakit/react';
4
+ import { useStoreState } from '@ariakit/react';
5
5
  import clsx from 'clsx';
6
6
 
7
7
  /**
@@ -73,15 +73,14 @@ export const TabList = forwardRef<
73
73
  >( function TabList( { children, ...otherProps }, ref ) {
74
74
  const { store } = useTabsContext() ?? {};
75
75
 
76
- const selectedId = Ariakit.useStoreState( store, 'selectedId' );
77
- const activeId = Ariakit.useStoreState( store, 'activeId' );
78
- const selectOnMove = Ariakit.useStoreState( store, 'selectOnMove' );
79
- const items = Ariakit.useStoreState( store, 'items' );
76
+ const selectedId = useStoreState( store, 'selectedId' );
77
+ const selectOnMove = useStoreState( store, 'selectOnMove' );
78
+ const items = useStoreState( store, 'items' );
80
79
  const [ parent, setParent ] = useState< HTMLElement >();
81
80
  const refs = useMergeRefs( [ ref, setParent ] );
82
81
 
83
82
  const selectedItem = store?.item( selectedId );
84
- const renderedItems = Ariakit.useStoreState( store, 'renderedItems' );
83
+ const renderedItems = useStoreState( store, 'renderedItems' );
85
84
 
86
85
  const selectedItemIndex =
87
86
  renderedItems && selectedItem
@@ -110,20 +109,6 @@ export const TabList = forwardRef<
110
109
  // Make sure selected tab is scrolled into view.
111
110
  useScrollRectIntoView( parent, selectedRect );
112
111
 
113
- const onBlur = () => {
114
- if ( ! selectOnMove ) {
115
- return;
116
- }
117
-
118
- // When automatic tab selection is on, make sure that the active tab is up
119
- // to date with the selected tab when leaving the tablist. This makes sure
120
- // that the selected tab will receive keyboard focus when tabbing back into
121
- // the tablist.
122
- if ( selectedId !== activeId ) {
123
- store?.setActiveId( selectedId );
124
- }
125
- };
126
-
127
112
  if ( ! store ) {
128
113
  warning( '`Tabs.TabList` must be wrapped in a `Tabs` component.' );
129
114
  return null;
@@ -141,7 +126,6 @@ export const TabList = forwardRef<
141
126
  tabIndex={ props.tabIndex ?? -1 }
142
127
  />
143
128
  ) }
144
- onBlur={ onBlur }
145
129
  data-select-on-move={ selectOnMove ? 'true' : 'false' }
146
130
  { ...otherProps }
147
131
  className={ clsx(
@@ -176,8 +176,6 @@ const ControlledTabs = ( {
176
176
  );
177
177
  };
178
178
 
179
- let originalGetClientRects: () => DOMRectList;
180
-
181
179
  async function waitForComponentToBeInitializedWithSelectedTab(
182
180
  selectedTabName: string | undefined
183
181
  ) {
@@ -218,21 +216,6 @@ async function waitForComponentToBeInitializedWithSelectedTab(
218
216
  }
219
217
 
220
218
  describe( 'Tabs', () => {
221
- beforeAll( () => {
222
- originalGetClientRects = window.HTMLElement.prototype.getClientRects;
223
- // Mocking `getClientRects()` is necessary to pass a check performed by
224
- // the `focus.tabbable.find()` and by the `focus.focusable.find()` functions
225
- // from the `@wordpress/dom` package.
226
- // @ts-expect-error We're not trying to comply to the DOM spec, only mocking
227
- window.HTMLElement.prototype.getClientRects = function () {
228
- return [ 'trick-jsdom-into-having-size-for-element-rect' ];
229
- };
230
- } );
231
-
232
- afterAll( () => {
233
- window.HTMLElement.prototype.getClientRects = originalGetClientRects;
234
- } );
235
-
236
219
  describe( 'Adherence to spec and basic behavior', () => {
237
220
  it( 'should apply the correct roles, semantics and attributes', async () => {
238
221
  await render( <UncontrolledTabs tabs={ TABS } /> );
@@ -1465,28 +1448,24 @@ describe( 'Tabs', () => {
1465
1448
  />
1466
1449
  );
1467
1450
 
1468
- // When the selected tab is changed, focus should not be changed.
1451
+ // When the selected tab is changed by the controlling
1452
+ // component while the tablist holds focus, focus moves to
1453
+ // the newly selected tab (Gamma).
1469
1454
  expect(
1470
1455
  screen.getByRole( 'tab', {
1471
1456
  selected: true,
1472
1457
  name: 'Gamma',
1473
1458
  } )
1474
- ).toBeVisible();
1475
- expect(
1476
- screen.getByRole( 'tab', {
1477
- selected: false,
1478
- name: 'Beta',
1479
- } )
1480
1459
  ).toHaveFocus();
1481
1460
 
1482
- // Arrow left should move focus to the previous tab (alpha).
1483
- // The alpha tab should be always focused, and should be selected
1461
+ // Arrow left should move focus to the previous tab (Beta).
1462
+ // Beta should always be focused, and should be selected
1484
1463
  // when the `selectOnMove` prop is set to `true`.
1485
1464
  await press.ArrowLeft();
1486
1465
  expect(
1487
1466
  screen.getByRole( 'tab', {
1488
1467
  selected: selectOnMove,
1489
- name: 'Alpha',
1468
+ name: 'Beta',
1490
1469
  } )
1491
1470
  ).toHaveFocus();
1492
1471
  } );
@@ -1530,18 +1509,15 @@ describe( 'Tabs', () => {
1530
1509
  </>
1531
1510
  );
1532
1511
 
1533
- // When the selected tab is changed, it should not automatically receive focus.
1512
+ // When the selected tab is changed by the controlling
1513
+ // component while the tablist holds focus, focus moves to
1514
+ // the newly selected tab (Gamma), which also becomes the
1515
+ // active tab.
1534
1516
  expect(
1535
1517
  screen.getByRole( 'tab', {
1536
1518
  selected: true,
1537
1519
  name: 'Gamma',
1538
1520
  } )
1539
- ).toBeVisible();
1540
- expect(
1541
- screen.getByRole( 'tab', {
1542
- selected: false,
1543
- name: 'Beta',
1544
- } )
1545
1521
  ).toHaveFocus();
1546
1522
 
1547
1523
  // Press shift+tab, move focus to the button before Tabs
@@ -1550,18 +1526,14 @@ describe( 'Tabs', () => {
1550
1526
  screen.getByRole( 'button', { name: 'Focus me' } )
1551
1527
  ).toHaveFocus();
1552
1528
 
1553
- // Press tab, move focus back to the tablist
1529
+ // Press tab, move focus back to the tablist. Because the
1530
+ // newly selected tab became the active tab, focus returns
1531
+ // to Gamma regardless of `selectOnMove`.
1554
1532
  await press.Tab();
1555
-
1556
- const betaTab = screen.getByRole( 'tab', {
1557
- name: 'Beta',
1558
- } );
1559
- const gammaTab = screen.getByRole( 'tab', {
1560
- name: 'Gamma',
1561
- } );
1562
-
1563
1533
  expect(
1564
- selectOnMove ? gammaTab : betaTab
1534
+ screen.getByRole( 'tab', {
1535
+ name: 'Gamma',
1536
+ } )
1565
1537
  ).toHaveFocus();
1566
1538
  } );
1567
1539
  }
@@ -6,7 +6,7 @@ Snapshot Diff:
6
6
  + Base styles
7
7
 
8
8
  @@ -3,8 +3,9 @@
9
- "color": "var(--wp-components-color-foreground, #1e1e1e)",
9
+ "color": "var(--wp-components-color-foreground, var(--wpds-color-foreground-content-neutral, #1e1e1e))",
10
10
  "font-size": "calc((13 / 13) * 13px)",
11
11
  "font-weight": "normal",
12
12
  "line-height": "1.4",
@@ -19,7 +19,7 @@ Snapshot Diff:
19
19
 
20
20
  exports[`Text should render highlighted words with highlightCaseSensitive 1`] = `
21
21
  .emotion-0 {
22
- color: var(--wp-components-color-foreground, #1e1e1e);
22
+ color: var(--wp-components-color-foreground, var(--wpds-color-foreground-content-neutral, #1e1e1e));
23
23
  line-height: 1.4;
24
24
  margin: 0;
25
25
  text-wrap: pretty;
@@ -51,7 +51,7 @@ exports[`Text should render highlighted words with highlightCaseSensitive 1`] =
51
51
 
52
52
  exports[`Text snapshot tests should render correctly 1`] = `
53
53
  .emotion-0 {
54
- color: var(--wp-components-color-foreground, #1e1e1e);
54
+ color: var(--wp-components-color-foreground, var(--wpds-color-foreground-content-neutral, #1e1e1e));
55
55
  line-height: 1.4;
56
56
  margin: 0;
57
57
  text-wrap: pretty;
@@ -62,7 +62,6 @@ const MyTextControl = () => {
62
62
 
63
63
  return (
64
64
  <TextControl
65
- __next40pxDefaultSize
66
65
  label="Additional CSS Class"
67
66
  value={ className }
68
67
  onChange={ ( value ) => setClassName( value ) }
@@ -127,14 +126,6 @@ A function that receives the value of the input.
127
126
  - Type: `function`
128
127
  - Required: Yes
129
128
 
130
- #### __next40pxDefaultSize
131
-
132
- Start opting into the larger default height that will become the default size in a future version.
133
-
134
- - Type: `Boolean`
135
- - Required: No
136
- - Default: `false`
137
-
138
129
  ## Related components
139
130
 
140
131
  - To offer users more constrained options for input, use SelectControl, RadioControl, CheckboxControl, or RangeControl.