@wordpress/components 28.5.0 → 28.7.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 (968) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/CONTRIBUTING.md +178 -64
  3. package/build/alignment-matrix-control/cell.js +6 -9
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +31 -19
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +57 -52
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles.js +73 -0
  10. package/build/alignment-matrix-control/styles.js.map +1 -0
  11. package/build/alignment-matrix-control/types.js.map +1 -1
  12. package/build/angle-picker-control/angle-circle.js +9 -9
  13. package/build/angle-picker-control/angle-circle.js.map +1 -1
  14. package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  15. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  16. package/build/base-control/index.js +54 -41
  17. package/build/base-control/index.js.map +1 -1
  18. package/build/base-control/types.js.map +1 -1
  19. package/build/border-control/border-control/component.js +18 -13
  20. package/build/border-control/border-control/component.js.map +1 -1
  21. package/build/border-control/styles.js +13 -13
  22. package/build/border-control/styles.js.map +1 -1
  23. package/build/checkbox-control/index.js +1 -0
  24. package/build/checkbox-control/index.js.map +1 -1
  25. package/build/circular-option-picker/circular-option-picker-option.js +17 -11
  26. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  27. package/build/circular-option-picker/circular-option-picker.js +17 -14
  28. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  29. package/build/circular-option-picker/types.js.map +1 -1
  30. package/build/clipboard-button/index.js +6 -6
  31. package/build/clipboard-button/index.js.map +1 -1
  32. package/build/color-palette/utils.js +16 -5
  33. package/build/color-palette/utils.js.map +1 -1
  34. package/build/color-picker/color-copy-button.js +8 -8
  35. package/build/color-picker/color-copy-button.js.map +1 -1
  36. package/build/color-picker/hex-input.js +8 -8
  37. package/build/color-picker/hex-input.js.map +1 -1
  38. package/build/color-picker/input-with-slider.js +9 -8
  39. package/build/color-picker/input-with-slider.js.map +1 -1
  40. package/build/color-picker/styles.js +8 -8
  41. package/build/color-picker/styles.js.map +1 -1
  42. package/build/combobox-control/index.js +1 -0
  43. package/build/combobox-control/index.js.map +1 -1
  44. package/build/combobox-control/types.js.map +1 -1
  45. package/build/composite/context.js +19 -0
  46. package/build/composite/context.js.map +1 -0
  47. package/build/composite/group-label.js +33 -0
  48. package/build/composite/group-label.js.map +1 -0
  49. package/build/composite/group.js +33 -0
  50. package/build/composite/group.js.map +1 -0
  51. package/build/composite/hover.js +33 -0
  52. package/build/composite/hover.js.map +1 -0
  53. package/build/composite/index.js +241 -9
  54. package/build/composite/index.js.map +1 -1
  55. package/build/composite/item.js +33 -0
  56. package/build/composite/item.js.map +1 -0
  57. package/build/composite/legacy/index.js +11 -8
  58. package/build/composite/legacy/index.js.map +1 -1
  59. package/build/composite/row.js +33 -0
  60. package/build/composite/row.js.map +1 -0
  61. package/build/composite/store.js +54 -0
  62. package/build/composite/store.js.map +1 -0
  63. package/build/composite/typeahead.js +33 -0
  64. package/build/composite/typeahead.js.map +1 -0
  65. package/build/composite/types.js +6 -0
  66. package/build/composite/types.js.map +1 -0
  67. package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  68. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  69. package/build/custom-select-control/types.js.map +1 -1
  70. package/build/custom-select-control-v2/custom-select.js +3 -2
  71. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  72. package/build/custom-select-control-v2/styles.js +12 -14
  73. package/build/custom-select-control-v2/styles.js.map +1 -1
  74. package/build/date-time/date/styles.js +8 -8
  75. package/build/date-time/date/styles.js.map +1 -1
  76. package/build/date-time/time/index.js +11 -3
  77. package/build/date-time/time/index.js.map +1 -1
  78. package/build/date-time/time/time-input/index.js +17 -19
  79. package/build/date-time/time/time-input/index.js.map +1 -1
  80. package/build/date-time/types.js.map +1 -1
  81. package/build/dimension-control/index.js +31 -9
  82. package/build/dimension-control/index.js.map +1 -1
  83. package/build/dimension-control/types.js.map +1 -1
  84. package/build/draggable/index.js +4 -4
  85. package/build/draggable/index.js.map +1 -1
  86. package/build/dropdown-menu-v2/checkbox-item.js +69 -0
  87. package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
  88. package/build/dropdown-menu-v2/context.js +17 -0
  89. package/build/dropdown-menu-v2/context.js.map +1 -0
  90. package/build/dropdown-menu-v2/group-label.js +40 -0
  91. package/build/dropdown-menu-v2/group-label.js.map +1 -0
  92. package/build/dropdown-menu-v2/group.js +29 -0
  93. package/build/dropdown-menu-v2/group.js.map +1 -0
  94. package/build/dropdown-menu-v2/index.js +60 -147
  95. package/build/dropdown-menu-v2/index.js.map +1 -1
  96. package/build/dropdown-menu-v2/item-help-text.js +27 -0
  97. package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
  98. package/build/dropdown-menu-v2/item-label.js +27 -0
  99. package/build/dropdown-menu-v2/item-label.js.map +1 -0
  100. package/build/dropdown-menu-v2/item.js +53 -0
  101. package/build/dropdown-menu-v2/item.js.map +1 -0
  102. package/build/dropdown-menu-v2/radio-item.js +79 -0
  103. package/build/dropdown-menu-v2/radio-item.js.map +1 -0
  104. package/build/dropdown-menu-v2/separator.js +30 -0
  105. package/build/dropdown-menu-v2/separator.js.map +1 -0
  106. package/build/dropdown-menu-v2/styles.js +63 -85
  107. package/build/dropdown-menu-v2/styles.js.map +1 -1
  108. package/build/dropdown-menu-v2/types.js.map +1 -1
  109. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
  110. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  111. package/build/focal-point-picker/controls.js +1 -3
  112. package/build/focal-point-picker/controls.js.map +1 -1
  113. package/build/focal-point-picker/index.js +1 -2
  114. package/build/focal-point-picker/index.js.map +1 -1
  115. package/build/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  116. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  117. package/build/focal-point-picker/styles/focal-point-style.js +7 -2
  118. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  119. package/build/focal-point-picker/types.js.map +1 -1
  120. package/build/form-file-upload/types.js.map +1 -1
  121. package/build/form-token-field/types.js.map +1 -1
  122. package/build/index.js +11 -5
  123. package/build/index.js.map +1 -1
  124. package/build/input-control/index.js +2 -2
  125. package/build/input-control/index.js.map +1 -1
  126. package/build/input-control/input-base.js +5 -10
  127. package/build/input-control/input-base.js.map +1 -1
  128. package/build/input-control/input-prefix-wrapper.js +3 -3
  129. package/build/input-control/input-prefix-wrapper.js.map +1 -1
  130. package/build/input-control/input-suffix-wrapper.js +2 -3
  131. package/build/input-control/input-suffix-wrapper.js.map +1 -1
  132. package/build/input-control/reducer/reducer.js +8 -8
  133. package/build/input-control/reducer/reducer.js.map +1 -1
  134. package/build/input-control/styles/input-control-styles.js +75 -45
  135. package/build/input-control/styles/input-control-styles.js.map +1 -1
  136. package/build/input-control/types.js.map +1 -1
  137. package/build/input-control/utils.js +3 -3
  138. package/build/input-control/utils.js.map +1 -1
  139. package/build/item-group/styles.js +11 -11
  140. package/build/item-group/styles.js.map +1 -1
  141. package/build/mobile/utils/alignments.native.js +1 -1
  142. package/build/mobile/utils/alignments.native.js.map +1 -1
  143. package/build/modal/index.js +5 -5
  144. package/build/modal/index.js.map +1 -1
  145. package/build/navigation/index.js +4 -4
  146. package/build/navigation/index.js.map +1 -1
  147. package/build/navigation/styles/navigation-styles.js +13 -13
  148. package/build/navigation/styles/navigation-styles.js.map +1 -1
  149. package/build/navigator/index.js +12 -13
  150. package/build/navigator/index.js.map +1 -1
  151. package/build/navigator/navigator-back-button/component.js +1 -1
  152. package/build/navigator/navigator-back-button/component.js.map +1 -1
  153. package/build/navigator/navigator-back-button/hook.js +5 -11
  154. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  155. package/build/navigator/navigator-button/hook.js +2 -2
  156. package/build/navigator/navigator-button/hook.js.map +1 -1
  157. package/build/navigator/navigator-provider/component.js +116 -76
  158. package/build/navigator/navigator-provider/component.js.map +1 -1
  159. package/build/navigator/navigator-to-parent-button/component.js +13 -40
  160. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  161. package/build/navigator/types.js.map +1 -1
  162. package/build/navigator/use-navigator.js +1 -2
  163. package/build/navigator/use-navigator.js.map +1 -1
  164. package/build/palette-edit/index.js +2 -2
  165. package/build/palette-edit/index.js.map +1 -1
  166. package/build/palette-edit/styles.js +11 -11
  167. package/build/palette-edit/styles.js.map +1 -1
  168. package/build/popover/index.js +6 -1
  169. package/build/popover/index.js.map +1 -1
  170. package/build/private-apis.js +10 -14
  171. package/build/private-apis.js.map +1 -1
  172. package/build/progress-bar/styles.js +5 -5
  173. package/build/progress-bar/styles.js.map +1 -1
  174. package/build/query-controls/index.js +5 -6
  175. package/build/query-controls/index.js.map +1 -1
  176. package/build/query-controls/types.js.map +1 -1
  177. package/build/radio-control/index.js +20 -19
  178. package/build/radio-control/index.js.map +1 -1
  179. package/build/radio-group/radio.js +3 -2
  180. package/build/radio-group/radio.js.map +1 -1
  181. package/build/range-control/index.js +32 -9
  182. package/build/range-control/index.js.map +1 -1
  183. package/build/range-control/styles/range-control-styles.js +31 -31
  184. package/build/range-control/styles/range-control-styles.js.map +1 -1
  185. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  186. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  187. package/build/search-control/index.js +5 -4
  188. package/build/search-control/index.js.map +1 -1
  189. package/build/select-control/index.js +1 -0
  190. package/build/select-control/index.js.map +1 -1
  191. package/build/select-control/styles/select-control-styles.js +12 -12
  192. package/build/select-control/styles/select-control-styles.js.map +1 -1
  193. package/build/slot-fill/bubbles-virtually/fill.js +4 -4
  194. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  195. package/build/snackbar/index.js +4 -4
  196. package/build/snackbar/index.js.map +1 -1
  197. package/build/tab-panel/index.js +3 -2
  198. package/build/tab-panel/index.js.map +1 -1
  199. package/build/tabs/index.js +7 -6
  200. package/build/tabs/index.js.map +1 -1
  201. package/build/tabs/styles.js +3 -3
  202. package/build/tabs/styles.js.map +1 -1
  203. package/build/tabs/tablist.js +6 -4
  204. package/build/tabs/tablist.js.map +1 -1
  205. package/build/tabs/tabpanel.js +6 -1
  206. package/build/tabs/tabpanel.js.map +1 -1
  207. package/build/text/styles.js +7 -7
  208. package/build/text/styles.js.map +1 -1
  209. package/build/text-control/index.js +1 -0
  210. package/build/text-control/index.js.map +1 -1
  211. package/build/textarea-control/index.js +1 -0
  212. package/build/textarea-control/index.js.map +1 -1
  213. package/build/textarea-control/styles/textarea-control-styles.js +8 -2
  214. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  215. package/build/toggle-control/index.js +9 -1
  216. package/build/toggle-control/index.js.map +1 -1
  217. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +3 -2
  218. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  219. package/build/toggle-group-control/toggle-group-control/component.js +1 -0
  220. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  221. package/build/toggle-group-control/toggle-group-control/styles.js +7 -7
  222. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  223. package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
  224. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  225. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  226. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  227. package/build/tools-panel/styles.js +13 -13
  228. package/build/tools-panel/styles.js.map +1 -1
  229. package/build/tools-panel/tools-panel/hook.js +6 -6
  230. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  231. package/build/tooltip/index.js +3 -2
  232. package/build/tooltip/index.js.map +1 -1
  233. package/build/tree-select/index.js +19 -6
  234. package/build/tree-select/index.js.map +1 -1
  235. package/build/unit-control/styles/unit-control-styles.js +7 -7
  236. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  237. package/build/utils/config-values.js +10 -7
  238. package/build/utils/config-values.js.map +1 -1
  239. package/build/utils/hooks/use-update-effect.js +4 -4
  240. package/build/utils/hooks/use-update-effect.js.map +1 -1
  241. package/build-module/alignment-matrix-control/cell.js +4 -7
  242. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  243. package/build-module/alignment-matrix-control/icon.js +31 -19
  244. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  245. package/build-module/alignment-matrix-control/index.js +56 -50
  246. package/build-module/alignment-matrix-control/index.js.map +1 -1
  247. package/build-module/alignment-matrix-control/styles.js +70 -0
  248. package/build-module/alignment-matrix-control/styles.js.map +1 -0
  249. package/build-module/alignment-matrix-control/types.js.map +1 -1
  250. package/build-module/angle-picker-control/angle-circle.js +9 -9
  251. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  252. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  253. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  254. package/build-module/base-control/index.js +54 -42
  255. package/build-module/base-control/index.js.map +1 -1
  256. package/build-module/base-control/types.js.map +1 -1
  257. package/build-module/border-control/border-control/component.js +18 -13
  258. package/build-module/border-control/border-control/component.js.map +1 -1
  259. package/build-module/border-control/styles.js +13 -13
  260. package/build-module/border-control/styles.js.map +1 -1
  261. package/build-module/checkbox-control/index.js +1 -0
  262. package/build-module/checkbox-control/index.js.map +1 -1
  263. package/build-module/circular-option-picker/circular-option-picker-option.js +18 -12
  264. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  265. package/build-module/circular-option-picker/circular-option-picker.js +16 -13
  266. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  267. package/build-module/circular-option-picker/types.js.map +1 -1
  268. package/build-module/clipboard-button/index.js +6 -6
  269. package/build-module/clipboard-button/index.js.map +1 -1
  270. package/build-module/color-palette/utils.js +16 -5
  271. package/build-module/color-palette/utils.js.map +1 -1
  272. package/build-module/color-picker/color-copy-button.js +8 -8
  273. package/build-module/color-picker/color-copy-button.js.map +1 -1
  274. package/build-module/color-picker/hex-input.js +7 -8
  275. package/build-module/color-picker/hex-input.js.map +1 -1
  276. package/build-module/color-picker/input-with-slider.js +8 -8
  277. package/build-module/color-picker/input-with-slider.js.map +1 -1
  278. package/build-module/color-picker/styles.js +8 -8
  279. package/build-module/color-picker/styles.js.map +1 -1
  280. package/build-module/combobox-control/index.js +1 -0
  281. package/build-module/combobox-control/index.js.map +1 -1
  282. package/build-module/combobox-control/types.js.map +1 -1
  283. package/build-module/composite/context.js +12 -0
  284. package/build-module/composite/context.js.map +1 -0
  285. package/build-module/composite/group-label.js +25 -0
  286. package/build-module/composite/group-label.js.map +1 -0
  287. package/build-module/composite/group.js +25 -0
  288. package/build-module/composite/group.js.map +1 -0
  289. package/build-module/composite/hover.js +25 -0
  290. package/build-module/composite/hover.js.map +1 -0
  291. package/build-module/composite/index.js +239 -6
  292. package/build-module/composite/index.js.map +1 -1
  293. package/build-module/composite/item.js +25 -0
  294. package/build-module/composite/item.js.map +1 -0
  295. package/build-module/composite/legacy/index.js +11 -6
  296. package/build-module/composite/legacy/index.js.map +1 -1
  297. package/build-module/composite/row.js +25 -0
  298. package/build-module/composite/row.js.map +1 -0
  299. package/build-module/composite/store.js +46 -0
  300. package/build-module/composite/store.js.map +1 -0
  301. package/build-module/composite/typeahead.js +25 -0
  302. package/build-module/composite/typeahead.js.map +1 -0
  303. package/build-module/composite/types.js +2 -0
  304. package/build-module/composite/types.js.map +1 -0
  305. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  306. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  307. package/build-module/custom-select-control/types.js.map +1 -1
  308. package/build-module/custom-select-control-v2/custom-select.js +2 -1
  309. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  310. package/build-module/custom-select-control-v2/styles.js +12 -14
  311. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  312. package/build-module/date-time/date/styles.js +8 -8
  313. package/build-module/date-time/date/styles.js.map +1 -1
  314. package/build-module/date-time/time/index.js +11 -3
  315. package/build-module/date-time/time/index.js.map +1 -1
  316. package/build-module/date-time/time/time-input/index.js +17 -19
  317. package/build-module/date-time/time/time-input/index.js.map +1 -1
  318. package/build-module/date-time/types.js.map +1 -1
  319. package/build-module/dimension-control/index.js +31 -9
  320. package/build-module/dimension-control/index.js.map +1 -1
  321. package/build-module/dimension-control/types.js.map +1 -1
  322. package/build-module/draggable/index.js +4 -4
  323. package/build-module/draggable/index.js.map +1 -1
  324. package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
  325. package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
  326. package/build-module/dropdown-menu-v2/context.js +11 -0
  327. package/build-module/dropdown-menu-v2/context.js.map +1 -0
  328. package/build-module/dropdown-menu-v2/group-label.js +32 -0
  329. package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
  330. package/build-module/dropdown-menu-v2/group.js +21 -0
  331. package/build-module/dropdown-menu-v2/group.js.map +1 -0
  332. package/build-module/dropdown-menu-v2/index.js +58 -144
  333. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  334. package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
  335. package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
  336. package/build-module/dropdown-menu-v2/item-label.js +19 -0
  337. package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
  338. package/build-module/dropdown-menu-v2/item.js +46 -0
  339. package/build-module/dropdown-menu-v2/item.js.map +1 -0
  340. package/build-module/dropdown-menu-v2/radio-item.js +72 -0
  341. package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
  342. package/build-module/dropdown-menu-v2/separator.js +22 -0
  343. package/build-module/dropdown-menu-v2/separator.js.map +1 -0
  344. package/build-module/dropdown-menu-v2/styles.js +63 -85
  345. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  346. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  347. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
  348. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  349. package/build-module/focal-point-picker/controls.js +1 -3
  350. package/build-module/focal-point-picker/controls.js.map +1 -1
  351. package/build-module/focal-point-picker/index.js +1 -2
  352. package/build-module/focal-point-picker/index.js.map +1 -1
  353. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  354. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  355. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
  356. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  357. package/build-module/focal-point-picker/types.js.map +1 -1
  358. package/build-module/form-file-upload/types.js.map +1 -1
  359. package/build-module/form-token-field/types.js.map +1 -1
  360. package/build-module/index.js +3 -2
  361. package/build-module/index.js.map +1 -1
  362. package/build-module/input-control/index.js +2 -2
  363. package/build-module/input-control/index.js.map +1 -1
  364. package/build-module/input-control/input-base.js +6 -11
  365. package/build-module/input-control/input-base.js.map +1 -1
  366. package/build-module/input-control/input-prefix-wrapper.js +4 -3
  367. package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
  368. package/build-module/input-control/input-suffix-wrapper.js +3 -3
  369. package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
  370. package/build-module/input-control/reducer/reducer.js +8 -8
  371. package/build-module/input-control/reducer/reducer.js.map +1 -1
  372. package/build-module/input-control/styles/input-control-styles.js +74 -44
  373. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  374. package/build-module/input-control/types.js.map +1 -1
  375. package/build-module/input-control/utils.js +3 -3
  376. package/build-module/input-control/utils.js.map +1 -1
  377. package/build-module/item-group/styles.js +11 -11
  378. package/build-module/item-group/styles.js.map +1 -1
  379. package/build-module/mobile/utils/alignments.native.js +1 -1
  380. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  381. package/build-module/modal/index.js +5 -5
  382. package/build-module/modal/index.js.map +1 -1
  383. package/build-module/navigation/index.js +4 -4
  384. package/build-module/navigation/index.js.map +1 -1
  385. package/build-module/navigation/styles/navigation-styles.js +14 -14
  386. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  387. package/build-module/navigator/index.js +6 -6
  388. package/build-module/navigator/index.js.map +1 -1
  389. package/build-module/navigator/navigator-back-button/component.js +1 -1
  390. package/build-module/navigator/navigator-back-button/component.js.map +1 -1
  391. package/build-module/navigator/navigator-back-button/hook.js +4 -10
  392. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  393. package/build-module/navigator/navigator-button/hook.js +1 -1
  394. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  395. package/build-module/navigator/navigator-provider/component.js +116 -76
  396. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  397. package/build-module/navigator/navigator-to-parent-button/component.js +12 -41
  398. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  399. package/build-module/navigator/types.js.map +1 -1
  400. package/build-module/navigator/use-navigator.js +1 -2
  401. package/build-module/navigator/use-navigator.js.map +1 -1
  402. package/build-module/palette-edit/index.js +2 -2
  403. package/build-module/palette-edit/index.js.map +1 -1
  404. package/build-module/palette-edit/styles.js +11 -11
  405. package/build-module/palette-edit/styles.js.map +1 -1
  406. package/build-module/popover/index.js +6 -1
  407. package/build-module/popover/index.js.map +1 -1
  408. package/build-module/private-apis.js +10 -14
  409. package/build-module/private-apis.js.map +1 -1
  410. package/build-module/progress-bar/styles.js +5 -5
  411. package/build-module/progress-bar/styles.js.map +1 -1
  412. package/build-module/query-controls/index.js +5 -6
  413. package/build-module/query-controls/index.js.map +1 -1
  414. package/build-module/query-controls/types.js.map +1 -1
  415. package/build-module/radio-control/index.js +20 -19
  416. package/build-module/radio-control/index.js.map +1 -1
  417. package/build-module/radio-group/radio.js +2 -1
  418. package/build-module/radio-group/radio.js.map +1 -1
  419. package/build-module/range-control/index.js +32 -9
  420. package/build-module/range-control/index.js.map +1 -1
  421. package/build-module/range-control/styles/range-control-styles.js +32 -32
  422. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  423. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  424. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  425. package/build-module/search-control/index.js +5 -4
  426. package/build-module/search-control/index.js.map +1 -1
  427. package/build-module/select-control/index.js +1 -0
  428. package/build-module/select-control/index.js.map +1 -1
  429. package/build-module/select-control/styles/select-control-styles.js +13 -13
  430. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  431. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
  432. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  433. package/build-module/snackbar/index.js +4 -4
  434. package/build-module/snackbar/index.js.map +1 -1
  435. package/build-module/tab-panel/index.js +2 -1
  436. package/build-module/tab-panel/index.js.map +1 -1
  437. package/build-module/tabs/index.js +6 -5
  438. package/build-module/tabs/index.js.map +1 -1
  439. package/build-module/tabs/styles.js +4 -4
  440. package/build-module/tabs/styles.js.map +1 -1
  441. package/build-module/tabs/tablist.js +5 -3
  442. package/build-module/tabs/tablist.js.map +1 -1
  443. package/build-module/tabs/tabpanel.js +6 -2
  444. package/build-module/tabs/tabpanel.js.map +1 -1
  445. package/build-module/text/styles.js +7 -7
  446. package/build-module/text/styles.js.map +1 -1
  447. package/build-module/text-control/index.js +1 -0
  448. package/build-module/text-control/index.js.map +1 -1
  449. package/build-module/textarea-control/index.js +1 -0
  450. package/build-module/textarea-control/index.js.map +1 -1
  451. package/build-module/textarea-control/styles/textarea-control-styles.js +9 -2
  452. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  453. package/build-module/toggle-control/index.js +9 -1
  454. package/build-module/toggle-control/index.js.map +1 -1
  455. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +2 -1
  456. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  457. package/build-module/toggle-group-control/toggle-group-control/component.js +1 -0
  458. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  459. package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -7
  460. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  461. package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
  462. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  463. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  464. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  465. package/build-module/tools-panel/styles.js +13 -13
  466. package/build-module/tools-panel/styles.js.map +1 -1
  467. package/build-module/tools-panel/tools-panel/hook.js +6 -6
  468. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  469. package/build-module/tooltip/index.js +2 -1
  470. package/build-module/tooltip/index.js.map +1 -1
  471. package/build-module/tree-select/index.js +19 -6
  472. package/build-module/tree-select/index.js.map +1 -1
  473. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  474. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  475. package/build-module/utils/config-values.js +10 -7
  476. package/build-module/utils/config-values.js.map +1 -1
  477. package/build-module/utils/hooks/use-update-effect.js +4 -4
  478. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  479. package/build-style/style-rtl.css +30 -32
  480. package/build-style/style.css +30 -32
  481. package/build-types/alignment-matrix-control/cell.d.ts +1 -1
  482. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
  483. package/build-types/alignment-matrix-control/icon.d.ts +1 -1
  484. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
  485. package/build-types/alignment-matrix-control/index.d.ts +16 -6
  486. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  487. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  488. package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
  489. package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
  490. package/build-types/alignment-matrix-control/types.d.ts +12 -1
  491. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  492. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  493. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
  494. package/build-types/base-control/hooks.d.ts +1 -0
  495. package/build-types/base-control/hooks.d.ts.map +1 -1
  496. package/build-types/base-control/index.d.ts +44 -0
  497. package/build-types/base-control/index.d.ts.map +1 -1
  498. package/build-types/base-control/types.d.ts +7 -0
  499. package/build-types/base-control/types.d.ts.map +1 -1
  500. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  501. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  502. package/build-types/checkbox-control/index.d.ts.map +1 -1
  503. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  504. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  505. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  506. package/build-types/circular-option-picker/types.d.ts +2 -3
  507. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  508. package/build-types/color-palette/utils.d.ts.map +1 -1
  509. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  510. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  511. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  512. package/build-types/color-picker/styles.d.ts.map +1 -1
  513. package/build-types/combobox-control/index.d.ts.map +1 -1
  514. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  515. package/build-types/combobox-control/types.d.ts +1 -0
  516. package/build-types/combobox-control/types.d.ts.map +1 -1
  517. package/build-types/composite/context.d.ts +7 -0
  518. package/build-types/composite/context.d.ts.map +1 -0
  519. package/build-types/composite/group-label.d.ts +3 -0
  520. package/build-types/composite/group-label.d.ts.map +1 -0
  521. package/build-types/composite/group.d.ts +3 -0
  522. package/build-types/composite/group.d.ts.map +1 -0
  523. package/build-types/composite/hover.d.ts +3 -0
  524. package/build-types/composite/hover.d.ts.map +1 -0
  525. package/build-types/composite/index.d.ts +185 -1
  526. package/build-types/composite/index.d.ts.map +1 -1
  527. package/build-types/composite/item.d.ts +3 -0
  528. package/build-types/composite/item.d.ts.map +1 -0
  529. package/build-types/composite/legacy/index.d.ts +7 -5
  530. package/build-types/composite/legacy/index.d.ts.map +1 -1
  531. package/build-types/composite/legacy/stories/utils.d.ts +19 -0
  532. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  533. package/build-types/composite/row.d.ts +3 -0
  534. package/build-types/composite/row.d.ts.map +1 -0
  535. package/build-types/composite/store.d.ts +25 -0
  536. package/build-types/composite/store.d.ts.map +1 -0
  537. package/build-types/composite/stories/index.story.d.ts +14 -0
  538. package/build-types/composite/stories/index.story.d.ts.map +1 -0
  539. package/build-types/composite/stories/utils.d.ts +29 -0
  540. package/build-types/composite/stories/utils.d.ts.map +1 -0
  541. package/build-types/composite/typeahead.d.ts +3 -0
  542. package/build-types/composite/typeahead.d.ts.map +1 -0
  543. package/build-types/composite/types.d.ts +288 -0
  544. package/build-types/composite/types.d.ts.map +1 -0
  545. package/build-types/custom-select-control/types.d.ts +3 -3
  546. package/build-types/custom-select-control/types.d.ts.map +1 -1
  547. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  548. package/build-types/date-time/date-time/index.d.ts +1 -1
  549. package/build-types/date-time/time/index.d.ts +1 -1
  550. package/build-types/date-time/time/index.d.ts.map +1 -1
  551. package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
  552. package/build-types/date-time/types.d.ts +7 -1
  553. package/build-types/date-time/types.d.ts.map +1 -1
  554. package/build-types/dimension-control/index.d.ts +2 -1
  555. package/build-types/dimension-control/index.d.ts.map +1 -1
  556. package/build-types/dimension-control/stories/index.story.d.ts +13 -1
  557. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  558. package/build-types/dimension-control/types.d.ts +2 -7
  559. package/build-types/dimension-control/types.d.ts.map +1 -1
  560. package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
  561. package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
  562. package/build-types/dropdown-menu-v2/context.d.ts +6 -0
  563. package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
  564. package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
  565. package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
  566. package/build-types/dropdown-menu-v2/group.d.ts +3 -0
  567. package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
  568. package/build-types/dropdown-menu-v2/index.d.ts +39 -18
  569. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  570. package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
  571. package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
  572. package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
  573. package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
  574. package/build-types/dropdown-menu-v2/item.d.ts +3 -0
  575. package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
  576. package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
  577. package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
  578. package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
  579. package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
  580. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
  581. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  582. package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
  583. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  584. package/build-types/dropdown-menu-v2/types.d.ts +6 -0
  585. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  586. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
  587. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
  588. package/build-types/focal-point-picker/controls.d.ts +1 -1
  589. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  590. package/build-types/focal-point-picker/index.d.ts +1 -1
  591. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  592. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  593. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  594. package/build-types/focal-point-picker/types.d.ts +2 -2
  595. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  596. package/build-types/form-file-upload/types.d.ts +6 -0
  597. package/build-types/form-file-upload/types.d.ts.map +1 -1
  598. package/build-types/form-token-field/types.d.ts +1 -0
  599. package/build-types/form-token-field/types.d.ts.map +1 -1
  600. package/build-types/index.d.ts +4 -2
  601. package/build-types/index.d.ts.map +1 -1
  602. package/build-types/input-control/input-base.d.ts.map +1 -1
  603. package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
  604. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  605. package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
  606. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  607. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  608. package/build-types/input-control/stories/index.story.d.ts +9 -0
  609. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  610. package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
  611. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  612. package/build-types/input-control/types.d.ts +23 -6
  613. package/build-types/input-control/types.d.ts.map +1 -1
  614. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  615. package/build-types/navigator/index.d.ts +6 -6
  616. package/build-types/navigator/index.d.ts.map +1 -1
  617. package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
  618. package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
  619. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  620. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  621. package/build-types/navigator/navigator-to-parent-button/component.d.ts +6 -0
  622. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  623. package/build-types/navigator/stories/index.story.d.ts +1 -1
  624. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  625. package/build-types/navigator/types.d.ts +47 -9
  626. package/build-types/navigator/types.d.ts.map +1 -1
  627. package/build-types/navigator/use-navigator.d.ts +1 -2
  628. package/build-types/navigator/use-navigator.d.ts.map +1 -1
  629. package/build-types/popover/index.d.ts +1 -1
  630. package/build-types/popover/index.d.ts.map +1 -1
  631. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  632. package/build-types/private-apis.d.ts.map +1 -1
  633. package/build-types/query-controls/index.d.ts +1 -1
  634. package/build-types/query-controls/index.d.ts.map +1 -1
  635. package/build-types/query-controls/types.d.ts +2 -1
  636. package/build-types/query-controls/types.d.ts.map +1 -1
  637. package/build-types/radio-control/index.d.ts.map +1 -1
  638. package/build-types/radio-group/radio.d.ts.map +1 -1
  639. package/build-types/range-control/index.d.ts.map +1 -1
  640. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  641. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  642. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  643. package/build-types/search-control/index.d.ts.map +1 -1
  644. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  645. package/build-types/select-control/index.d.ts.map +1 -1
  646. package/build-types/select-control/stories/index.story.d.ts +4 -2
  647. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  648. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  649. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  650. package/build-types/tab-panel/index.d.ts.map +1 -1
  651. package/build-types/tabs/index.d.ts.map +1 -1
  652. package/build-types/tabs/styles.d.ts.map +1 -1
  653. package/build-types/tabs/tablist.d.ts.map +1 -1
  654. package/build-types/tabs/tabpanel.d.ts +0 -3
  655. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  656. package/build-types/text-control/index.d.ts.map +1 -1
  657. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  658. package/build-types/textarea-control/index.d.ts.map +1 -1
  659. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  660. package/build-types/toggle-control/index.d.ts.map +1 -1
  661. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  662. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  663. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  664. package/build-types/tooltip/index.d.ts.map +1 -1
  665. package/build-types/tree-select/index.d.ts.map +1 -1
  666. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  667. package/build-types/utils/config-values.d.ts +7 -6
  668. package/package.json +20 -20
  669. package/src/alignment-matrix-control/README.md +1 -5
  670. package/src/alignment-matrix-control/cell.tsx +6 -12
  671. package/src/alignment-matrix-control/icon.tsx +48 -30
  672. package/src/alignment-matrix-control/index.tsx +61 -50
  673. package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
  674. package/src/alignment-matrix-control/styles.ts +113 -0
  675. package/src/alignment-matrix-control/types.ts +12 -1
  676. package/src/angle-picker-control/angle-circle.tsx +11 -9
  677. package/src/angle-picker-control/styles/angle-picker-control-styles.tsx +2 -2
  678. package/src/base-control/README.md +5 -2
  679. package/src/base-control/index.tsx +61 -41
  680. package/src/base-control/types.ts +7 -0
  681. package/src/border-box-control/border-box-control/README.md +7 -0
  682. package/src/border-control/border-control/README.md +7 -0
  683. package/src/border-control/border-control/component.tsx +23 -16
  684. package/src/border-control/styles.ts +1 -1
  685. package/src/button/README.md +7 -0
  686. package/src/button/style.scss +2 -2
  687. package/src/button-group/style.scss +2 -2
  688. package/src/checkbox-control/index.tsx +1 -0
  689. package/src/checkbox-control/stories/index.story.tsx +1 -0
  690. package/src/checkbox-control/test/index.tsx +8 -1
  691. package/src/circular-option-picker/circular-option-picker-option.tsx +19 -20
  692. package/src/circular-option-picker/circular-option-picker.tsx +26 -12
  693. package/src/circular-option-picker/style.scss +3 -3
  694. package/src/circular-option-picker/types.ts +2 -3
  695. package/src/clipboard-button/index.tsx +6 -6
  696. package/src/color-indicator/style.scss +1 -1
  697. package/src/color-palette/style.scss +2 -2
  698. package/src/color-palette/test/utils.ts +21 -2
  699. package/src/color-palette/utils.ts +22 -11
  700. package/src/color-picker/color-copy-button.tsx +10 -8
  701. package/src/color-picker/hex-input.tsx +6 -10
  702. package/src/color-picker/input-with-slider.tsx +7 -10
  703. package/src/color-picker/styles.ts +1 -1
  704. package/src/combobox-control/README.md +8 -0
  705. package/src/combobox-control/index.tsx +1 -0
  706. package/src/combobox-control/stories/index.story.tsx +3 -4
  707. package/src/combobox-control/test/index.tsx +5 -1
  708. package/src/combobox-control/types.ts +1 -0
  709. package/src/composite/README.md +325 -0
  710. package/src/composite/context.ts +14 -0
  711. package/src/composite/group-label.tsx +30 -0
  712. package/src/composite/group.tsx +30 -0
  713. package/src/composite/hover.tsx +30 -0
  714. package/src/composite/index.tsx +257 -0
  715. package/src/composite/item.tsx +30 -0
  716. package/src/composite/legacy/index.tsx +16 -14
  717. package/src/composite/legacy/stories/utils.tsx +19 -0
  718. package/src/composite/row.tsx +30 -0
  719. package/src/composite/store.ts +46 -0
  720. package/src/composite/stories/index.story.tsx +339 -0
  721. package/src/composite/{current/stories → stories}/utils.tsx +22 -7
  722. package/src/composite/typeahead.tsx +30 -0
  723. package/src/composite/types.ts +298 -0
  724. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
  725. package/src/custom-gradient-picker/style.scss +3 -22
  726. package/src/custom-select-control/README.md +7 -0
  727. package/src/custom-select-control/test/index.tsx +125 -0
  728. package/src/custom-select-control/types.ts +3 -3
  729. package/src/custom-select-control-v2/custom-select.tsx +2 -1
  730. package/src/custom-select-control-v2/styles.ts +4 -4
  731. package/src/date-time/date/styles.ts +2 -2
  732. package/src/date-time/time/index.tsx +26 -12
  733. package/src/date-time/time/test/index.tsx +3 -6
  734. package/src/date-time/time/time-input/index.tsx +25 -25
  735. package/src/date-time/time/time-input/test/index.tsx +6 -7
  736. package/src/date-time/types.ts +11 -1
  737. package/src/dimension-control/README.md +21 -0
  738. package/src/dimension-control/index.tsx +33 -10
  739. package/src/dimension-control/stories/index.story.tsx +8 -2
  740. package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -32
  741. package/src/dimension-control/test/index.test.js +6 -1
  742. package/src/dimension-control/types.ts +5 -7
  743. package/src/draggable/index.tsx +4 -4
  744. package/src/drop-zone/style.scss +1 -1
  745. package/src/dropdown-menu-v2/README.md +73 -60
  746. package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
  747. package/src/dropdown-menu-v2/context.tsx +13 -0
  748. package/src/dropdown-menu-v2/group-label.tsx +37 -0
  749. package/src/dropdown-menu-v2/group.tsx +26 -0
  750. package/src/dropdown-menu-v2/index.tsx +61 -199
  751. package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
  752. package/src/dropdown-menu-v2/item-label.tsx +23 -0
  753. package/src/dropdown-menu-v2/item.tsx +50 -0
  754. package/src/dropdown-menu-v2/radio-item.tsx +70 -0
  755. package/src/dropdown-menu-v2/separator.tsx +27 -0
  756. package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
  757. package/src/dropdown-menu-v2/styles.ts +118 -80
  758. package/src/dropdown-menu-v2/test/index.tsx +159 -132
  759. package/src/dropdown-menu-v2/types.ts +7 -0
  760. package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
  761. package/src/focal-point-picker/README.md +9 -1
  762. package/src/focal-point-picker/controls.tsx +1 -3
  763. package/src/focal-point-picker/index.tsx +1 -2
  764. package/src/focal-point-picker/stories/index.story.tsx +3 -0
  765. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  766. package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
  767. package/src/focal-point-picker/test/index.tsx +5 -1
  768. package/src/focal-point-picker/types.ts +2 -2
  769. package/src/font-size-picker/README.md +7 -0
  770. package/src/form-file-upload/README.md +8 -0
  771. package/src/form-file-upload/types.ts +6 -0
  772. package/src/form-toggle/style.scss +1 -1
  773. package/src/form-token-field/README.md +1 -0
  774. package/src/form-token-field/style.scss +2 -3
  775. package/src/form-token-field/types.ts +1 -0
  776. package/src/guide/style.scss +0 -1
  777. package/src/index.ts +6 -2
  778. package/src/input-control/README.md +8 -0
  779. package/src/input-control/index.tsx +2 -2
  780. package/src/input-control/input-base.tsx +4 -14
  781. package/src/input-control/input-prefix-wrapper.tsx +8 -4
  782. package/src/input-control/input-suffix-wrapper.tsx +4 -6
  783. package/src/input-control/reducer/reducer.ts +13 -10
  784. package/src/input-control/stories/index.story.tsx +31 -12
  785. package/src/input-control/styles/input-control-styles.tsx +42 -11
  786. package/src/input-control/types.ts +23 -7
  787. package/src/input-control/utils.ts +3 -3
  788. package/src/item-group/styles.ts +4 -4
  789. package/src/item-group/test/__snapshots__/index.js.snap +3 -3
  790. package/src/mobile/utils/alignments.native.js +1 -0
  791. package/src/modal/index.tsx +5 -5
  792. package/src/modal/style.scss +8 -7
  793. package/src/navigation/index.tsx +4 -4
  794. package/src/navigation/styles/navigation-styles.tsx +3 -3
  795. package/src/navigator/index.ts +6 -6
  796. package/src/navigator/navigator-back-button/component.tsx +1 -1
  797. package/src/navigator/navigator-back-button/hook.ts +7 -11
  798. package/src/navigator/navigator-button/hook.ts +1 -1
  799. package/src/navigator/navigator-provider/README.md +37 -36
  800. package/src/navigator/navigator-provider/component.tsx +110 -89
  801. package/src/navigator/navigator-screen/README.md +13 -1
  802. package/src/navigator/navigator-to-parent-button/README.md +2 -0
  803. package/src/navigator/navigator-to-parent-button/component.tsx +14 -43
  804. package/src/navigator/stories/index.story.tsx +82 -253
  805. package/src/navigator/test/index.tsx +136 -6
  806. package/src/navigator/types.ts +47 -10
  807. package/src/navigator/use-navigator.ts +1 -3
  808. package/src/number-control/README.md +8 -0
  809. package/src/palette-edit/index.tsx +2 -2
  810. package/src/palette-edit/styles.ts +5 -5
  811. package/src/placeholder/style.scss +4 -1
  812. package/src/popover/index.tsx +9 -3
  813. package/src/popover/style.scss +2 -2
  814. package/src/popover/test/index.tsx +34 -0
  815. package/src/private-apis.ts +10 -29
  816. package/src/progress-bar/styles.ts +2 -2
  817. package/src/query-controls/README.md +7 -0
  818. package/src/query-controls/index.tsx +5 -6
  819. package/src/query-controls/types.ts +2 -1
  820. package/src/radio-control/index.tsx +28 -20
  821. package/src/radio-control/style.scss +13 -2
  822. package/src/radio-control/test/index.tsx +43 -40
  823. package/src/radio-group/radio.tsx +2 -1
  824. package/src/range-control/README.md +7 -0
  825. package/src/range-control/index.tsx +39 -9
  826. package/src/range-control/stories/index.story.tsx +7 -0
  827. package/src/range-control/styles/range-control-styles.ts +9 -9
  828. package/src/range-control/test/index.tsx +54 -14
  829. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
  830. package/src/resizable-box/style.scss +2 -2
  831. package/src/search-control/index.tsx +7 -4
  832. package/src/search-control/stories/index.story.tsx +1 -0
  833. package/src/search-control/test/index.tsx +1 -0
  834. package/src/select-control/README.md +8 -0
  835. package/src/select-control/index.tsx +1 -0
  836. package/src/select-control/stories/index.story.tsx +8 -5
  837. package/src/select-control/styles/select-control-styles.ts +5 -5
  838. package/src/select-control/test/select-control.tsx +12 -6
  839. package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
  840. package/src/snackbar/index.tsx +4 -4
  841. package/src/snackbar/style.scss +2 -2
  842. package/src/tab-panel/index.tsx +4 -1
  843. package/src/tab-panel/style.scss +1 -2
  844. package/src/tabs/index.tsx +10 -5
  845. package/src/tabs/styles.ts +2 -3
  846. package/src/tabs/tablist.tsx +6 -4
  847. package/src/tabs/tabpanel.tsx +6 -2
  848. package/src/text/styles.ts +1 -1
  849. package/src/text-control/README.md +8 -0
  850. package/src/text-control/index.tsx +1 -0
  851. package/src/text-control/stories/index.story.tsx +3 -1
  852. package/src/text-control/style.scss +3 -2
  853. package/src/text-control/test/text-control.tsx +5 -1
  854. package/src/textarea-control/index.tsx +1 -0
  855. package/src/textarea-control/stories/index.story.tsx +2 -0
  856. package/src/textarea-control/styles/textarea-control-styles.ts +75 -2
  857. package/src/toggle-control/index.tsx +9 -0
  858. package/src/toggle-control/stories/index.story.tsx +1 -0
  859. package/src/toggle-control/test/index.tsx +7 -1
  860. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +8 -24
  861. package/src/toggle-group-control/test/index.tsx +5 -1
  862. package/src/toggle-group-control/toggle-group-control/README.md +7 -0
  863. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +2 -1
  864. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -0
  865. package/src/toggle-group-control/toggle-group-control/styles.ts +1 -1
  866. package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
  867. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +2 -2
  868. package/src/toolbar/toolbar/style.scss +2 -2
  869. package/src/tools-panel/styles.ts +1 -1
  870. package/src/tools-panel/tools-panel/hook.ts +6 -6
  871. package/src/tooltip/index.tsx +2 -1
  872. package/src/tooltip/style.scss +1 -1
  873. package/src/tree-select/index.tsx +16 -5
  874. package/src/tree-select/stories/index.story.tsx +1 -0
  875. package/src/unit-control/README.md +7 -0
  876. package/src/unit-control/styles/unit-control-styles.ts +3 -2
  877. package/src/utils/config-values.js +10 -7
  878. package/src/utils/hooks/use-update-effect.js +4 -4
  879. package/tsconfig.tsbuildinfo +1 -1
  880. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
  881. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  882. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -86
  883. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  884. package/build/composite/current/index.js +0 -43
  885. package/build/composite/current/index.js.map +0 -1
  886. package/build/composite/v2.js +0 -17
  887. package/build/composite/v2.js.map +0 -1
  888. package/build/navigator/navigator-back-button/index.js +0 -14
  889. package/build/navigator/navigator-back-button/index.js.map +0 -1
  890. package/build/navigator/navigator-button/index.js +0 -14
  891. package/build/navigator/navigator-button/index.js.map +0 -1
  892. package/build/navigator/navigator-provider/index.js +0 -14
  893. package/build/navigator/navigator-provider/index.js.map +0 -1
  894. package/build/navigator/navigator-screen/index.js +0 -14
  895. package/build/navigator/navigator-screen/index.js.map +0 -1
  896. package/build/navigator/navigator-to-parent-button/index.js +0 -14
  897. package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
  898. package/build/utils/input/base.js +0 -20
  899. package/build/utils/input/base.js.map +0 -1
  900. package/build/utils/input/index.js +0 -17
  901. package/build/utils/input/index.js.map +0 -1
  902. package/build/utils/input/input-control.js +0 -21
  903. package/build/utils/input/input-control.js.map +0 -1
  904. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
  905. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  906. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -81
  907. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  908. package/build-module/composite/current/index.js +0 -12
  909. package/build-module/composite/current/index.js.map +0 -1
  910. package/build-module/composite/v2.js +0 -5
  911. package/build-module/composite/v2.js.map +0 -1
  912. package/build-module/navigator/navigator-back-button/index.js +0 -2
  913. package/build-module/navigator/navigator-back-button/index.js.map +0 -1
  914. package/build-module/navigator/navigator-button/index.js +0 -2
  915. package/build-module/navigator/navigator-button/index.js.map +0 -1
  916. package/build-module/navigator/navigator-provider/index.js +0 -2
  917. package/build-module/navigator/navigator-provider/index.js.map +0 -1
  918. package/build-module/navigator/navigator-screen/index.js +0 -2
  919. package/build-module/navigator/navigator-screen/index.js.map +0 -1
  920. package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
  921. package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
  922. package/build-module/utils/input/base.js +0 -13
  923. package/build-module/utils/input/base.js.map +0 -1
  924. package/build-module/utils/input/index.js +0 -2
  925. package/build-module/utils/input/index.js.map +0 -1
  926. package/build-module/utils/input/input-control.js +0 -14
  927. package/build-module/utils/input/input-control.js.map +0 -1
  928. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
  929. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
  930. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
  931. package/build-types/composite/current/index.d.ts +0 -12
  932. package/build-types/composite/current/index.d.ts.map +0 -1
  933. package/build-types/composite/current/stories/index.story.d.ts +0 -13
  934. package/build-types/composite/current/stories/index.story.d.ts.map +0 -1
  935. package/build-types/composite/current/stories/utils.d.ts +0 -14
  936. package/build-types/composite/current/stories/utils.d.ts.map +0 -1
  937. package/build-types/composite/v2.d.ts +0 -2
  938. package/build-types/composite/v2.d.ts.map +0 -1
  939. package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
  940. package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
  941. package/build-types/navigator/navigator-button/index.d.ts +0 -2
  942. package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
  943. package/build-types/navigator/navigator-provider/index.d.ts +0 -2
  944. package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
  945. package/build-types/navigator/navigator-screen/index.d.ts +0 -2
  946. package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
  947. package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
  948. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
  949. package/build-types/utils/input/base.d.ts +0 -3
  950. package/build-types/utils/input/base.d.ts.map +0 -1
  951. package/build-types/utils/input/index.d.ts +0 -2
  952. package/build-types/utils/input/index.d.ts.map +0 -1
  953. package/build-types/utils/input/input-control.d.ts +0 -2
  954. package/build-types/utils/input/input-control.d.ts.map +0 -1
  955. package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
  956. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
  957. package/src/composite/current/index.ts +0 -20
  958. package/src/composite/current/stories/index.story.tsx +0 -86
  959. package/src/composite/index.ts +0 -7
  960. package/src/composite/v2.ts +0 -4
  961. package/src/navigator/navigator-back-button/index.ts +0 -1
  962. package/src/navigator/navigator-button/index.ts +0 -1
  963. package/src/navigator/navigator-provider/index.ts +0 -1
  964. package/src/navigator/navigator-screen/index.ts +0 -1
  965. package/src/navigator/navigator-to-parent-button/index.ts +0 -1
  966. package/src/utils/input/base.js +0 -30
  967. package/src/utils/input/index.js +0 -1
  968. package/src/utils/input/input-control.js +0 -63
@@ -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/component';
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,
@@ -7,17 +7,15 @@ import type { Meta, StoryObj } from '@storybook/react';
7
7
  * Internal dependencies
8
8
  */
9
9
  import Button from '../../button';
10
- import { Card, CardBody, CardFooter, CardHeader } from '../../card';
11
10
  import { VStack } from '../../v-stack';
12
- import Dropdown from '../../dropdown';
13
11
  import {
14
12
  NavigatorProvider,
15
13
  NavigatorScreen,
16
14
  NavigatorButton,
17
15
  NavigatorBackButton,
18
- NavigatorToParentButton,
19
16
  useNavigator,
20
17
  } from '..';
18
+ import { HStack } from '../../h-stack';
21
19
 
22
20
  const meta: Meta< typeof NavigatorProvider > = {
23
21
  component: NavigatorProvider,
@@ -33,268 +31,106 @@ const meta: Meta< typeof NavigatorProvider > = {
33
31
  controls: { expanded: true },
34
32
  docs: { canvas: { sourceState: 'shown' } },
35
33
  },
34
+ decorators: [
35
+ ( Story ) => {
36
+ return (
37
+ <>
38
+ <style>{ `
39
+ /* These attributes are a private implementation detail of the
40
+ Navigator component. Do not use outside of its source code. */
41
+ [data-wp-component="NavigatorProvider"] {
42
+ height: calc(100vh - 2rem);
43
+ max-height: 250px;
44
+
45
+ }
46
+ [data-wp-component="NavigatorScreen"]:not([data-sticky]) {
47
+ padding: 8px;
48
+ }
49
+ ` }</style>
50
+ <Story />
51
+ </>
52
+ );
53
+ },
54
+ ],
36
55
  };
37
56
  export default meta;
38
57
 
39
58
  export const Default: StoryObj< typeof NavigatorProvider > = {
40
59
  args: {
41
60
  initialPath: '/',
42
- style: { height: '100vh', maxHeight: '450px' },
43
61
  children: (
44
62
  <>
45
63
  <NavigatorScreen path="/">
46
- <Card>
47
- <CardBody>
48
- <p>This is the home screen.</p>
64
+ <h2>This is the home screen.</h2>
49
65
 
50
- <VStack alignment="left">
51
- <NavigatorButton
52
- variant="secondary"
53
- path="/child"
54
- >
55
- Navigate to child screen.
56
- </NavigatorButton>
57
-
58
- <NavigatorButton
59
- variant="secondary"
60
- path="/overflow-child"
61
- >
62
- Navigate to screen with horizontal overflow.
63
- </NavigatorButton>
64
-
65
- <NavigatorButton
66
- variant="secondary"
67
- path="/stickies"
68
- >
69
- Navigate to screen with sticky content.
70
- </NavigatorButton>
66
+ <VStack alignment="left">
67
+ <NavigatorButton variant="primary" path="/child">
68
+ Go to child screen.
69
+ </NavigatorButton>
71
70
 
72
- <NavigatorButton
73
- variant="secondary"
74
- path="/product/1"
75
- >
76
- Navigate to product screen with id 1.
77
- </NavigatorButton>
71
+ <NavigatorButton variant="primary" path="/product/1">
72
+ Go to dynamic path screen with id 1.
73
+ </NavigatorButton>
78
74
 
79
- <Dropdown
80
- renderToggle={ ( {
81
- isOpen,
82
- onToggle,
83
- }: {
84
- // TODO: remove once `Dropdown` is refactored to TypeScript
85
- isOpen: boolean;
86
- onToggle: () => void;
87
- } ) => (
88
- <Button
89
- onClick={ onToggle }
90
- aria-expanded={ isOpen }
91
- variant="primary"
92
- >
93
- Open test dialog
94
- </Button>
95
- ) }
96
- renderContent={ () => (
97
- <Card>
98
- <CardHeader>Go</CardHeader>
99
- <CardBody>Stuff</CardBody>
100
- </Card>
101
- ) }
102
- />
103
- </VStack>
104
- </CardBody>
105
- </Card>
75
+ <NavigatorButton variant="primary" path="/product/2">
76
+ Go to dynamic path screen with id 2.
77
+ </NavigatorButton>
78
+ </VStack>
106
79
  </NavigatorScreen>
107
80
 
108
81
  <NavigatorScreen path="/child">
109
- <Card>
110
- <CardBody>
111
- <p>This is the child screen.</p>
112
- <NavigatorBackButton variant="secondary">
113
- Go back
114
- </NavigatorBackButton>
115
- </CardBody>
116
- </Card>
117
- </NavigatorScreen>
118
-
119
- <NavigatorScreen path="/overflow-child">
120
- <Card>
121
- <CardBody>
122
- <NavigatorBackButton variant="secondary">
123
- Go back
124
- </NavigatorBackButton>
125
- <div
126
- style={ {
127
- display: 'inline-block',
128
- background: 'papayawhip',
129
- } }
130
- >
131
- <span
132
- style={ {
133
- color: 'palevioletred',
134
- whiteSpace: 'nowrap',
135
- fontSize: '42vw',
136
- } }
137
- >
138
- ¯\_(ツ)_/¯
139
- </span>
140
- </div>
141
- </CardBody>
142
- </Card>
82
+ <h2>This is the child screen.</h2>
83
+ <HStack spacing={ 2 } alignment="left">
84
+ <NavigatorBackButton variant="secondary">
85
+ Go back
86
+ </NavigatorBackButton>
87
+
88
+ <NavigatorButton
89
+ variant="primary"
90
+ path="/child/grandchild"
91
+ >
92
+ Go to grand child screen.
93
+ </NavigatorButton>
94
+ </HStack>
143
95
  </NavigatorScreen>
144
96
 
145
- <NavigatorScreen path="/stickies">
146
- <Card>
147
- <CardHeader style={ getStickyStyles( { zIndex: 2 } ) }>
148
- <NavigatorBackButton variant="secondary">
149
- Go back
150
- </NavigatorBackButton>
151
- </CardHeader>
152
- <CardBody>
153
- <div
154
- style={ getStickyStyles( {
155
- top: 69,
156
- bgColor: 'peachpuff',
157
- } ) }
158
- >
159
- <h2>A wild sticky element appears</h2>
160
- </div>
161
- <MetaphorIpsum quantity={ 3 } />
162
- </CardBody>
163
- <CardBody>
164
- <div
165
- style={ getStickyStyles( {
166
- top: 69,
167
- bgColor: 'paleturquoise',
168
- } ) }
169
- >
170
- <h2>Another wild sticky element appears</h2>
171
- </div>
172
- <MetaphorIpsum quantity={ 3 } />
173
- </CardBody>
174
- <CardFooter
175
- style={ getStickyStyles( {
176
- bgColor: 'mistyrose',
177
- } ) }
178
- >
179
- <Button variant="primary">Primary noop</Button>
180
- </CardFooter>
181
- </Card>
97
+ <NavigatorScreen path="/child/grandchild">
98
+ <h2>This is the grand child screen.</h2>
99
+ <NavigatorBackButton variant="secondary">
100
+ Go back
101
+ </NavigatorBackButton>
182
102
  </NavigatorScreen>
183
103
 
184
104
  <NavigatorScreen path="/product/:id">
185
- <ProductDetails />
105
+ <DynamicScreen />
186
106
  </NavigatorScreen>
187
107
  </>
188
108
  ),
189
109
  },
190
110
  };
191
111
 
192
- function getStickyStyles( {
193
- bottom = 0,
194
- bgColor = 'whitesmoke',
195
- top = 0,
196
- zIndex = 1,
197
- } ): React.CSSProperties {
198
- return {
199
- display: 'flex',
200
- position: 'sticky',
201
- top,
202
- bottom,
203
- zIndex,
204
- backgroundColor: bgColor,
205
- };
206
- }
112
+ function DynamicScreen() {
113
+ const { params } = useNavigator();
207
114
 
208
- function MetaphorIpsum( { quantity }: { quantity: number } ) {
209
- const list = [
210
- 'A loopy clarinet’s year comes with it the thought that the fenny step-son is an ophthalmologist. The literature would have us believe that a glabrate country is not but a rhythm. A beech is a rub from the right perspective. In ancient times few can name an unglossed walrus that isn’t an unspilt trial.',
211
- 'Authors often misinterpret the afterthought as a roseless mother-in-law, when in actuality it feels more like an uncapped thunderstorm. In recent years, some posit the tarry bottle to be less than acerb. They were lost without the unkissed timbale that composed their customer. A donna is a springtime breath.',
212
- 'It’s an undeniable fact, really; their museum was, in this moment, a snotty beef. The swordfishes could be said to resemble prowessed lasagnas. However, the rainier authority comes from a cureless soup. Unfortunately, that is wrong; on the contrary, the cover is a powder.',
213
- ];
214
- quantity = Math.min( list.length, quantity );
215
115
  return (
216
116
  <>
217
- { list.slice( 0, quantity ).map( ( text, key ) => (
218
- <p style={ { maxWidth: '20em' } } key={ key }>
219
- { text }
220
- </p>
221
- ) ) }
117
+ <h2>This is the dynamic screen</h2>
118
+ <p>
119
+ This screen can parse params dynamically. The current id is:{ ' ' }
120
+ { params.id }
121
+ </p>
122
+ <NavigatorBackButton variant="secondary">
123
+ Go back
124
+ </NavigatorBackButton>
222
125
  </>
223
126
  );
224
127
  }
225
128
 
226
- function ProductDetails() {
227
- const { params } = useNavigator();
228
-
229
- return (
230
- <Card>
231
- <CardBody>
232
- <NavigatorBackButton variant="secondary">
233
- Go back
234
- </NavigatorBackButton>
235
- <p>This is the screen for the product with id: { params.id }</p>
236
- </CardBody>
237
- </Card>
238
- );
239
- }
240
-
241
- export const NestedNavigator: StoryObj< typeof NavigatorProvider > = {
129
+ export const WithNestedInitialPath: StoryObj< typeof NavigatorProvider > = {
242
130
  ...Default,
243
131
  args: {
244
132
  ...Default.args,
245
- initialPath: '/child2/grandchild',
246
- children: (
247
- <>
248
- <NavigatorScreen path="/">
249
- <Card>
250
- <CardBody>
251
- <NavigatorButton variant="secondary" path="/child1">
252
- Go to first child.
253
- </NavigatorButton>
254
- <NavigatorButton variant="secondary" path="/child2">
255
- Go to second child.
256
- </NavigatorButton>
257
- </CardBody>
258
- </Card>
259
- </NavigatorScreen>
260
- <NavigatorScreen path="/child1">
261
- <Card>
262
- <CardBody>
263
- This is the first child
264
- <NavigatorToParentButton variant="secondary">
265
- Go back to parent
266
- </NavigatorToParentButton>
267
- </CardBody>
268
- </Card>
269
- </NavigatorScreen>
270
- <NavigatorScreen path="/child2">
271
- <Card>
272
- <CardBody>
273
- This is the second child
274
- <NavigatorToParentButton variant="secondary">
275
- Go back to parent
276
- </NavigatorToParentButton>
277
- <NavigatorButton
278
- variant="secondary"
279
- path="/child2/grandchild"
280
- >
281
- Go to grand child.
282
- </NavigatorButton>
283
- </CardBody>
284
- </Card>
285
- </NavigatorScreen>
286
- <NavigatorScreen path="/child2/grandchild">
287
- <Card>
288
- <CardBody>
289
- This is the grand child
290
- <NavigatorToParentButton variant="secondary">
291
- Go back to parent
292
- </NavigatorToParentButton>
293
- </CardBody>
294
- </Card>
295
- </NavigatorScreen>
296
- </>
297
- ),
133
+ initialPath: '/child/grandchild',
298
134
  },
299
135
  };
300
136
 
@@ -308,6 +144,10 @@ const NavigatorButtonWithSkipFocus = ( {
308
144
  return (
309
145
  <Button
310
146
  { ...props }
147
+ style={ {
148
+ marginInline: '8px',
149
+ ...props.style,
150
+ } }
311
151
  onClick={ ( e: React.MouseEvent< HTMLButtonElement > ) => {
312
152
  goTo( path, { skipFocus: true } );
313
153
  onClick?.( e );
@@ -323,39 +163,28 @@ export const SkipFocus: StoryObj< typeof NavigatorProvider > = {
323
163
  <>
324
164
  <div
325
165
  style={ {
326
- height: 250,
327
- border: '1px solid black',
166
+ height: 150,
167
+ outline: '1px solid black',
168
+ outlineOffset: '-1px',
169
+ marginBlockEnd: '1rem',
328
170
  } }
329
171
  >
330
- <NavigatorScreen
331
- path="/"
332
- style={ {
333
- height: '100%',
334
- } }
335
- >
336
- <h1>Home screen</h1>
337
- <NavigatorButton variant="secondary" path="/child">
172
+ <NavigatorScreen path="/">
173
+ <h2>Home screen</h2>
174
+ <NavigatorButton variant="primary" path="/child">
338
175
  Go to child screen.
339
176
  </NavigatorButton>
340
177
  </NavigatorScreen>
341
- <NavigatorScreen
342
- path="/child"
343
- style={ {
344
- height: '100%',
345
- } }
346
- >
178
+
179
+ <NavigatorScreen path="/child">
347
180
  <h2>Child screen</h2>
348
- <NavigatorToParentButton variant="secondary">
349
- Go to parent screen.
350
- </NavigatorToParentButton>
181
+ <NavigatorBackButton variant="secondary">
182
+ Go back to home screen
183
+ </NavigatorBackButton>
351
184
  </NavigatorScreen>
352
185
  </div>
353
186
 
354
- <NavigatorButtonWithSkipFocus
355
- variant="secondary"
356
- path="/child"
357
- style={ { margin: '1rem 2rem' } }
358
- >
187
+ <NavigatorButtonWithSkipFocus path="/child">
359
188
  Go to child screen, but keep focus on this button
360
189
  </NavigatorButtonWithSkipFocus>
361
190
  </>
@@ -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
  } );