@wordpress/components 28.4.0 → 28.6.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 (698) hide show
  1. package/CHANGELOG.md +113 -1
  2. package/CONTRIBUTING.md +155 -64
  3. package/build/alignment-matrix-control/cell.js +2 -2
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/index.js +6 -5
  6. package/build/alignment-matrix-control/index.js.map +1 -1
  7. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -17
  8. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  10. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  11. package/build/autocomplete/autocompleter-ui.js +2 -0
  12. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  13. package/build/base-control/index.js +54 -41
  14. package/build/base-control/index.js.map +1 -1
  15. package/build/base-control/styles/base-control-styles.js +8 -8
  16. package/build/base-control/styles/base-control-styles.js.map +1 -1
  17. package/build/base-control/types.js.map +1 -1
  18. package/build/border-control/styles.js +18 -24
  19. package/build/border-control/styles.js.map +1 -1
  20. package/build/checkbox-control/index.js +1 -0
  21. package/build/checkbox-control/index.js.map +1 -1
  22. package/build/circular-option-picker/circular-option-picker-option.js +4 -4
  23. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  24. package/build/circular-option-picker/circular-option-picker.js +3 -3
  25. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  26. package/build/circular-option-picker/types.js.map +1 -1
  27. package/build/color-palette/index.js +1 -1
  28. package/build/color-palette/index.js.map +1 -1
  29. package/build/color-palette/utils.js +17 -5
  30. package/build/color-palette/utils.js.map +1 -1
  31. package/build/color-picker/input-with-slider.js +1 -0
  32. package/build/color-picker/input-with-slider.js.map +1 -1
  33. package/build/combobox-control/index.js +1 -0
  34. package/build/combobox-control/index.js.map +1 -1
  35. package/build/composite/context.js +19 -0
  36. package/build/composite/context.js.map +1 -0
  37. package/build/composite/index.js +287 -9
  38. package/build/composite/index.js.map +1 -1
  39. package/build/composite/legacy/index.js +10 -8
  40. package/build/composite/legacy/index.js.map +1 -1
  41. package/build/composite/types.js +6 -0
  42. package/build/composite/types.js.map +1 -0
  43. package/build/custom-select-control/index.js +37 -14
  44. package/build/custom-select-control/index.js.map +1 -1
  45. package/build/custom-select-control/types.js.map +1 -1
  46. package/build/custom-select-control-v2/custom-select.js +3 -2
  47. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  48. package/build/custom-select-control-v2/styles.js +9 -9
  49. package/build/custom-select-control-v2/styles.js.map +1 -1
  50. package/build/date-time/index.js +0 -7
  51. package/build/date-time/index.js.map +1 -1
  52. package/build/date-time/time/index.js +77 -41
  53. package/build/date-time/time/index.js.map +1 -1
  54. package/build/date-time/time/styles.js +11 -11
  55. package/build/date-time/time/styles.js.map +1 -1
  56. package/build/date-time/{time-input → time/time-input}/index.js +7 -7
  57. package/build/date-time/time/time-input/index.js.map +1 -0
  58. package/build/date-time/types.js.map +1 -1
  59. package/build/dimension-control/index.js +25 -8
  60. package/build/dimension-control/index.js.map +1 -1
  61. package/build/dimension-control/types.js.map +1 -1
  62. package/build/dropdown-menu-v2/index.js +3 -2
  63. package/build/dropdown-menu-v2/index.js.map +1 -1
  64. package/build/dropdown-menu-v2/styles.js +23 -21
  65. package/build/dropdown-menu-v2/styles.js.map +1 -1
  66. package/build/focal-point-picker/controls.js +1 -3
  67. package/build/focal-point-picker/controls.js.map +1 -1
  68. package/build/focal-point-picker/index.js +1 -2
  69. package/build/focal-point-picker/index.js.map +1 -1
  70. package/build/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  71. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  72. package/build/focal-point-picker/types.js.map +1 -1
  73. package/build/form-file-upload/types.js.map +1 -1
  74. package/build/form-toggle/index.js +24 -24
  75. package/build/form-toggle/index.js.map +1 -1
  76. package/build/guide/index.js +2 -0
  77. package/build/guide/index.js.map +1 -1
  78. package/build/heading/types.js.map +1 -1
  79. package/build/index.js +5 -5
  80. package/build/index.js.map +1 -1
  81. package/build/item-group/styles.js +11 -11
  82. package/build/item-group/styles.js.map +1 -1
  83. package/build/mobile/utils/alignments.native.js +1 -1
  84. package/build/mobile/utils/alignments.native.js.map +1 -1
  85. package/build/modal/index.js +18 -11
  86. package/build/modal/index.js.map +1 -1
  87. package/build/navigator/navigator-back-button/component.js +1 -1
  88. package/build/navigator/navigator-back-button/component.js.map +1 -1
  89. package/build/navigator/navigator-back-button/hook.js +3 -9
  90. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  91. package/build/navigator/navigator-provider/component.js +17 -9
  92. package/build/navigator/navigator-provider/component.js.map +1 -1
  93. package/build/navigator/navigator-to-parent-button/component.js +13 -40
  94. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  95. package/build/navigator/types.js.map +1 -1
  96. package/build/palette-edit/styles.js +11 -11
  97. package/build/palette-edit/styles.js.map +1 -1
  98. package/build/popover/index.js +6 -1
  99. package/build/popover/index.js.map +1 -1
  100. package/build/private-apis.js +6 -6
  101. package/build/private-apis.js.map +1 -1
  102. package/build/progress-bar/styles.js +5 -5
  103. package/build/progress-bar/styles.js.map +1 -1
  104. package/build/query-controls/index.js +6 -7
  105. package/build/query-controls/index.js.map +1 -1
  106. package/build/query-controls/types.js.map +1 -1
  107. package/build/radio-control/index.js +43 -15
  108. package/build/radio-control/index.js.map +1 -1
  109. package/build/radio-control/types.js.map +1 -1
  110. package/build/radio-group/radio.js +3 -2
  111. package/build/radio-group/radio.js.map +1 -1
  112. package/build/range-control/index.js +32 -9
  113. package/build/range-control/index.js.map +1 -1
  114. package/build/range-control/styles/range-control-styles.js +29 -29
  115. package/build/range-control/styles/range-control-styles.js.map +1 -1
  116. package/build/search-control/index.js +5 -4
  117. package/build/search-control/index.js.map +1 -1
  118. package/build/select-control/index.js +21 -8
  119. package/build/select-control/index.js.map +1 -1
  120. package/build/select-control/types.js.map +1 -1
  121. package/build/tab-panel/index.js +3 -2
  122. package/build/tab-panel/index.js.map +1 -1
  123. package/build/tabs/index.js +3 -2
  124. package/build/tabs/index.js.map +1 -1
  125. package/build/tabs/tablist.js +6 -4
  126. package/build/tabs/tablist.js.map +1 -1
  127. package/build/tabs/tabpanel.js +6 -1
  128. package/build/tabs/tabpanel.js.map +1 -1
  129. package/build/text/styles.js +7 -7
  130. package/build/text/styles.js.map +1 -1
  131. package/build/text-control/index.js +2 -0
  132. package/build/text-control/index.js.map +1 -1
  133. package/build/textarea-control/index.js +1 -0
  134. package/build/textarea-control/index.js.map +1 -1
  135. package/build/textarea-control/styles/textarea-control-styles.js +8 -2
  136. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  137. package/build/toggle-control/index.js +35 -25
  138. package/build/toggle-control/index.js.map +1 -1
  139. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +3 -2
  140. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  141. package/build/toggle-group-control/toggle-group-control/component.js +7 -1
  142. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  143. package/build/toggle-group-control/toggle-group-control/styles.js +7 -7
  144. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  145. package/build/toggle-group-control/toggle-group-control-option/component.js +6 -1
  146. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  147. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  148. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  149. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +14 -14
  150. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  151. package/build/tools-panel/styles.js +13 -13
  152. package/build/tools-panel/styles.js.map +1 -1
  153. package/build/tooltip/index.js +14 -2
  154. package/build/tooltip/index.js.map +1 -1
  155. package/build/tree-select/index.js +20 -8
  156. package/build/tree-select/index.js.map +1 -1
  157. package/build/unit-control/styles/unit-control-styles.js +7 -7
  158. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  159. package/build/utils/config-values.js +10 -3
  160. package/build/utils/config-values.js.map +1 -1
  161. package/build-module/alignment-matrix-control/cell.js +2 -2
  162. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  163. package/build-module/alignment-matrix-control/index.js +4 -3
  164. package/build-module/alignment-matrix-control/index.js.map +1 -1
  165. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -18
  166. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  167. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  168. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  169. package/build-module/autocomplete/autocompleter-ui.js +2 -0
  170. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  171. package/build-module/base-control/index.js +54 -42
  172. package/build-module/base-control/index.js.map +1 -1
  173. package/build-module/base-control/styles/base-control-styles.js +8 -8
  174. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  175. package/build-module/base-control/types.js.map +1 -1
  176. package/build-module/border-control/styles.js +13 -23
  177. package/build-module/border-control/styles.js.map +1 -1
  178. package/build-module/checkbox-control/index.js +1 -0
  179. package/build-module/checkbox-control/index.js.map +1 -1
  180. package/build-module/circular-option-picker/circular-option-picker-option.js +4 -4
  181. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  182. package/build-module/circular-option-picker/circular-option-picker.js +1 -1
  183. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  184. package/build-module/circular-option-picker/types.js.map +1 -1
  185. package/build-module/color-palette/index.js +1 -1
  186. package/build-module/color-palette/index.js.map +1 -1
  187. package/build-module/color-palette/utils.js +17 -5
  188. package/build-module/color-palette/utils.js.map +1 -1
  189. package/build-module/color-picker/input-with-slider.js +1 -0
  190. package/build-module/color-picker/input-with-slider.js.map +1 -1
  191. package/build-module/combobox-control/index.js +1 -0
  192. package/build-module/combobox-control/index.js.map +1 -1
  193. package/build-module/composite/context.js +12 -0
  194. package/build-module/composite/context.js.map +1 -0
  195. package/build-module/composite/index.js +284 -6
  196. package/build-module/composite/index.js.map +1 -1
  197. package/build-module/composite/legacy/index.js +10 -6
  198. package/build-module/composite/legacy/index.js.map +1 -1
  199. package/build-module/composite/types.js +2 -0
  200. package/build-module/composite/types.js.map +1 -0
  201. package/build-module/custom-select-control/index.js +38 -14
  202. package/build-module/custom-select-control/index.js.map +1 -1
  203. package/build-module/custom-select-control/types.js.map +1 -1
  204. package/build-module/custom-select-control-v2/custom-select.js +2 -1
  205. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  206. package/build-module/custom-select-control-v2/styles.js +9 -9
  207. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  208. package/build-module/date-time/index.js +1 -2
  209. package/build-module/date-time/index.js.map +1 -1
  210. package/build-module/date-time/time/index.js +77 -41
  211. package/build-module/date-time/time/index.js.map +1 -1
  212. package/build-module/date-time/time/styles.js +11 -11
  213. package/build-module/date-time/time/styles.js.map +1 -1
  214. package/build-module/date-time/{time-input → time/time-input}/index.js +7 -7
  215. package/build-module/date-time/time/time-input/index.js.map +1 -0
  216. package/build-module/date-time/types.js.map +1 -1
  217. package/build-module/dimension-control/index.js +25 -8
  218. package/build-module/dimension-control/index.js.map +1 -1
  219. package/build-module/dimension-control/types.js.map +1 -1
  220. package/build-module/dropdown-menu-v2/index.js +2 -1
  221. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  222. package/build-module/dropdown-menu-v2/styles.js +23 -21
  223. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  224. package/build-module/focal-point-picker/controls.js +1 -3
  225. package/build-module/focal-point-picker/controls.js.map +1 -1
  226. package/build-module/focal-point-picker/index.js +1 -2
  227. package/build-module/focal-point-picker/index.js.map +1 -1
  228. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  229. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  230. package/build-module/focal-point-picker/types.js.map +1 -1
  231. package/build-module/form-file-upload/types.js.map +1 -1
  232. package/build-module/form-toggle/index.js +23 -22
  233. package/build-module/form-toggle/index.js.map +1 -1
  234. package/build-module/guide/index.js +2 -0
  235. package/build-module/guide/index.js.map +1 -1
  236. package/build-module/heading/types.js.map +1 -1
  237. package/build-module/index.js +1 -1
  238. package/build-module/index.js.map +1 -1
  239. package/build-module/item-group/styles.js +11 -11
  240. package/build-module/item-group/styles.js.map +1 -1
  241. package/build-module/mobile/utils/alignments.native.js +1 -1
  242. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  243. package/build-module/modal/index.js +17 -11
  244. package/build-module/modal/index.js.map +1 -1
  245. package/build-module/navigator/navigator-back-button/component.js +1 -1
  246. package/build-module/navigator/navigator-back-button/component.js.map +1 -1
  247. package/build-module/navigator/navigator-back-button/hook.js +3 -9
  248. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  249. package/build-module/navigator/navigator-provider/component.js +17 -9
  250. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  251. package/build-module/navigator/navigator-to-parent-button/component.js +12 -41
  252. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  253. package/build-module/navigator/types.js.map +1 -1
  254. package/build-module/palette-edit/styles.js +11 -11
  255. package/build-module/palette-edit/styles.js.map +1 -1
  256. package/build-module/popover/index.js +6 -1
  257. package/build-module/popover/index.js.map +1 -1
  258. package/build-module/private-apis.js +6 -6
  259. package/build-module/private-apis.js.map +1 -1
  260. package/build-module/progress-bar/styles.js +5 -5
  261. package/build-module/progress-bar/styles.js.map +1 -1
  262. package/build-module/query-controls/index.js +6 -7
  263. package/build-module/query-controls/index.js.map +1 -1
  264. package/build-module/query-controls/types.js.map +1 -1
  265. package/build-module/radio-control/index.js +44 -17
  266. package/build-module/radio-control/index.js.map +1 -1
  267. package/build-module/radio-control/types.js.map +1 -1
  268. package/build-module/radio-group/radio.js +2 -1
  269. package/build-module/radio-group/radio.js.map +1 -1
  270. package/build-module/range-control/index.js +32 -9
  271. package/build-module/range-control/index.js.map +1 -1
  272. package/build-module/range-control/styles/range-control-styles.js +29 -29
  273. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  274. package/build-module/search-control/index.js +5 -4
  275. package/build-module/search-control/index.js.map +1 -1
  276. package/build-module/select-control/index.js +21 -8
  277. package/build-module/select-control/index.js.map +1 -1
  278. package/build-module/select-control/types.js.map +1 -1
  279. package/build-module/tab-panel/index.js +2 -1
  280. package/build-module/tab-panel/index.js.map +1 -1
  281. package/build-module/tabs/index.js +2 -1
  282. package/build-module/tabs/index.js.map +1 -1
  283. package/build-module/tabs/tablist.js +5 -3
  284. package/build-module/tabs/tablist.js.map +1 -1
  285. package/build-module/tabs/tabpanel.js +6 -2
  286. package/build-module/tabs/tabpanel.js.map +1 -1
  287. package/build-module/text/styles.js +7 -7
  288. package/build-module/text/styles.js.map +1 -1
  289. package/build-module/text-control/index.js +2 -0
  290. package/build-module/text-control/index.js.map +1 -1
  291. package/build-module/textarea-control/index.js +1 -0
  292. package/build-module/textarea-control/index.js.map +1 -1
  293. package/build-module/textarea-control/styles/textarea-control-styles.js +9 -2
  294. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  295. package/build-module/toggle-control/index.js +34 -24
  296. package/build-module/toggle-control/index.js.map +1 -1
  297. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +2 -1
  298. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  299. package/build-module/toggle-group-control/toggle-group-control/component.js +7 -1
  300. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  301. package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -7
  302. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  303. package/build-module/toggle-group-control/toggle-group-control-option/component.js +6 -1
  304. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  305. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  306. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  307. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +14 -14
  308. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  309. package/build-module/tools-panel/styles.js +13 -13
  310. package/build-module/tools-panel/styles.js.map +1 -1
  311. package/build-module/tooltip/index.js +14 -2
  312. package/build-module/tooltip/index.js.map +1 -1
  313. package/build-module/tree-select/index.js +20 -8
  314. package/build-module/tree-select/index.js.map +1 -1
  315. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  316. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  317. package/build-module/utils/config-values.js +10 -3
  318. package/build-module/utils/config-values.js.map +1 -1
  319. package/build-style/style-rtl.css +79 -33
  320. package/build-style/style.css +79 -33
  321. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  322. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -1
  323. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
  324. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  325. package/build-types/base-control/hooks.d.ts +1 -0
  326. package/build-types/base-control/hooks.d.ts.map +1 -1
  327. package/build-types/base-control/index.d.ts +44 -0
  328. package/build-types/base-control/index.d.ts.map +1 -1
  329. package/build-types/base-control/types.d.ts +7 -0
  330. package/build-types/base-control/types.d.ts.map +1 -1
  331. package/build-types/border-control/styles.d.ts.map +1 -1
  332. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  333. package/build-types/checkbox-control/index.d.ts.map +1 -1
  334. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  335. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  336. package/build-types/circular-option-picker/types.d.ts +2 -3
  337. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  338. package/build-types/color-palette/index.d.ts.map +1 -1
  339. package/build-types/color-palette/styles.d.ts +2 -2
  340. package/build-types/color-palette/utils.d.ts.map +1 -1
  341. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  342. package/build-types/color-picker/styles.d.ts +3 -1
  343. package/build-types/color-picker/styles.d.ts.map +1 -1
  344. package/build-types/combobox-control/index.d.ts.map +1 -1
  345. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  346. package/build-types/composite/context.d.ts +7 -0
  347. package/build-types/composite/context.d.ts.map +1 -0
  348. package/build-types/composite/index.d.ts +181 -1
  349. package/build-types/composite/index.d.ts.map +1 -1
  350. package/build-types/composite/legacy/index.d.ts +7 -2
  351. package/build-types/composite/legacy/index.d.ts.map +1 -1
  352. package/build-types/composite/legacy/stories/utils.d.ts +19 -0
  353. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  354. package/build-types/composite/stories/index.story.d.ts +13 -0
  355. package/build-types/composite/stories/index.story.d.ts.map +1 -0
  356. package/build-types/composite/stories/utils.d.ts +29 -0
  357. package/build-types/composite/stories/utils.d.ts.map +1 -0
  358. package/build-types/composite/types.d.ts +288 -0
  359. package/build-types/composite/types.d.ts.map +1 -0
  360. package/build-types/custom-select-control/index.d.ts +2 -2
  361. package/build-types/custom-select-control/index.d.ts.map +1 -1
  362. package/build-types/custom-select-control/stories/index.story.d.ts +3 -3
  363. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  364. package/build-types/custom-select-control/types.d.ts +7 -7
  365. package/build-types/custom-select-control/types.d.ts.map +1 -1
  366. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  367. package/build-types/custom-select-control-v2/styles.d.ts +16 -28
  368. package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
  369. package/build-types/date-time/date/styles.d.ts +2 -2
  370. package/build-types/date-time/date-time/index.d.ts +1 -1
  371. package/build-types/date-time/index.d.ts +1 -2
  372. package/build-types/date-time/index.d.ts.map +1 -1
  373. package/build-types/date-time/stories/time.story.d.ts +5 -0
  374. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  375. package/build-types/date-time/time/index.d.ts +4 -1
  376. package/build-types/date-time/time/index.d.ts.map +1 -1
  377. package/build-types/date-time/time/styles.d.ts.map +1 -1
  378. package/build-types/date-time/{time-input → time/time-input}/index.d.ts +1 -1
  379. package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
  380. package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
  381. package/build-types/date-time/types.d.ts +7 -1
  382. package/build-types/date-time/types.d.ts.map +1 -1
  383. package/build-types/dimension-control/index.d.ts +1 -0
  384. package/build-types/dimension-control/index.d.ts.map +1 -1
  385. package/build-types/dimension-control/stories/index.story.d.ts +8 -1
  386. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  387. package/build-types/dimension-control/types.d.ts +2 -7
  388. package/build-types/dimension-control/types.d.ts.map +1 -1
  389. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  390. package/build-types/dropdown-menu-v2/styles.d.ts +24 -42
  391. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  392. package/build-types/focal-point-picker/controls.d.ts +1 -1
  393. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  394. package/build-types/focal-point-picker/index.d.ts +1 -1
  395. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  396. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  397. package/build-types/focal-point-picker/types.d.ts +2 -2
  398. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  399. package/build-types/form-file-upload/types.d.ts +6 -0
  400. package/build-types/form-file-upload/types.d.ts.map +1 -1
  401. package/build-types/form-toggle/index.d.ts +2 -5
  402. package/build-types/form-toggle/index.d.ts.map +1 -1
  403. package/build-types/guide/index.d.ts.map +1 -1
  404. package/build-types/heading/component.d.ts +1 -1
  405. package/build-types/heading/types.d.ts +1 -1
  406. package/build-types/heading/types.d.ts.map +1 -1
  407. package/build-types/index.d.ts +1 -1
  408. package/build-types/index.d.ts.map +1 -1
  409. package/build-types/modal/index.d.ts.map +1 -1
  410. package/build-types/navigation/styles/navigation-styles.d.ts +2 -2
  411. package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
  412. package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
  413. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  414. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  415. package/build-types/navigator/navigator-to-parent-button/component.d.ts +6 -0
  416. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  417. package/build-types/navigator/types.d.ts +45 -9
  418. package/build-types/navigator/types.d.ts.map +1 -1
  419. package/build-types/palette-edit/styles.d.ts +2 -2
  420. package/build-types/popover/index.d.ts +1 -1
  421. package/build-types/popover/index.d.ts.map +1 -1
  422. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  423. package/build-types/private-apis.d.ts.map +1 -1
  424. package/build-types/query-controls/index.d.ts +1 -1
  425. package/build-types/query-controls/index.d.ts.map +1 -1
  426. package/build-types/query-controls/types.d.ts +2 -1
  427. package/build-types/query-controls/types.d.ts.map +1 -1
  428. package/build-types/radio-control/index.d.ts.map +1 -1
  429. package/build-types/radio-control/stories/index.story.d.ts +1 -0
  430. package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
  431. package/build-types/radio-control/test/index.d.ts +2 -0
  432. package/build-types/radio-control/test/index.d.ts.map +1 -0
  433. package/build-types/radio-control/types.d.ts +4 -0
  434. package/build-types/radio-control/types.d.ts.map +1 -1
  435. package/build-types/radio-group/radio.d.ts.map +1 -1
  436. package/build-types/range-control/index.d.ts.map +1 -1
  437. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  438. package/build-types/search-control/index.d.ts.map +1 -1
  439. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  440. package/build-types/select-control/index.d.ts +4 -1
  441. package/build-types/select-control/index.d.ts.map +1 -1
  442. package/build-types/select-control/stories/index.story.d.ts +13 -5
  443. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  444. package/build-types/select-control/types.d.ts +27 -27
  445. package/build-types/select-control/types.d.ts.map +1 -1
  446. package/build-types/tab-panel/index.d.ts.map +1 -1
  447. package/build-types/tabs/index.d.ts.map +1 -1
  448. package/build-types/tabs/styles.d.ts +8 -14
  449. package/build-types/tabs/styles.d.ts.map +1 -1
  450. package/build-types/tabs/tablist.d.ts.map +1 -1
  451. package/build-types/tabs/tabpanel.d.ts +0 -3
  452. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  453. package/build-types/text-control/index.d.ts +1 -0
  454. package/build-types/text-control/index.d.ts.map +1 -1
  455. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  456. package/build-types/textarea-control/index.d.ts.map +1 -1
  457. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  458. package/build-types/toggle-control/index.d.ts +3 -9
  459. package/build-types/toggle-control/index.d.ts.map +1 -1
  460. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  461. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  462. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -1
  463. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  464. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -1
  465. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  466. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +14 -14
  467. package/build-types/tooltip/index.d.ts.map +1 -1
  468. package/build-types/tooltip/test/utils/index.d.ts +1 -5
  469. package/build-types/tooltip/test/utils/index.d.ts.map +1 -1
  470. package/build-types/tree-select/index.d.ts +1 -1
  471. package/build-types/tree-select/index.d.ts.map +1 -1
  472. package/build-types/utils/config-values.d.ts +10 -3
  473. package/package.json +20 -20
  474. package/src/alignment-matrix-control/cell.tsx +3 -3
  475. package/src/alignment-matrix-control/index.tsx +5 -4
  476. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +2 -2
  477. package/src/alignment-matrix-control/test/index.tsx +1 -3
  478. package/src/angle-picker-control/styles/angle-picker-control-styles.tsx +2 -2
  479. package/src/autocomplete/autocompleter-ui.tsx +2 -0
  480. package/src/autocomplete/style.scss +0 -6
  481. package/src/base-control/README.md +5 -2
  482. package/src/base-control/index.tsx +61 -41
  483. package/src/base-control/styles/base-control-styles.ts +1 -1
  484. package/src/base-control/types.ts +7 -0
  485. package/src/border-box-control/border-box-control/README.md +7 -0
  486. package/src/border-control/border-control/README.md +7 -0
  487. package/src/border-control/styles.ts +1 -6
  488. package/src/button/README.md +7 -0
  489. package/src/button/stories/e2e/index.story.tsx +103 -21
  490. package/src/button/style.scss +51 -23
  491. package/src/button/test/index.tsx +18 -40
  492. package/src/button-group/style.scss +2 -2
  493. package/src/checkbox-control/index.tsx +1 -0
  494. package/src/checkbox-control/stories/index.story.tsx +1 -0
  495. package/src/checkbox-control/test/index.tsx +8 -1
  496. package/src/circular-option-picker/circular-option-picker-option.tsx +8 -6
  497. package/src/circular-option-picker/circular-option-picker.tsx +1 -1
  498. package/src/circular-option-picker/style.scss +3 -3
  499. package/src/circular-option-picker/test/index.tsx +1 -4
  500. package/src/circular-option-picker/types.ts +2 -3
  501. package/src/color-indicator/style.scss +1 -1
  502. package/src/color-palette/index.tsx +22 -20
  503. package/src/color-palette/style.scss +2 -2
  504. package/src/color-palette/utils.ts +23 -10
  505. package/src/color-picker/input-with-slider.tsx +1 -0
  506. package/src/combobox-control/README.md +8 -0
  507. package/src/combobox-control/index.tsx +1 -0
  508. package/src/combobox-control/stories/index.story.tsx +3 -4
  509. package/src/combobox-control/test/index.tsx +5 -1
  510. package/src/composite/README.md +325 -0
  511. package/src/composite/context.ts +14 -0
  512. package/src/composite/index.tsx +341 -0
  513. package/src/composite/legacy/index.tsx +15 -14
  514. package/src/composite/legacy/stories/utils.tsx +19 -0
  515. package/src/composite/legacy/test/index.tsx +2 -18
  516. package/src/composite/stories/index.story.tsx +466 -0
  517. package/src/composite/{current/stories → stories}/utils.tsx +22 -7
  518. package/src/composite/types.ts +298 -0
  519. package/src/custom-gradient-picker/style.scss +2 -2
  520. package/src/custom-select-control/README.md +7 -0
  521. package/src/custom-select-control/index.tsx +55 -25
  522. package/src/custom-select-control/test/index.tsx +172 -30
  523. package/src/custom-select-control/types.ts +7 -7
  524. package/src/custom-select-control-v2/custom-select.tsx +2 -1
  525. package/src/custom-select-control-v2/styles.ts +7 -6
  526. package/src/custom-select-control-v2/test/index.tsx +15 -19
  527. package/src/date-time/index.ts +1 -2
  528. package/src/date-time/stories/time.story.tsx +17 -0
  529. package/src/date-time/time/index.tsx +72 -28
  530. package/src/date-time/time/styles.ts +1 -0
  531. package/src/date-time/{time-input → time/time-input}/index.tsx +9 -9
  532. package/src/date-time/types.ts +11 -1
  533. package/src/dimension-control/README.md +17 -0
  534. package/src/dimension-control/index.tsx +26 -9
  535. package/src/dimension-control/stories/index.story.tsx +1 -0
  536. package/src/dimension-control/test/__snapshots__/index.test.js.snap +0 -16
  537. package/src/dimension-control/test/index.test.js +5 -1
  538. package/src/dimension-control/types.ts +5 -7
  539. package/src/drop-zone/style.scss +1 -1
  540. package/src/dropdown-menu-v2/index.tsx +5 -3
  541. package/src/dropdown-menu-v2/styles.ts +35 -32
  542. package/src/dropdown-menu-v2/test/index.tsx +1 -4
  543. package/src/focal-point-picker/README.md +9 -1
  544. package/src/focal-point-picker/controls.tsx +1 -3
  545. package/src/focal-point-picker/index.tsx +1 -2
  546. package/src/focal-point-picker/stories/index.story.tsx +3 -0
  547. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  548. package/src/focal-point-picker/test/index.tsx +5 -1
  549. package/src/focal-point-picker/types.ts +2 -2
  550. package/src/font-size-picker/README.md +7 -0
  551. package/src/font-size-picker/test/index.tsx +50 -43
  552. package/src/form-file-upload/README.md +8 -0
  553. package/src/form-file-upload/types.ts +6 -0
  554. package/src/form-toggle/index.tsx +23 -21
  555. package/src/form-token-field/README.md +1 -0
  556. package/src/guide/index.tsx +2 -0
  557. package/src/guide/style.scss +0 -1
  558. package/src/heading/types.ts +1 -4
  559. package/src/index.ts +1 -1
  560. package/src/input-control/README.md +8 -0
  561. package/src/item-group/styles.ts +1 -1
  562. package/src/mobile/utils/alignments.native.js +1 -0
  563. package/src/modal/index.tsx +21 -20
  564. package/src/modal/style.scss +3 -3
  565. package/src/navigator/navigator-back-button/component.tsx +1 -1
  566. package/src/navigator/navigator-back-button/hook.ts +6 -10
  567. package/src/navigator/navigator-provider/README.md +38 -36
  568. package/src/navigator/navigator-provider/component.tsx +13 -7
  569. package/src/navigator/navigator-screen/README.md +13 -1
  570. package/src/navigator/navigator-to-parent-button/README.md +2 -0
  571. package/src/navigator/navigator-to-parent-button/component.tsx +14 -43
  572. package/src/navigator/test/index.tsx +136 -6
  573. package/src/navigator/types.ts +45 -10
  574. package/src/number-control/README.md +8 -0
  575. package/src/palette-edit/styles.ts +5 -5
  576. package/src/placeholder/style.scss +15 -3
  577. package/src/popover/index.tsx +9 -3
  578. package/src/popover/style.scss +2 -2
  579. package/src/popover/test/index.tsx +34 -0
  580. package/src/private-apis.ts +6 -12
  581. package/src/progress-bar/styles.ts +2 -2
  582. package/src/query-controls/README.md +7 -0
  583. package/src/query-controls/index.tsx +10 -7
  584. package/src/query-controls/types.ts +2 -1
  585. package/src/radio-control/index.tsx +62 -13
  586. package/src/radio-control/stories/index.story.tsx +23 -0
  587. package/src/radio-control/style.scss +38 -3
  588. package/src/radio-control/test/index.tsx +277 -0
  589. package/src/radio-control/types.ts +4 -0
  590. package/src/radio-group/radio.tsx +2 -1
  591. package/src/range-control/README.md +7 -0
  592. package/src/range-control/index.tsx +39 -9
  593. package/src/range-control/stories/index.story.tsx +7 -0
  594. package/src/range-control/styles/range-control-styles.ts +2 -2
  595. package/src/range-control/test/index.tsx +54 -14
  596. package/src/search-control/index.tsx +7 -4
  597. package/src/search-control/stories/index.story.tsx +1 -0
  598. package/src/search-control/test/index.tsx +1 -0
  599. package/src/select-control/README.md +16 -1
  600. package/src/select-control/index.tsx +34 -22
  601. package/src/select-control/stories/index.story.tsx +8 -5
  602. package/src/select-control/test/select-control.tsx +155 -5
  603. package/src/select-control/types.ts +70 -65
  604. package/src/snackbar/style.scss +2 -2
  605. package/src/tab-panel/index.tsx +4 -1
  606. package/src/tab-panel/style.scss +1 -1
  607. package/src/tab-panel/test/index.tsx +1 -8
  608. package/src/tabs/index.tsx +2 -1
  609. package/src/tabs/tablist.tsx +6 -4
  610. package/src/tabs/tabpanel.tsx +6 -2
  611. package/src/tabs/test/index.tsx +68 -84
  612. package/src/text/styles.ts +1 -1
  613. package/src/text-control/README.md +9 -0
  614. package/src/text-control/index.tsx +2 -0
  615. package/src/text-control/stories/index.story.tsx +3 -1
  616. package/src/text-control/style.scss +5 -0
  617. package/src/text-control/test/text-control.tsx +5 -1
  618. package/src/textarea-control/index.tsx +1 -0
  619. package/src/textarea-control/stories/index.story.tsx +2 -0
  620. package/src/textarea-control/styles/textarea-control-styles.ts +75 -2
  621. package/src/toggle-control/README.md +9 -0
  622. package/src/toggle-control/index.tsx +34 -22
  623. package/src/toggle-control/stories/index.story.tsx +1 -0
  624. package/src/toggle-control/style.scss +2 -1
  625. package/src/toggle-control/test/index.tsx +7 -1
  626. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +14 -30
  627. package/src/toggle-group-control/test/index.tsx +5 -7
  628. package/src/toggle-group-control/toggle-group-control/README.md +20 -1
  629. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +2 -1
  630. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -1
  631. package/src/toggle-group-control/toggle-group-control/styles.ts +1 -1
  632. package/src/toggle-group-control/toggle-group-control-option/README.md +6 -1
  633. package/src/toggle-group-control/toggle-group-control-option/component.tsx +6 -1
  634. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +2 -2
  635. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  636. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +14 -14
  637. package/src/toolbar/toolbar/style.scss +2 -2
  638. package/src/tools-panel/styles.ts +1 -1
  639. package/src/tooltip/index.tsx +16 -2
  640. package/src/tooltip/style.scss +1 -1
  641. package/src/tooltip/test/index.tsx +0 -5
  642. package/src/tooltip/test/utils/index.tsx +5 -5
  643. package/src/tree-select/index.tsx +17 -7
  644. package/src/tree-select/stories/index.story.tsx +1 -0
  645. package/src/unit-control/README.md +7 -0
  646. package/src/unit-control/styles/unit-control-styles.ts +1 -1
  647. package/src/utils/config-values.js +10 -3
  648. package/tsconfig.tsbuildinfo +1 -1
  649. package/build/composite/current/index.js +0 -43
  650. package/build/composite/current/index.js.map +0 -1
  651. package/build/composite/v2.js +0 -17
  652. package/build/composite/v2.js.map +0 -1
  653. package/build/date-time/time-input/index.js.map +0 -1
  654. package/build/utils/input/base.js +0 -20
  655. package/build/utils/input/base.js.map +0 -1
  656. package/build/utils/input/index.js +0 -17
  657. package/build/utils/input/index.js.map +0 -1
  658. package/build/utils/input/input-control.js +0 -21
  659. package/build/utils/input/input-control.js.map +0 -1
  660. package/build-module/composite/current/index.js +0 -12
  661. package/build-module/composite/current/index.js.map +0 -1
  662. package/build-module/composite/v2.js +0 -5
  663. package/build-module/composite/v2.js.map +0 -1
  664. package/build-module/date-time/time-input/index.js.map +0 -1
  665. package/build-module/utils/input/base.js +0 -13
  666. package/build-module/utils/input/base.js.map +0 -1
  667. package/build-module/utils/input/index.js +0 -2
  668. package/build-module/utils/input/index.js.map +0 -1
  669. package/build-module/utils/input/input-control.js +0 -14
  670. package/build-module/utils/input/input-control.js.map +0 -1
  671. package/build-types/composite/current/index.d.ts +0 -12
  672. package/build-types/composite/current/index.d.ts.map +0 -1
  673. package/build-types/composite/current/stories/index.story.d.ts +0 -13
  674. package/build-types/composite/current/stories/index.story.d.ts.map +0 -1
  675. package/build-types/composite/current/stories/utils.d.ts +0 -14
  676. package/build-types/composite/current/stories/utils.d.ts.map +0 -1
  677. package/build-types/composite/v2.d.ts +0 -2
  678. package/build-types/composite/v2.d.ts.map +0 -1
  679. package/build-types/date-time/stories/time-input.story.d.ts +0 -12
  680. package/build-types/date-time/stories/time-input.story.d.ts.map +0 -1
  681. package/build-types/date-time/time-input/index.d.ts.map +0 -1
  682. package/build-types/date-time/time-input/test/index.d.ts.map +0 -1
  683. package/build-types/utils/input/base.d.ts +0 -3
  684. package/build-types/utils/input/base.d.ts.map +0 -1
  685. package/build-types/utils/input/index.d.ts +0 -2
  686. package/build-types/utils/input/index.d.ts.map +0 -1
  687. package/build-types/utils/input/input-control.d.ts +0 -2
  688. package/build-types/utils/input/input-control.d.ts.map +0 -1
  689. package/src/composite/current/index.ts +0 -20
  690. package/src/composite/current/stories/index.story.tsx +0 -86
  691. package/src/composite/index.ts +0 -7
  692. package/src/composite/v2.ts +0 -4
  693. package/src/date-time/stories/time-input.story.tsx +0 -36
  694. package/src/utils/input/base.js +0 -30
  695. package/src/utils/input/index.js +0 -1
  696. package/src/utils/input/input-control.js +0 -63
  697. /package/build-types/date-time/{time-input → time/time-input}/test/index.d.ts +0 -0
  698. /package/src/date-time/{time-input → time/time-input}/test/index.tsx +0 -0
@@ -10,31 +10,27 @@ import type { WordPressComponentProps } from '../../context';
10
10
  import { useContextSystem } from '../../context';
11
11
  import Button from '../../button';
12
12
  import useNavigator from '../use-navigator';
13
- import type { NavigatorBackButtonHookProps } from '../types';
13
+ import type { NavigatorBackButtonProps } from '../types';
14
14
 
15
15
  export function useNavigatorBackButton(
16
- props: WordPressComponentProps< NavigatorBackButtonHookProps, 'button' >
16
+ props: WordPressComponentProps< NavigatorBackButtonProps, 'button' >
17
17
  ) {
18
18
  const {
19
19
  onClick,
20
20
  as = Button,
21
- goToParent: goToParentProp = false,
21
+
22
22
  ...otherProps
23
23
  } = useContextSystem( props, 'NavigatorBackButton' );
24
24
 
25
- const { goBack, goToParent } = useNavigator();
25
+ const { goBack } = useNavigator();
26
26
  const handleClick: React.MouseEventHandler< HTMLButtonElement > =
27
27
  useCallback(
28
28
  ( e ) => {
29
29
  e.preventDefault();
30
- if ( goToParentProp ) {
31
- goToParent();
32
- } else {
33
- goBack();
34
- }
30
+ goBack();
35
31
  onClick?.( e );
36
32
  },
37
- [ goToParentProp, goToParent, goBack, onClick ]
33
+ [ goBack, onClick ]
38
34
  );
39
35
 
40
36
  return {
@@ -10,38 +10,42 @@ The `NavigatorProvider` component allows rendering nested views/panels/menus (vi
10
10
 
11
11
  ```jsx
12
12
  import {
13
- __experimentalNavigatorProvider as NavigatorProvider,
14
- __experimentalNavigatorScreen as NavigatorScreen,
15
- __experimentalNavigatorButton as NavigatorButton,
16
- __experimentalNavigatorToParentButton as NavigatorToParentButton,
13
+ __experimentalNavigatorProvider as NavigatorProvider,
14
+ __experimentalNavigatorScreen as NavigatorScreen,
15
+ __experimentalNavigatorButton as NavigatorButton,
16
+ __experimentalNavigatorBackButton as NavigatorBackButton,
17
17
  } from '@wordpress/components';
18
18
 
19
19
  const MyNavigation = () => (
20
- <NavigatorProvider initialPath="/">
21
- <NavigatorScreen path="/">
22
- <p>This is the home screen.</p>
23
- <NavigatorButton path="/child">
24
- Navigate to child screen.
25
- </NavigatorButton>
26
- </NavigatorScreen>
27
-
28
- <NavigatorScreen path="/child">
29
- <p>This is the child screen.</p>
30
- <NavigatorToParentButton>
31
- Go back
32
- </NavigatorToParentButton>
33
- </NavigatorScreen>
34
- </NavigatorProvider>
20
+ <NavigatorProvider initialPath="/">
21
+ <NavigatorScreen path="/">
22
+ <p>This is the home screen.</p>
23
+ <NavigatorButton path="/child">
24
+ Navigate to child screen.
25
+ </NavigatorButton>
26
+ </NavigatorScreen>
27
+
28
+ <NavigatorScreen path="/child">
29
+ <p>This is the child screen.</p>
30
+ <NavigatorBackButton>Go back</NavigatorBackButton>
31
+ </NavigatorScreen>
32
+ </NavigatorProvider>
35
33
  );
36
34
  ```
35
+
37
36
  **Important note**
38
37
 
39
- Parent/child navigation only works if the path you define are hierarchical, following a URL-like scheme where each path segment is separated by the `/` character.
38
+ `Navigator` assumes that screens are organized hierarchically according to their `path`, which should follow a URL-like scheme where each path segment starts with and is separated by the `/` character.
39
+
40
+ `Navigator` will treat "back" navigations as going to the parent screen — it is therefore responsibility of the consumer of the component to create the correct screen hierarchy.
41
+
40
42
  For example:
41
- - `/` is the root of all paths. There should always be a screen with `path="/"`.
42
- - `/parent/child` is a child of `/parent`.
43
- - `/parent/child/grand-child` is a child of `/parent/child`.
44
- - `/parent/:param` is a child of `/parent` as well.
43
+
44
+ - `/` is the root of all paths. There should always be a screen with `path="/"`.
45
+ - `/parent/child` is a child of `/parent`.
46
+ - `/parent/child/grand-child` is a child of `/parent/child`.
47
+ - `/parent/:param` is a child of `/parent` as well.
48
+ - if the current screen has a `path` with value `/parent/child/grand-child`, when going "back" `Navigator` will try to recursively navigate the path hierarchy until a matching screen (or the root `/`) is found.
45
49
 
46
50
  ## Props
47
51
 
@@ -65,28 +69,26 @@ The `goTo` function allows navigating to a given path. The second argument can a
65
69
 
66
70
  The available options are:
67
71
 
68
- - `focusTargetSelector`: `string`. An optional property used to specify the CSS selector used to restore focus on the matching element when navigating back.
69
- - `isBack`: `boolean`. An optional property used to specify whether the navigation should be considered as backwards (thus enabling focus restoration when possible, and causing the animation to be backwards too)
70
-
71
- ### `goToParent`: `() => void;`
72
+ - `focusTargetSelector`: `string`. An optional property used to specify the CSS selector used to restore focus on the matching element when navigating back;
73
+ - `isBack`: `boolean`. An optional property used to specify whether the navigation should be considered as backwards (thus enabling focus restoration when possible, and causing the animation to be backwards too);
74
+ - `skipFocus`: `boolean`. An optional property used to opt out of `Navigator`'s focus management, useful when the consumer of the component wants to manage focus themselves;
75
+ - `replace`: `boolean`. An optional property used to cause the new location to replace the current location in the stack.
72
76
 
73
- The `goToParent` function allows navigating to the parent screen.
77
+ ### `goBack`: `( path: string, options: NavigateOptions ) => void`
74
78
 
75
- Parent/child navigation only works if the path you define are hierarchical (see note above).
79
+ The `goBack` function allows navigating to the parent screen. Parent/child navigation only works if the paths you define are hierarchical (see note above).
76
80
 
77
81
  When a match is not found, the function will try to recursively navigate the path hierarchy until a matching screen (or the root `/`) are found.
78
82
 
79
- ### `goBack`: `() => void`
80
-
81
- The `goBack` function allows navigating to the previous path.
83
+ The available options are the same as for the `goTo` method, except for the `isBack` property, which is not available for the `goBack` method.
82
84
 
83
85
  ### `location`: `NavigatorLocation`
84
86
 
85
87
  The `location` object represent the current location, and has a few properties:
86
88
 
87
- - `path`: `string`. The path associated to the location.
88
- - `isBack`: `boolean`. A flag that is `true` when the current location was reached by navigating backwards in the location stack.
89
- - `isInitial`: `boolean`. A flag that is `true` only for the first (root) location in the location stack.
89
+ - `path`: `string`. The path associated to the location.
90
+ - `isBack`: `boolean`. A flag that is `true` when the current location was reached by navigating backwards in the location history.
91
+ - `isInitial`: `boolean`. A flag that is `true` only for the first (root) location in the location history.
90
92
 
91
93
  ### `params`: `Record< string, string | string[] >`
92
94
 
@@ -27,12 +27,12 @@ import type {
27
27
  Screen,
28
28
  NavigateToParentOptions,
29
29
  } from '../types';
30
+ import deprecated from '@wordpress/deprecated';
30
31
 
31
32
  type MatchedPath = ReturnType< typeof patternMatch >;
32
33
 
33
34
  type RouterAction =
34
35
  | { type: 'add' | 'remove'; screen: Screen }
35
- | { type: 'goback' }
36
36
  | { type: 'goto'; path: string; options?: NavigateOptions }
37
37
  | { type: 'gotoparent'; options?: NavigateToParentOptions };
38
38
 
@@ -160,9 +160,6 @@ function routerReducer(
160
160
  case 'remove':
161
161
  screens = removeScreen( state, action.screen );
162
162
  break;
163
- case 'goback':
164
- locationHistory = goBack( state );
165
- break;
166
163
  case 'goto':
167
164
  locationHistory = goTo( state, action.path, action.options );
168
165
  break;
@@ -223,11 +220,20 @@ function UnconnectedNavigatorProvider(
223
220
  // The methods are constant forever, create stable references to them.
224
221
  const methods = useMemo(
225
222
  () => ( {
226
- goBack: () => dispatch( { type: 'goback' } ),
223
+ // Note: calling goBack calls `goToParent` internally, as it was established
224
+ // that `goBack` should behave like `goToParent`, and `goToParent` should
225
+ // be marked as deprecated.
226
+ goBack: ( options: NavigateToParentOptions | undefined ) =>
227
+ dispatch( { type: 'gotoparent', options } ),
227
228
  goTo: ( path: string, options?: NavigateOptions ) =>
228
229
  dispatch( { type: 'goto', path, options } ),
229
- goToParent: ( options: NavigateToParentOptions | undefined ) =>
230
- dispatch( { type: 'gotoparent', options } ),
230
+ goToParent: ( options: NavigateToParentOptions | undefined ) => {
231
+ deprecated( `wp.components.useNavigator().goToParent`, {
232
+ since: '6.7',
233
+ alternative: 'wp.components.useNavigator().goBack',
234
+ } );
235
+ dispatch( { type: 'gotoparent', options } );
236
+ },
231
237
  addScreen: ( screen: Screen ) =>
232
238
  dispatch( { type: 'add', screen } ),
233
239
  removeScreen: ( screen: Screen ) =>
@@ -16,6 +16,18 @@ The component accepts the following props:
16
16
 
17
17
  ### `path`: `string`
18
18
 
19
- The screen's path, matched against the current path stored in the navigator.
19
+ The screen&quot;s path, matched against the current path stored in the navigator.
20
+
21
+ `Navigator` assumes that screens are organized hierarchically according to their `path`, which should follow a URL-like scheme where each path segment starts with and is separated by the `/` character.
22
+
23
+ `Navigator` will treat "back" navigations as going to the parent screen — it is therefore responsibility of the consumer of the component to create the correct screen hierarchy.
24
+
25
+ For example:
26
+
27
+ - `/` is the root of all paths. There should always be a screen with `path="/"`.
28
+ - `/parent/child` is a child of `/parent`.
29
+ - `/parent/child/grand-child` is a child of `/parent/child`.
30
+ - `/parent/:param` is a child of `/parent` as well.
31
+ - if the current screen has a `path` with value `/parent/child/grand-child`, when going "back" `Navigator` will try to recursively navigate the path hierarchy until a matching screen (or the root `/`) is found.
20
32
 
21
33
  - Required: Yes
@@ -4,6 +4,8 @@
4
4
  This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
5
5
  </div>
6
6
 
7
+ This component is deprecated. Please use the [`NavigatorBackButton`](/packages/components/src/navigator/navigator-back-button/README.md) component instead.
8
+
7
9
  The `NavigatorToParentButton` component can be used to navigate to a screen and should be used in combination with the [`NavigatorProvider`](/packages/components/src/navigator/navigator-provider/README.md), the [`NavigatorScreen`](/packages/components/src/navigator/navigator-screen/README.md) and the [`NavigatorButton`](/packages/components/src/navigator/navigator-button/README.md) components (or the `useNavigator` hook).
8
10
 
9
11
  ## Usage
@@ -1,62 +1,33 @@
1
1
  /**
2
- * External dependencies
2
+ * WordPress dependencies
3
3
  */
4
- import type { ForwardedRef } from 'react';
4
+ import deprecated from '@wordpress/deprecated';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
+ import { NavigatorBackButton } from '../navigator-back-button';
9
10
  import type { WordPressComponentProps } from '../../context';
10
11
  import { contextConnect } from '../../context';
11
- import { View } from '../../view';
12
- import { useNavigatorBackButton } from '../navigator-back-button/hook';
13
- import type { NavigatorToParentButtonProps } from '../types';
12
+ import type { NavigatorBackButtonProps } from '../types';
14
13
 
15
14
  function UnconnectedNavigatorToParentButton(
16
- props: WordPressComponentProps< NavigatorToParentButtonProps, 'button' >,
17
- forwardedRef: ForwardedRef< any >
15
+ props: WordPressComponentProps< NavigatorBackButtonProps, 'button' >,
16
+ forwardedRef: React.ForwardedRef< any >
18
17
  ) {
19
- const navigatorToParentButtonProps = useNavigatorBackButton( {
20
- ...props,
21
- goToParent: true,
18
+ deprecated( 'wp.components.NavigatorToParentButton', {
19
+ since: '6.7',
20
+ alternative: 'wp.components.NavigatorBackButton',
22
21
  } );
23
22
 
24
- return <View ref={ forwardedRef } { ...navigatorToParentButtonProps } />;
23
+ return <NavigatorBackButton ref={ forwardedRef } { ...props } />;
25
24
  }
26
25
 
27
- /*
28
- * The `NavigatorToParentButton` component can be used to navigate to a screen and
29
- * should be used in combination with the `NavigatorProvider`, the
30
- * `NavigatorScreen` and the `NavigatorButton` components (or the `useNavigator`
31
- * hook).
32
- *
33
- * @example
34
- * ```jsx
35
- * import {
36
- * __experimentalNavigatorProvider as NavigatorProvider,
37
- * __experimentalNavigatorScreen as NavigatorScreen,
38
- * __experimentalNavigatorButton as NavigatorButton,
39
- * __experimentalNavigatorToParentButton as NavigatorToParentButton,
40
- * } from '@wordpress/components';
41
- *
42
- * const MyNavigation = () => (
43
- * <NavigatorProvider initialPath="/">
44
- * <NavigatorScreen path="/">
45
- * <p>This is the home screen.</p>
46
- * <NavigatorButton path="/child">
47
- * Navigate to child screen.
48
- * </NavigatorButton>
49
- * </NavigatorScreen>
26
+ /**
27
+ * _Note: this component is deprecated. Please use the `NavigatorBackButton`
28
+ * component instead._
50
29
  *
51
- * <NavigatorScreen path="/child">
52
- * <p>This is the child screen.</p>
53
- * <NavigatorToParentButton>
54
- * Go to parent
55
- * </NavigatorToParentButton>
56
- * </NavigatorScreen>
57
- * </NavigatorProvider>
58
- * );
59
- * ```
30
+ * @deprecated
60
31
  */
61
32
  export const NavigatorToParentButton = contextConnect(
62
33
  UnconnectedNavigatorToParentButton,
@@ -25,8 +25,8 @@ import {
25
25
  import type { NavigateOptions } from '../types';
26
26
 
27
27
  const INVALID_HTML_ATTRIBUTE = {
28
- raw: ' "\'><=invalid_path',
29
- escaped: " &quot;'&gt;<=invalid_path",
28
+ raw: '/ "\'><=invalid_path',
29
+ escaped: "/ &quot;'&gt;<=invalid_path",
30
30
  };
31
31
 
32
32
  const PATHS = {
@@ -165,6 +165,27 @@ function CustomNavigatorToParentButton( {
165
165
  );
166
166
  }
167
167
 
168
+ function CustomNavigatorToParentButtonAlternative( {
169
+ onClick,
170
+ children,
171
+ }: {
172
+ children: React.ReactNode;
173
+ onClick?: CustomTestOnClickHandler;
174
+ } ) {
175
+ const { goToParent } = useNavigator();
176
+ return (
177
+ <button
178
+ onClick={ () => {
179
+ goToParent();
180
+ // Used to spy on the values passed to `navigator.goBack`.
181
+ onClick?.( { type: 'goToParent' } );
182
+ } }
183
+ >
184
+ { children }
185
+ </button>
186
+ );
187
+ }
188
+
168
189
  const ProductScreen = ( {
169
190
  onBackButtonClick,
170
191
  }: {
@@ -344,20 +365,20 @@ const MyHierarchicalNavigation = ( {
344
365
  >
345
366
  { BUTTON_TEXT.toNestedScreen }
346
367
  </CustomNavigatorButton>
347
- <CustomNavigatorToParentButton
368
+ <CustomNavigatorBackButton
348
369
  onClick={ onNavigatorButtonClick }
349
370
  >
350
371
  { BUTTON_TEXT.back }
351
- </CustomNavigatorToParentButton>
372
+ </CustomNavigatorBackButton>
352
373
  </NavigatorScreen>
353
374
 
354
375
  <NavigatorScreen path={ PATHS.NESTED }>
355
376
  <p>{ SCREEN_TEXT.nested }</p>
356
- <CustomNavigatorToParentButton
377
+ <CustomNavigatorBackButton
357
378
  onClick={ onNavigatorButtonClick }
358
379
  >
359
380
  { BUTTON_TEXT.back }
360
- </CustomNavigatorToParentButton>
381
+ </CustomNavigatorBackButton>
361
382
  <CustomNavigatorGoToBackButton
362
383
  path={ PATHS.CHILD }
363
384
  onClick={ onNavigatorButtonClick }
@@ -376,6 +397,66 @@ const MyHierarchicalNavigation = ( {
376
397
  );
377
398
  };
378
399
 
400
+ const MyDeprecatedNavigation = ( {
401
+ initialPath = PATHS.HOME,
402
+ onNavigatorButtonClick,
403
+ }: {
404
+ initialPath?: string;
405
+ onNavigatorButtonClick?: CustomTestOnClickHandler;
406
+ } ) => {
407
+ return (
408
+ <>
409
+ <NavigatorProvider initialPath={ initialPath }>
410
+ <NavigatorScreen path={ PATHS.HOME }>
411
+ <p>{ SCREEN_TEXT.home }</p>
412
+ { /*
413
+ * A button useful to test focus restoration. This button is the first
414
+ * tabbable item in the screen, but should not receive focus when
415
+ * navigating to screen as a result of a backwards navigation.
416
+ */ }
417
+ <button>First tabbable home screen button</button>
418
+ <CustomNavigatorButton
419
+ path={ PATHS.CHILD }
420
+ onClick={ onNavigatorButtonClick }
421
+ >
422
+ { BUTTON_TEXT.toChildScreen }
423
+ </CustomNavigatorButton>
424
+ </NavigatorScreen>
425
+
426
+ <NavigatorScreen path={ PATHS.CHILD }>
427
+ <p>{ SCREEN_TEXT.child }</p>
428
+ { /*
429
+ * A button useful to test focus restoration. This button is the first
430
+ * tabbable item in the screen, but should not receive focus when
431
+ * navigating to screen as a result of a backwards navigation.
432
+ */ }
433
+ <button>First tabbable child screen button</button>
434
+ <CustomNavigatorButton
435
+ path={ PATHS.NESTED }
436
+ onClick={ onNavigatorButtonClick }
437
+ >
438
+ { BUTTON_TEXT.toNestedScreen }
439
+ </CustomNavigatorButton>
440
+ <CustomNavigatorToParentButton
441
+ onClick={ onNavigatorButtonClick }
442
+ >
443
+ { BUTTON_TEXT.back }
444
+ </CustomNavigatorToParentButton>
445
+ </NavigatorScreen>
446
+
447
+ <NavigatorScreen path={ PATHS.NESTED }>
448
+ <p>{ SCREEN_TEXT.nested }</p>
449
+ <CustomNavigatorToParentButtonAlternative
450
+ onClick={ onNavigatorButtonClick }
451
+ >
452
+ { BUTTON_TEXT.back }
453
+ </CustomNavigatorToParentButtonAlternative>
454
+ </NavigatorScreen>
455
+ </NavigatorProvider>
456
+ </>
457
+ );
458
+ };
459
+
379
460
  const getScreen = ( screenKey: keyof typeof SCREEN_TEXT ) =>
380
461
  screen.getByText( SCREEN_TEXT[ screenKey ] );
381
462
  const queryScreen = ( screenKey: keyof typeof SCREEN_TEXT ) =>
@@ -769,4 +850,53 @@ describe( 'Navigator', () => {
769
850
  ).toHaveFocus();
770
851
  } );
771
852
  } );
853
+
854
+ describe( 'deprecated APIs', () => {
855
+ it( 'should log a deprecation notice when using the NavigatorToParentButton component', async () => {
856
+ const user = userEvent.setup();
857
+
858
+ render( <MyDeprecatedNavigation initialPath={ PATHS.CHILD } /> );
859
+
860
+ expect( getScreen( 'child' ) ).toBeInTheDocument();
861
+
862
+ // Navigate back to home screen.
863
+ // The first tabbable element receives focus, since focus restoration
864
+ // it not possible (there was no forward navigation).
865
+ await user.click( getNavigationButton( 'back' ) );
866
+ expect( getScreen( 'home' ) ).toBeInTheDocument();
867
+ expect(
868
+ screen.getByRole( 'button', {
869
+ name: 'First tabbable home screen button',
870
+ } )
871
+ ).toHaveFocus();
872
+
873
+ // Rendering `NavigatorToParentButton` logs a deprecation notice
874
+ expect( console ).toHaveWarnedWith(
875
+ 'wp.components.NavigatorToParentButton is deprecated since version 6.7. Please use wp.components.NavigatorBackButton instead.'
876
+ );
877
+ } );
878
+
879
+ it( 'should log a deprecation notice when using the useNavigator().goToParent() function', async () => {
880
+ const user = userEvent.setup();
881
+
882
+ render( <MyDeprecatedNavigation initialPath={ PATHS.NESTED } /> );
883
+
884
+ expect( getScreen( 'nested' ) ).toBeInTheDocument();
885
+
886
+ // Navigate back to child screen using the back button.
887
+ // The first tabbable element receives focus, since focus restoration
888
+ // it not possible (there was no forward navigation).
889
+ await user.click( getNavigationButton( 'back' ) );
890
+ expect( getScreen( 'child' ) ).toBeInTheDocument();
891
+ expect(
892
+ screen.getByRole( 'button', {
893
+ name: 'First tabbable child screen button',
894
+ } )
895
+ ).toHaveFocus();
896
+
897
+ expect( console ).toHaveWarnedWith(
898
+ 'wp.components.useNavigator().goToParent is deprecated since version 6.7. Please use wp.components.useNavigator().goBack instead.'
899
+ );
900
+ } );
901
+ } );
772
902
  } );
@@ -11,26 +11,70 @@ import type { ButtonAsButtonProps } from '../button/types';
11
11
  export type MatchParams = Record< string, string | string[] >;
12
12
 
13
13
  export type NavigateOptions = {
14
+ /**
15
+ * Specify the CSS selector used to restore focus on an given element when
16
+ * navigating back. When not provided, the component will attempt to restore
17
+ * focus on the element that originated the forward navigation.
18
+ */
14
19
  focusTargetSelector?: string;
20
+ /**
21
+ * Whether the navigation is a backwards navigation. This enables focus
22
+ * restoration (when possible), and causes the animation to be backwards.
23
+ */
15
24
  isBack?: boolean;
25
+ /**
26
+ * Opt out of focus management. Useful when the consumer of the component
27
+ * wants to manage focus themselves.
28
+ */
16
29
  skipFocus?: boolean;
30
+ /**
31
+ * Whether the navigation should replace the current location in the stack.
32
+ */
17
33
  replace?: boolean;
18
34
  };
19
35
 
20
36
  export type NavigateToParentOptions = Omit< NavigateOptions, 'isBack' >;
21
37
 
22
38
  export type NavigatorLocation = NavigateOptions & {
39
+ /**
40
+ * Whether the current location is the initial one (ie. first in the stack).
41
+ */
23
42
  isInitial?: boolean;
43
+ /**
44
+ * The path associated to the location.
45
+ */
24
46
  path?: string;
47
+ /**
48
+ * Whether focus was already restored for this location (in case of
49
+ * backwards navigation).
50
+ */
25
51
  hasRestoredFocus?: boolean;
26
52
  };
27
53
 
28
54
  // Returned by the `useNavigator` hook.
29
55
  export type Navigator = {
56
+ /**
57
+ * The current location.
58
+ */
30
59
  location: NavigatorLocation;
60
+ /**
61
+ * Params associated with the current location
62
+ */
31
63
  params: MatchParams;
64
+ /**
65
+ * Navigate to a new location.
66
+ */
32
67
  goTo: ( path: string, options?: NavigateOptions ) => void;
33
- goBack: () => void;
68
+ /**
69
+ * Go back to the parent location (ie. "/some/path" will navigate back
70
+ * to "/some")
71
+ */
72
+ goBack: ( options?: NavigateToParentOptions ) => void;
73
+ /**
74
+ * _Note: This function is deprecated. Please use `goBack` instead._
75
+ * @deprecated
76
+ * @ignore
77
+ */
34
78
  goToParent: ( options?: NavigateToParentOptions ) => void;
35
79
  };
36
80
 
@@ -64,15 +108,6 @@ export type NavigatorScreenProps = {
64
108
 
65
109
  export type NavigatorBackButtonProps = ButtonAsButtonProps;
66
110
 
67
- export type NavigatorBackButtonHookProps = NavigatorBackButtonProps & {
68
- /**
69
- * Whether we should navigate to the parent screen.
70
- *
71
- * @default 'false'
72
- */
73
- goToParent?: boolean;
74
- };
75
-
76
111
  export type NavigatorToParentButtonProps = NavigatorBackButtonProps;
77
112
 
78
113
  export type NavigatorButtonProps = NavigatorBackButtonProps & {
@@ -139,3 +139,11 @@ Amount by which the `value` is changed when incrementing/decrementing. It is als
139
139
  - Type: `Number | "any"`
140
140
  - Required: No
141
141
  - Default: `1`
142
+
143
+ ### __next40pxDefaultSize
144
+
145
+ Start opting into the larger default height that will become the default size in a future version.
146
+
147
+ - Type: `Boolean`
148
+ - Required: No
149
+ - Default: `false`
@@ -31,7 +31,7 @@ export const IndicatorStyled = styled( ColorIndicator )`
31
31
  export const NameInputControl = styled( InputControl )`
32
32
  ${ InputControlContainer } {
33
33
  background: ${ COLORS.gray[ 100 ] };
34
- border-radius: ${ CONFIG.controlBorderRadius };
34
+ border-radius: ${ CONFIG.radiusXSmall };
35
35
  ${ Input }${ Input }${ Input }${ Input } {
36
36
  height: ${ space( 8 ) };
37
37
  }
@@ -85,8 +85,8 @@ export const PaletteItem = styled( View )`
85
85
  outline-offset: 0;
86
86
  }
87
87
 
88
- border-top-left-radius: ${ CONFIG.controlBorderRadius };
89
- border-top-right-radius: ${ CONFIG.controlBorderRadius };
88
+ border-top-left-radius: ${ CONFIG.radiusSmall };
89
+ border-top-right-radius: ${ CONFIG.radiusSmall };
90
90
 
91
91
  & + & {
92
92
  border-top-left-radius: 0;
@@ -94,8 +94,8 @@ export const PaletteItem = styled( View )`
94
94
  }
95
95
 
96
96
  &:last-child {
97
- border-bottom-left-radius: ${ CONFIG.controlBorderRadius };
98
- border-bottom-right-radius: ${ CONFIG.controlBorderRadius };
97
+ border-bottom-left-radius: ${ CONFIG.radiusSmall };
98
+ border-bottom-right-radius: ${ CONFIG.radiusSmall };
99
99
  border-bottom-color: ${ CONFIG.surfaceBorderColor };
100
100
  }
101
101
 
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
  // Block UI appearance.
22
- border-radius: $radius-block-ui;
22
+ border-radius: $radius-small; // Match the block toolbar material radius.
23
23
  background-color: $white;
24
24
  box-shadow: inset 0 0 0 $border-width $gray-900;
25
25
  outline: 1px solid transparent; // Shown for Windows 10 High Contrast mode.
@@ -144,6 +144,9 @@
144
144
  display: flex;
145
145
  box-shadow: none;
146
146
 
147
+ // In the unselected state, radius should match Global Styles > Image > Radius.
148
+ border-radius: 0;
149
+
147
150
  // Blur the background so layered dashed placeholders are still visually separate.
148
151
  // Make the background transparent to not interfere with the background overlay in placeholder-style() pseudo element
149
152
  backdrop-filter: blur(100px);
@@ -183,8 +186,17 @@
183
186
  }
184
187
  }
185
188
 
186
- // By painting the borders here, we enable them to be replaced by the Border control.
187
- @include placeholder-style();
189
+ &::before {
190
+ content: "";
191
+ position: absolute;
192
+ top: 0;
193
+ right: 0;
194
+ bottom: 0;
195
+ left: 0;
196
+ pointer-events: none;
197
+ background: currentColor;
198
+ opacity: 0.1;
199
+ }
188
200
 
189
201
  overflow: hidden;
190
202
  .is-selected & {