@wordpress/components 23.3.2 → 23.4.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 (710) hide show
  1. package/CHANGELOG.md +20 -5
  2. package/build/alignment-matrix-control/utils.js +4 -4
  3. package/build/alignment-matrix-control/utils.js.map +1 -1
  4. package/build/angle-picker-control/angle-circle.js +37 -29
  5. package/build/angle-picker-control/angle-circle.js.map +1 -1
  6. package/build/angle-picker-control/index.js +44 -9
  7. package/build/angle-picker-control/index.js.map +1 -1
  8. package/build/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  10. package/build/{base-field → angle-picker-control}/types.js +0 -0
  11. package/build/angle-picker-control/types.js.map +1 -0
  12. package/build/autocomplete/autocompleter-ui.native.js +1 -0
  13. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  14. package/build/base-control/hooks.js +1 -1
  15. package/build/base-control/hooks.js.map +1 -1
  16. package/build/border-box-control/utils.js +1 -1
  17. package/build/border-box-control/utils.js.map +1 -1
  18. package/build/box-control/all-input-control.js +2 -2
  19. package/build/box-control/all-input-control.js.map +1 -1
  20. package/build/box-control/axial-input-controls.js +1 -1
  21. package/build/box-control/axial-input-controls.js.map +1 -1
  22. package/build/box-control/icon.js.map +1 -1
  23. package/build/box-control/index.js +32 -3
  24. package/build/box-control/index.js.map +1 -1
  25. package/build/box-control/input-controls.js +5 -5
  26. package/build/box-control/input-controls.js.map +1 -1
  27. package/build/box-control/linked-button.js.map +1 -1
  28. package/build/box-control/styles/box-control-icon-styles.js +28 -28
  29. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  30. package/build/box-control/styles/box-control-styles.js +23 -23
  31. package/build/box-control/styles/box-control-styles.js.map +1 -1
  32. package/build/box-control/styles/box-control-visualizer-styles.js +19 -19
  33. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  34. package/build/box-control/types.js +6 -0
  35. package/build/box-control/types.js.map +1 -0
  36. package/build/box-control/unit-control.js.map +1 -1
  37. package/build/box-control/utils.js +23 -23
  38. package/build/box-control/utils.js.map +1 -1
  39. package/build/color-palette/index.js +8 -3
  40. package/build/color-palette/index.js.map +1 -1
  41. package/build/combobox-control/index.js +68 -12
  42. package/build/combobox-control/index.js.map +1 -1
  43. package/build/combobox-control/styles.js +2 -2
  44. package/build/combobox-control/styles.js.map +1 -1
  45. package/build/combobox-control/types.js +6 -0
  46. package/build/combobox-control/types.js.map +1 -0
  47. package/build/custom-gradient-picker/index.js +0 -1
  48. package/build/custom-gradient-picker/index.js.map +1 -1
  49. package/build/date-time/time/index.js +1 -1
  50. package/build/date-time/time/index.js.map +1 -1
  51. package/build/date-time/utils.js +1 -1
  52. package/build/date-time/utils.js.map +1 -1
  53. package/build/draggable/index.js +2 -2
  54. package/build/draggable/index.js.map +1 -1
  55. package/build/focal-point-picker/utils.js +3 -3
  56. package/build/focal-point-picker/utils.js.map +1 -1
  57. package/build/font-size-picker/utils.js +2 -2
  58. package/build/font-size-picker/utils.js.map +1 -1
  59. package/build/gradient-picker/index.js +9 -4
  60. package/build/gradient-picker/index.js.map +1 -1
  61. package/build/input-control/reducer/reducer.js +5 -5
  62. package/build/input-control/reducer/reducer.js.map +1 -1
  63. package/build/input-control/utils.js +1 -1
  64. package/build/input-control/utils.js.map +1 -1
  65. package/build/menu-items-choice/index.js +40 -3
  66. package/build/menu-items-choice/index.js.map +1 -1
  67. package/build/menu-items-choice/types.js +6 -0
  68. package/build/menu-items-choice/types.js.map +1 -0
  69. package/build/modal/index.js +41 -3
  70. package/build/modal/index.js.map +1 -1
  71. package/build/palette-edit/index.js +4 -1
  72. package/build/palette-edit/index.js.map +1 -1
  73. package/build/panel/header.js +9 -0
  74. package/build/panel/header.js.map +1 -1
  75. package/build/panel/index.js +21 -3
  76. package/build/panel/index.js.map +1 -1
  77. package/build/panel/row.js +10 -4
  78. package/build/panel/row.js.map +1 -1
  79. package/build/panel/types.js +6 -0
  80. package/build/panel/types.js.map +1 -0
  81. package/build/popover/index.js +15 -3
  82. package/build/popover/index.js.map +1 -1
  83. package/build/popover/overlay-middlewares.js +46 -0
  84. package/build/popover/overlay-middlewares.js.map +1 -0
  85. package/build/popover/utils.js +45 -6
  86. package/build/popover/utils.js.map +1 -1
  87. package/build/query-controls/terms.js +1 -1
  88. package/build/query-controls/terms.js.map +1 -1
  89. package/build/range-control/utils.js +4 -4
  90. package/build/range-control/utils.js.map +1 -1
  91. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
  92. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  93. package/build/resizable-box/resize-tooltip/utils.js +14 -14
  94. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  95. package/build/snackbar/index.js +2 -2
  96. package/build/snackbar/index.js.map +1 -1
  97. package/build/toolbar/toolbar/index.js +25 -14
  98. package/build/toolbar/toolbar/index.js.map +1 -1
  99. package/build/toolbar/toolbar/toolbar-container.js +5 -4
  100. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  101. package/build/toolbar/toolbar/types.js +6 -0
  102. package/build/toolbar/toolbar/types.js.map +1 -0
  103. package/build/toolbar/toolbar-button/index.js +2 -0
  104. package/build/toolbar/toolbar-button/index.js.map +1 -1
  105. package/build/toolbar/toolbar-button/toolbar-button-container.js +1 -0
  106. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  107. package/build/toolbar/toolbar-context/index.js +2 -0
  108. package/build/toolbar/toolbar-context/index.js.map +1 -1
  109. package/build/toolbar/toolbar-dropdown-menu/index.js +2 -0
  110. package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  111. package/build/toolbar/toolbar-group/index.js +2 -0
  112. package/build/toolbar/toolbar-group/index.js.map +1 -1
  113. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
  114. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  115. package/build/toolbar/toolbar-group/toolbar-group-container.js +1 -0
  116. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  117. package/build/toolbar/toolbar-item/index.js +2 -0
  118. package/build/toolbar/toolbar-item/index.js.map +1 -1
  119. package/build/tools-panel/tools-panel/component.js +61 -5
  120. package/build/tools-panel/tools-panel/component.js.map +1 -1
  121. package/build/tools-panel/tools-panel/hook.js +4 -2
  122. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  123. package/build/tools-panel/tools-panel-header/component.js +2 -1
  124. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  125. package/build/tools-panel/tools-panel-header/hook.js +2 -0
  126. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  127. package/build/tools-panel/tools-panel-item/component.js +5 -4
  128. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  129. package/build/tools-panel/tools-panel-item/hook.js +4 -2
  130. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  131. package/build/tree-grid/cell.js +15 -4
  132. package/build/tree-grid/cell.js.map +1 -1
  133. package/build/tree-grid/index.js +81 -19
  134. package/build/tree-grid/index.js.map +1 -1
  135. package/build/tree-grid/item.js +14 -3
  136. package/build/tree-grid/item.js.map +1 -1
  137. package/build/tree-grid/roving-tab-index-context.js +1 -1
  138. package/build/tree-grid/roving-tab-index-context.js.map +1 -1
  139. package/build/tree-grid/roving-tab-index-item.js +13 -6
  140. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  141. package/build/tree-grid/roving-tab-index.js +0 -3
  142. package/build/tree-grid/roving-tab-index.js.map +1 -1
  143. package/build/tree-grid/row.js +20 -18
  144. package/build/tree-grid/row.js.map +1 -1
  145. package/build/tree-grid/types.js +6 -0
  146. package/build/tree-grid/types.js.map +1 -0
  147. package/build/ui/context/context-connect.js +7 -7
  148. package/build/ui/context/context-connect.js.map +1 -1
  149. package/build/ui/context/get-styled-class-name-from-key.js +1 -1
  150. package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
  151. package/build/ui/utils/get-valid-children.js +1 -1
  152. package/build/ui/utils/get-valid-children.js.map +1 -1
  153. package/build/ui/utils/space.js +1 -1
  154. package/build/ui/utils/space.js.map +1 -1
  155. package/build/unit-control/index.js +2 -2
  156. package/build/unit-control/index.js.map +1 -1
  157. package/build/unit-control/utils.js +20 -20
  158. package/build/unit-control/utils.js.map +1 -1
  159. package/build/utils/events.js +4 -4
  160. package/build/utils/events.js.map +1 -1
  161. package/build/utils/hooks/use-controlled-state.js +2 -2
  162. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  163. package/build/utils/hooks/use-controlled-value.js +4 -4
  164. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  165. package/build/utils/hooks/use-latest-ref.js +1 -1
  166. package/build/utils/hooks/use-latest-ref.js.map +1 -1
  167. package/build/utils/unit-values.js +3 -3
  168. package/build/utils/unit-values.js.map +1 -1
  169. package/build-module/alignment-matrix-control/utils.js +4 -4
  170. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  171. package/build-module/angle-picker-control/angle-circle.js +37 -29
  172. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  173. package/build-module/angle-picker-control/index.js +42 -8
  174. package/build-module/angle-picker-control/index.js.map +1 -1
  175. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
  176. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  177. package/build-module/{base-field → angle-picker-control}/types.js +0 -0
  178. package/build-module/{base-field → angle-picker-control}/types.js.map +0 -0
  179. package/build-module/autocomplete/autocompleter-ui.native.js +1 -0
  180. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  181. package/build-module/base-control/hooks.js +1 -1
  182. package/build-module/base-control/hooks.js.map +1 -1
  183. package/build-module/border-box-control/utils.js +1 -1
  184. package/build-module/border-box-control/utils.js.map +1 -1
  185. package/build-module/box-control/all-input-control.js +2 -2
  186. package/build-module/box-control/all-input-control.js.map +1 -1
  187. package/build-module/box-control/axial-input-controls.js +1 -1
  188. package/build-module/box-control/axial-input-controls.js.map +1 -1
  189. package/build-module/box-control/icon.js.map +1 -1
  190. package/build-module/box-control/index.js +31 -3
  191. package/build-module/box-control/index.js.map +1 -1
  192. package/build-module/box-control/input-controls.js +5 -5
  193. package/build-module/box-control/input-controls.js.map +1 -1
  194. package/build-module/box-control/linked-button.js.map +1 -1
  195. package/build-module/box-control/styles/box-control-icon-styles.js +28 -28
  196. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  197. package/build-module/box-control/styles/box-control-styles.js +23 -23
  198. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  199. package/build-module/box-control/styles/box-control-visualizer-styles.js +19 -19
  200. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  201. package/build-module/box-control/types.js +2 -0
  202. package/{build/base-field → build-module/box-control}/types.js.map +0 -0
  203. package/build-module/box-control/unit-control.js.map +1 -1
  204. package/build-module/box-control/utils.js +23 -23
  205. package/build-module/box-control/utils.js.map +1 -1
  206. package/build-module/color-palette/index.js +8 -3
  207. package/build-module/color-palette/index.js.map +1 -1
  208. package/build-module/combobox-control/index.js +68 -12
  209. package/build-module/combobox-control/index.js.map +1 -1
  210. package/build-module/combobox-control/styles.js +2 -2
  211. package/build-module/combobox-control/styles.js.map +1 -1
  212. package/build-module/combobox-control/types.js +2 -0
  213. package/build-module/{resizable-box/styles/resizable-box.styles.js.map → combobox-control/types.js.map} +0 -0
  214. package/build-module/custom-gradient-picker/index.js +0 -1
  215. package/build-module/custom-gradient-picker/index.js.map +1 -1
  216. package/build-module/date-time/time/index.js +1 -1
  217. package/build-module/date-time/time/index.js.map +1 -1
  218. package/build-module/date-time/utils.js +1 -1
  219. package/build-module/date-time/utils.js.map +1 -1
  220. package/build-module/draggable/index.js +2 -2
  221. package/build-module/draggable/index.js.map +1 -1
  222. package/build-module/focal-point-picker/utils.js +3 -3
  223. package/build-module/focal-point-picker/utils.js.map +1 -1
  224. package/build-module/font-size-picker/utils.js +2 -2
  225. package/build-module/font-size-picker/utils.js.map +1 -1
  226. package/build-module/gradient-picker/index.js +9 -4
  227. package/build-module/gradient-picker/index.js.map +1 -1
  228. package/build-module/input-control/reducer/reducer.js +5 -5
  229. package/build-module/input-control/reducer/reducer.js.map +1 -1
  230. package/build-module/input-control/utils.js +1 -1
  231. package/build-module/input-control/utils.js.map +1 -1
  232. package/build-module/menu-items-choice/index.js +40 -4
  233. package/build-module/menu-items-choice/index.js.map +1 -1
  234. package/build-module/menu-items-choice/types.js +2 -0
  235. package/{build/resizable-box/styles/resizable-box.styles.js.map → build-module/menu-items-choice/types.js.map} +0 -0
  236. package/build-module/modal/index.js +41 -4
  237. package/build-module/modal/index.js.map +1 -1
  238. package/build-module/palette-edit/index.js +4 -1
  239. package/build-module/palette-edit/index.js.map +1 -1
  240. package/build-module/panel/header.js +9 -0
  241. package/build-module/panel/header.js.map +1 -1
  242. package/build-module/panel/index.js +20 -2
  243. package/build-module/panel/index.js.map +1 -1
  244. package/build-module/panel/row.js +9 -3
  245. package/build-module/panel/row.js.map +1 -1
  246. package/build-module/panel/types.js +2 -0
  247. package/build-module/panel/types.js.map +1 -0
  248. package/build-module/popover/index.js +14 -4
  249. package/build-module/popover/index.js.map +1 -1
  250. package/build-module/popover/overlay-middlewares.js +38 -0
  251. package/build-module/popover/overlay-middlewares.js.map +1 -0
  252. package/build-module/popover/utils.js +41 -5
  253. package/build-module/popover/utils.js.map +1 -1
  254. package/build-module/query-controls/terms.js +1 -1
  255. package/build-module/query-controls/terms.js.map +1 -1
  256. package/build-module/range-control/utils.js +4 -4
  257. package/build-module/range-control/utils.js.map +1 -1
  258. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
  259. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  260. package/build-module/resizable-box/resize-tooltip/utils.js +14 -14
  261. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  262. package/build-module/snackbar/index.js +2 -2
  263. package/build-module/snackbar/index.js.map +1 -1
  264. package/build-module/toolbar/toolbar/index.js +25 -13
  265. package/build-module/toolbar/toolbar/index.js.map +1 -1
  266. package/build-module/toolbar/toolbar/toolbar-container.js +4 -3
  267. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  268. package/build-module/toolbar/toolbar/types.js +2 -0
  269. package/build-module/toolbar/toolbar/types.js.map +1 -0
  270. package/build-module/toolbar/toolbar-button/index.js +1 -0
  271. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  272. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +1 -0
  273. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  274. package/build-module/toolbar/toolbar-context/index.js +2 -0
  275. package/build-module/toolbar/toolbar-context/index.js.map +1 -1
  276. package/build-module/toolbar/toolbar-dropdown-menu/index.js +1 -0
  277. package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  278. package/build-module/toolbar/toolbar-group/index.js +1 -0
  279. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  280. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +1 -0
  281. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  282. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +1 -0
  283. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  284. package/build-module/toolbar/toolbar-item/index.js +1 -0
  285. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  286. package/build-module/tools-panel/tools-panel/component.js +59 -4
  287. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  288. package/build-module/tools-panel/tools-panel/hook.js +4 -2
  289. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  290. package/build-module/tools-panel/tools-panel-header/component.js +2 -1
  291. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  292. package/build-module/tools-panel/tools-panel-header/hook.js +2 -0
  293. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  294. package/build-module/tools-panel/tools-panel-item/component.js +3 -3
  295. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  296. package/build-module/tools-panel/tools-panel-item/hook.js +5 -2
  297. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  298. package/build-module/tree-grid/cell.js +16 -4
  299. package/build-module/tree-grid/cell.js.map +1 -1
  300. package/build-module/tree-grid/index.js +81 -21
  301. package/build-module/tree-grid/index.js.map +1 -1
  302. package/build-module/tree-grid/item.js +14 -2
  303. package/build-module/tree-grid/item.js.map +1 -1
  304. package/build-module/tree-grid/roving-tab-index-context.js +1 -1
  305. package/build-module/tree-grid/roving-tab-index-context.js.map +1 -1
  306. package/build-module/tree-grid/roving-tab-index-item.js +11 -4
  307. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  308. package/build-module/tree-grid/roving-tab-index.js +0 -3
  309. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  310. package/build-module/tree-grid/row.js +22 -17
  311. package/build-module/tree-grid/row.js.map +1 -1
  312. package/build-module/tree-grid/types.js +2 -0
  313. package/build-module/tree-grid/types.js.map +1 -0
  314. package/build-module/ui/context/context-connect.js +7 -7
  315. package/build-module/ui/context/context-connect.js.map +1 -1
  316. package/build-module/ui/context/get-styled-class-name-from-key.js +1 -1
  317. package/build-module/ui/context/get-styled-class-name-from-key.js.map +1 -1
  318. package/build-module/ui/utils/get-valid-children.js +1 -1
  319. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  320. package/build-module/ui/utils/space.js +1 -1
  321. package/build-module/ui/utils/space.js.map +1 -1
  322. package/build-module/unit-control/index.js +2 -2
  323. package/build-module/unit-control/index.js.map +1 -1
  324. package/build-module/unit-control/utils.js +20 -20
  325. package/build-module/unit-control/utils.js.map +1 -1
  326. package/build-module/utils/events.js +4 -4
  327. package/build-module/utils/events.js.map +1 -1
  328. package/build-module/utils/hooks/use-controlled-state.js +2 -2
  329. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  330. package/build-module/utils/hooks/use-controlled-value.js +4 -4
  331. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  332. package/build-module/utils/hooks/use-latest-ref.js +1 -1
  333. package/build-module/utils/hooks/use-latest-ref.js.map +1 -1
  334. package/build-module/utils/unit-values.js +3 -3
  335. package/build-module/utils/unit-values.js.map +1 -1
  336. package/build-style/style-rtl.css +5 -0
  337. package/build-style/style.css +5 -0
  338. package/build-types/alignment-matrix-control/utils.d.ts +4 -4
  339. package/build-types/angle-picker-control/angle-circle.d.ts +6 -0
  340. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -0
  341. package/build-types/angle-picker-control/index.d.ts +29 -0
  342. package/build-types/angle-picker-control/index.d.ts.map +1 -0
  343. package/build-types/angle-picker-control/stories/index.d.ts +15 -0
  344. package/build-types/angle-picker-control/stories/index.d.ts.map +1 -0
  345. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +20 -0
  346. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -0
  347. package/build-types/angle-picker-control/types.d.ts +26 -0
  348. package/build-types/angle-picker-control/types.d.ts.map +1 -0
  349. package/build-types/base-control/hooks.d.ts +1 -1
  350. package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
  351. package/build-types/border-box-control/border-box-control/hook.d.ts +1 -1
  352. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  353. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +1 -1
  354. package/build-types/border-box-control/stories/index.d.ts +1 -1
  355. package/build-types/{base-field → border-box-control}/test/index.d.ts +0 -0
  356. package/build-types/border-box-control/test/index.d.ts.map +1 -0
  357. package/build-types/border-box-control/test/utils.d.ts +2 -0
  358. package/build-types/border-box-control/test/utils.d.ts.map +1 -0
  359. package/build-types/box-control/all-input-control.d.ts +4 -0
  360. package/build-types/box-control/all-input-control.d.ts.map +1 -0
  361. package/build-types/box-control/axial-input-controls.d.ts +4 -0
  362. package/build-types/box-control/axial-input-controls.d.ts.map +1 -0
  363. package/build-types/box-control/icon.d.ts +8 -0
  364. package/build-types/box-control/icon.d.ts.map +1 -0
  365. package/build-types/box-control/index.d.ts +31 -0
  366. package/build-types/box-control/index.d.ts.map +1 -0
  367. package/build-types/box-control/input-controls.d.ts +4 -0
  368. package/build-types/box-control/input-controls.d.ts.map +1 -0
  369. package/build-types/box-control/linked-button.d.ts +9 -0
  370. package/build-types/box-control/linked-button.d.ts.map +1 -0
  371. package/build-types/box-control/styles/box-control-icon-styles.d.ts +42 -0
  372. package/build-types/box-control/styles/box-control-icon-styles.d.ts.map +1 -0
  373. package/build-types/box-control/styles/box-control-styles.d.ts +42 -0
  374. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -0
  375. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts +46 -0
  376. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts.map +1 -0
  377. package/build-types/box-control/test/index.d.ts +2 -0
  378. package/build-types/box-control/test/index.d.ts.map +1 -0
  379. package/build-types/box-control/types.d.ts +99 -0
  380. package/build-types/box-control/types.d.ts.map +1 -0
  381. package/build-types/box-control/unit-control.d.ts +4 -0
  382. package/build-types/box-control/unit-control.d.ts.map +1 -0
  383. package/build-types/box-control/utils.d.ts +84 -0
  384. package/build-types/box-control/utils.d.ts.map +1 -0
  385. package/build-types/color-palette/index.d.ts +3 -1
  386. package/build-types/color-palette/index.d.ts.map +1 -1
  387. package/build-types/color-palette/stories/index.d.ts +6 -2
  388. package/build-types/color-palette/stories/index.d.ts.map +1 -1
  389. package/build-types/color-palette/types.d.ts +8 -0
  390. package/build-types/color-palette/types.d.ts.map +1 -1
  391. package/build-types/combobox-control/index.d.ts +51 -0
  392. package/build-types/combobox-control/index.d.ts.map +1 -0
  393. package/build-types/combobox-control/stories/index.d.ts +18 -0
  394. package/build-types/combobox-control/stories/index.d.ts.map +1 -0
  395. package/build-types/combobox-control/styles.d.ts +8 -0
  396. package/build-types/combobox-control/styles.d.ts.map +1 -0
  397. package/build-types/combobox-control/test/index.d.ts +2 -0
  398. package/build-types/combobox-control/test/index.d.ts.map +1 -0
  399. package/build-types/combobox-control/types.d.ts +62 -0
  400. package/build-types/combobox-control/types.d.ts.map +1 -0
  401. package/build-types/date-time/utils.d.ts +1 -1
  402. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  403. package/build-types/focal-point-picker/utils.d.ts +3 -3
  404. package/build-types/font-size-picker/utils.d.ts +2 -2
  405. package/build-types/input-control/reducer/reducer.d.ts +3 -3
  406. package/build-types/input-control/utils.d.ts +1 -1
  407. package/build-types/menu-items-choice/index.d.ts +38 -0
  408. package/build-types/menu-items-choice/index.d.ts.map +1 -0
  409. package/build-types/menu-items-choice/stories/index.d.ts +12 -0
  410. package/build-types/menu-items-choice/stories/index.d.ts.map +1 -0
  411. package/build-types/menu-items-choice/types.d.ts +53 -0
  412. package/build-types/menu-items-choice/types.d.ts.map +1 -0
  413. package/build-types/modal/index.d.ts.map +1 -1
  414. package/build-types/modal/types.d.ts +2 -0
  415. package/build-types/modal/types.d.ts.map +1 -1
  416. package/build-types/panel/header.d.ts +13 -0
  417. package/build-types/panel/header.d.ts.map +1 -0
  418. package/build-types/panel/index.d.ts +21 -0
  419. package/build-types/panel/index.d.ts.map +1 -0
  420. package/build-types/panel/row.d.ts +12 -0
  421. package/build-types/panel/row.d.ts.map +1 -0
  422. package/build-types/panel/test/header.d.ts +2 -0
  423. package/build-types/panel/test/header.d.ts.map +1 -0
  424. package/build-types/panel/test/index.d.ts +2 -0
  425. package/build-types/{base-field → panel}/test/index.d.ts.map +1 -1
  426. package/build-types/panel/test/row.d.ts +2 -0
  427. package/build-types/panel/test/row.d.ts.map +1 -0
  428. package/build-types/panel/types.d.ts +38 -0
  429. package/build-types/panel/types.d.ts.map +1 -0
  430. package/build-types/popover/index.d.ts.map +1 -1
  431. package/build-types/popover/overlay-middlewares.d.ts +9 -0
  432. package/build-types/popover/overlay-middlewares.d.ts.map +1 -0
  433. package/build-types/popover/stories/index.d.ts.map +1 -1
  434. package/build-types/popover/types.d.ts +3 -2
  435. package/build-types/popover/types.d.ts.map +1 -1
  436. package/build-types/popover/utils.d.ts +12 -4
  437. package/build-types/popover/utils.d.ts.map +1 -1
  438. package/build-types/query-controls/terms.d.ts +1 -1
  439. package/build-types/range-control/utils.d.ts +4 -4
  440. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +5 -4
  441. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  442. package/build-types/resizable-box/resize-tooltip/utils.d.ts +6 -6
  443. package/build-types/toolbar/index.d.ts +7 -0
  444. package/build-types/toolbar/index.d.ts.map +1 -0
  445. package/build-types/toolbar/stories/index.d.ts +14 -0
  446. package/build-types/toolbar/stories/index.d.ts.map +1 -0
  447. package/build-types/toolbar/test/index.d.ts +2 -0
  448. package/build-types/toolbar/test/index.d.ts.map +1 -0
  449. package/build-types/toolbar/test/toolbar-group.d.ts +2 -0
  450. package/build-types/toolbar/test/toolbar-group.d.ts.map +1 -0
  451. package/build-types/toolbar/toolbar/index.d.ts +25 -0
  452. package/build-types/toolbar/toolbar/index.d.ts.map +1 -0
  453. package/build-types/toolbar/toolbar/toolbar-container.d.ts +5 -0
  454. package/build-types/toolbar/toolbar/toolbar-container.d.ts.map +1 -0
  455. package/build-types/toolbar/toolbar/types.d.ts +15 -0
  456. package/build-types/toolbar/toolbar/types.d.ts.map +1 -0
  457. package/build-types/toolbar/toolbar-button/index.d.ts +12 -0
  458. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -0
  459. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +3 -0
  460. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -0
  461. package/build-types/toolbar/toolbar-context/index.d.ts +3 -0
  462. package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -0
  463. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -0
  464. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -0
  465. package/build-types/toolbar/toolbar-group/index.d.ts +39 -0
  466. package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -0
  467. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +7 -0
  468. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -0
  469. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -0
  470. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -0
  471. package/build-types/toolbar/toolbar-item/index.d.ts +7 -0
  472. package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -0
  473. package/build-types/tools-panel/stories/index.d.ts +17 -0
  474. package/build-types/tools-panel/stories/index.d.ts.map +1 -0
  475. package/build-types/tools-panel/tools-panel/component.d.ts +54 -2
  476. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  477. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
  478. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  479. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  480. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
  481. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  482. package/build-types/tools-panel/tools-panel-item/component.d.ts +2 -2
  483. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  484. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  485. package/build-types/tools-panel/types.d.ts +42 -15
  486. package/build-types/tools-panel/types.d.ts.map +1 -1
  487. package/build-types/tree-grid/cell.d.ts +13 -0
  488. package/build-types/tree-grid/cell.d.ts.map +1 -0
  489. package/build-types/tree-grid/index.d.ts +70 -0
  490. package/build-types/tree-grid/index.d.ts.map +1 -0
  491. package/build-types/tree-grid/item.d.ts +12 -0
  492. package/build-types/tree-grid/item.d.ts.map +1 -0
  493. package/build-types/tree-grid/roving-tab-index-context.d.ts +10 -0
  494. package/build-types/tree-grid/roving-tab-index-context.d.ts.map +1 -0
  495. package/build-types/tree-grid/roving-tab-index-item.d.ts +5 -0
  496. package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -0
  497. package/build-types/tree-grid/roving-tab-index.d.ts +10 -0
  498. package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -0
  499. package/build-types/tree-grid/row.d.ts +12 -0
  500. package/build-types/tree-grid/row.d.ts.map +1 -0
  501. package/build-types/tree-grid/stories/index.d.ts +13 -0
  502. package/build-types/tree-grid/stories/index.d.ts.map +1 -0
  503. package/build-types/tree-grid/test/cell.d.ts +2 -0
  504. package/build-types/tree-grid/test/cell.d.ts.map +1 -0
  505. package/build-types/tree-grid/test/index.d.ts +2 -0
  506. package/build-types/tree-grid/test/index.d.ts.map +1 -0
  507. package/build-types/tree-grid/test/roving-tab-index-item.d.ts +2 -0
  508. package/build-types/tree-grid/test/roving-tab-index-item.d.ts.map +1 -0
  509. package/build-types/tree-grid/test/roving-tab-index.d.ts +2 -0
  510. package/build-types/tree-grid/test/roving-tab-index.d.ts.map +1 -0
  511. package/build-types/tree-grid/test/row.d.ts +2 -0
  512. package/build-types/tree-grid/test/row.d.ts.map +1 -0
  513. package/build-types/tree-grid/types.d.ts +109 -0
  514. package/build-types/tree-grid/types.d.ts.map +1 -0
  515. package/build-types/ui/context/context-connect.d.ts +7 -7
  516. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -1
  517. package/build-types/ui/utils/get-valid-children.d.ts +1 -1
  518. package/build-types/ui/utils/space.d.ts +1 -1
  519. package/build-types/unit-control/index.d.ts +1 -1
  520. package/build-types/unit-control/utils.d.ts +20 -20
  521. package/build-types/utils/events.d.ts +2 -2
  522. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  523. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  524. package/build-types/utils/hooks/use-controlled-value.d.ts +4 -4
  525. package/build-types/utils/hooks/use-latest-ref.d.ts +1 -1
  526. package/build-types/utils/unit-values.d.ts +3 -3
  527. package/package.json +19 -19
  528. package/src/alignment-matrix-control/utils.tsx +4 -4
  529. package/src/angle-picker-control/README.md +17 -14
  530. package/src/angle-picker-control/{angle-circle.js → angle-circle.tsx} +44 -12
  531. package/src/angle-picker-control/{index.js → index.tsx} +54 -10
  532. package/src/angle-picker-control/stories/index.tsx +57 -0
  533. package/src/angle-picker-control/styles/{angle-picker-control-styles.js → angle-picker-control-styles.tsx} +5 -1
  534. package/src/angle-picker-control/types.ts +29 -0
  535. package/src/autocomplete/autocompleter-ui.native.js +1 -0
  536. package/src/base-control/hooks.ts +1 -1
  537. package/src/border-box-control/test/{index.js → index.tsx} +76 -102
  538. package/src/border-box-control/test/{utils.js → utils.ts} +20 -0
  539. package/src/border-box-control/utils.ts +1 -1
  540. package/src/box-control/README.md +17 -26
  541. package/src/box-control/{all-input-control.js → all-input-control.tsx} +10 -6
  542. package/src/box-control/{axial-input-controls.js → axial-input-controls.tsx} +29 -24
  543. package/src/box-control/{icon.js → icon.tsx} +9 -4
  544. package/src/box-control/{index.js → index.tsx} +43 -8
  545. package/src/box-control/{input-controls.js → input-controls.tsx} +26 -16
  546. package/src/box-control/{linked-button.js → linked-button.tsx} +4 -1
  547. package/src/box-control/styles/{box-control-icon-styles.js → box-control-icon-styles.ts} +1 -1
  548. package/src/box-control/styles/{box-control-styles.js → box-control-styles.ts} +10 -2
  549. package/src/box-control/styles/{box-control-visualizer-styles.js → box-control-visualizer-styles.ts} +6 -2
  550. package/src/box-control/test/{index.js → index.tsx} +12 -9
  551. package/src/box-control/types.ts +121 -0
  552. package/src/box-control/{unit-control.js → unit-control.tsx} +9 -2
  553. package/src/box-control/{utils.js → utils.ts} +47 -38
  554. package/src/button/test/index.tsx +38 -30
  555. package/src/color-palette/README.md +7 -0
  556. package/src/color-palette/index.tsx +6 -1
  557. package/src/color-palette/types.ts +8 -0
  558. package/src/combobox-control/README.md +8 -15
  559. package/src/combobox-control/{index.js → index.tsx} +91 -19
  560. package/src/combobox-control/stories/index.tsx +114 -0
  561. package/src/combobox-control/styles.ts +4 -1
  562. package/src/combobox-control/test/{index.js → index.tsx} +9 -7
  563. package/src/combobox-control/types.ts +69 -0
  564. package/src/custom-gradient-picker/index.js +0 -1
  565. package/src/custom-select-control/stories/index.js +1 -1
  566. package/src/date-time/time/index.tsx +1 -1
  567. package/src/date-time/utils.ts +1 -1
  568. package/src/draggable/index.tsx +2 -2
  569. package/src/dropdown-menu/test/index.js +3 -11
  570. package/src/focal-point-picker/utils.ts +3 -3
  571. package/src/font-size-picker/utils.ts +2 -2
  572. package/src/gradient-picker/README.md +8 -0
  573. package/src/gradient-picker/index.js +6 -1
  574. package/src/input-control/reducer/reducer.ts +5 -5
  575. package/src/input-control/utils.ts +1 -1
  576. package/src/menu-items-choice/index.tsx +83 -0
  577. package/src/menu-items-choice/stories/index.tsx +79 -0
  578. package/src/menu-items-choice/types.ts +54 -0
  579. package/src/modal/index.tsx +45 -1
  580. package/src/modal/style.scss +8 -0
  581. package/src/modal/types.ts +2 -0
  582. package/src/palette-edit/index.js +4 -1
  583. package/src/panel/README.md +2 -2
  584. package/src/panel/header.tsx +20 -0
  585. package/src/panel/index.tsx +48 -0
  586. package/src/panel/row.tsx +37 -0
  587. package/src/panel/stories/index.js +22 -0
  588. package/src/panel/test/__snapshots__/{header.js.snap → header.tsx.snap} +0 -0
  589. package/src/panel/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  590. package/src/panel/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
  591. package/src/panel/test/{header.js → header.tsx} +1 -1
  592. package/src/panel/test/{index.js → index.tsx} +6 -4
  593. package/src/panel/test/{row.js → row.tsx} +4 -2
  594. package/src/panel/types.ts +38 -0
  595. package/src/popover/README.md +4 -1
  596. package/src/popover/index.tsx +17 -1
  597. package/src/popover/overlay-middlewares.tsx +29 -0
  598. package/src/popover/stories/index.tsx +7 -1
  599. package/src/popover/test/index.tsx +29 -21
  600. package/src/popover/types.ts +4 -2
  601. package/src/popover/utils.ts +39 -3
  602. package/src/query-controls/terms.ts +1 -1
  603. package/src/range-control/utils.ts +4 -4
  604. package/src/resizable-box/resize-tooltip/styles/{resize-tooltip.styles.js → resize-tooltip.styles.ts} +0 -0
  605. package/src/resizable-box/resize-tooltip/utils.ts +14 -14
  606. package/src/snackbar/index.tsx +2 -2
  607. package/src/toolbar/stories/{index.js → index.tsx} +39 -26
  608. package/src/toolbar/test/{index.js → index.tsx} +0 -0
  609. package/src/toolbar/test/{toolbar-group.js → toolbar-group.tsx} +2 -2
  610. package/src/toolbar/toolbar/README.md +7 -2
  611. package/src/toolbar/toolbar/{index.js → index.tsx} +33 -12
  612. package/src/toolbar/toolbar/{toolbar-container.js → toolbar-container.tsx} +9 -2
  613. package/src/toolbar/toolbar/types.ts +15 -0
  614. package/src/toolbar/toolbar-button/index.js +2 -0
  615. package/src/toolbar/toolbar-button/toolbar-button-container.js +2 -0
  616. package/src/toolbar/toolbar-context/index.js +2 -0
  617. package/src/toolbar/toolbar-dropdown-menu/index.js +2 -0
  618. package/src/toolbar/toolbar-group/index.js +2 -0
  619. package/src/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
  620. package/src/toolbar/toolbar-group/toolbar-group-container.js +2 -0
  621. package/src/toolbar/toolbar-item/index.js +2 -0
  622. package/src/tools-panel/stories/{index.js → index.tsx} +196 -95
  623. package/src/tools-panel/test/index.js +6 -6
  624. package/src/tools-panel/tools-panel/README.md +12 -4
  625. package/src/tools-panel/tools-panel/component.tsx +57 -3
  626. package/src/tools-panel/tools-panel/hook.ts +4 -2
  627. package/src/tools-panel/tools-panel-header/README.md +7 -0
  628. package/src/tools-panel/tools-panel-header/component.tsx +2 -1
  629. package/src/tools-panel/tools-panel-header/hook.ts +6 -4
  630. package/src/tools-panel/tools-panel-item/README.md +6 -4
  631. package/src/tools-panel/tools-panel-item/component.tsx +4 -4
  632. package/src/tools-panel/tools-panel-item/hook.ts +4 -2
  633. package/src/tools-panel/types.ts +43 -15
  634. package/src/tree-grid/README.md +18 -58
  635. package/src/tree-grid/cell.tsx +41 -0
  636. package/src/tree-grid/{index.js → index.tsx} +111 -35
  637. package/src/tree-grid/item.tsx +32 -0
  638. package/src/tree-grid/{roving-tab-index-context.js → roving-tab-index-context.ts} +9 -1
  639. package/src/tree-grid/roving-tab-index-item.tsx +50 -0
  640. package/src/tree-grid/{roving-tab-index.js → roving-tab-index.tsx} +7 -5
  641. package/src/tree-grid/row.tsx +47 -0
  642. package/src/tree-grid/stories/index.tsx +144 -0
  643. package/src/tree-grid/test/__snapshots__/{cell.js.snap → cell.tsx.snap} +0 -0
  644. package/src/tree-grid/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  645. package/src/tree-grid/test/__snapshots__/{roving-tab-index-item.js.snap → roving-tab-index-item.tsx.snap} +0 -0
  646. package/src/tree-grid/test/__snapshots__/{roving-tab-index.js.snap → roving-tab-index.tsx.snap} +0 -0
  647. package/src/tree-grid/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
  648. package/src/tree-grid/test/{cell.js → cell.tsx} +7 -4
  649. package/src/tree-grid/test/{index.js → index.tsx} +13 -5
  650. package/src/tree-grid/test/{roving-tab-index-item.js → roving-tab-index-item.tsx} +7 -4
  651. package/src/tree-grid/test/{roving-tab-index.js → roving-tab-index.tsx} +0 -0
  652. package/src/tree-grid/test/{row.js → row.tsx} +4 -4
  653. package/src/tree-grid/types.ts +116 -0
  654. package/src/ui/context/context-connect.ts +7 -7
  655. package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
  656. package/src/ui/utils/get-valid-children.ts +1 -1
  657. package/src/ui/utils/space.ts +1 -1
  658. package/src/unit-control/index.tsx +2 -2
  659. package/src/unit-control/utils.ts +20 -20
  660. package/src/utils/events.ts +4 -4
  661. package/src/utils/hooks/use-controlled-state.js +2 -2
  662. package/src/utils/hooks/use-controlled-value.ts +4 -4
  663. package/src/utils/hooks/use-latest-ref.ts +1 -1
  664. package/src/utils/unit-values.ts +3 -3
  665. package/tsconfig.json +1 -7
  666. package/tsconfig.tsbuildinfo +1 -1
  667. package/build/base-field/hook.js +0 -54
  668. package/build/base-field/hook.js.map +0 -1
  669. package/build/base-field/index.js +0 -14
  670. package/build/base-field/index.js.map +0 -1
  671. package/build/base-field/styles.js +0 -33
  672. package/build/base-field/styles.js.map +0 -1
  673. package/build/resizable-box/styles/resizable-box.styles.js +0 -2
  674. package/build-module/base-field/hook.js +0 -37
  675. package/build-module/base-field/hook.js.map +0 -1
  676. package/build-module/base-field/index.js +0 -2
  677. package/build-module/base-field/index.js.map +0 -1
  678. package/build-module/base-field/styles.js +0 -18
  679. package/build-module/base-field/styles.js.map +0 -1
  680. package/build-module/resizable-box/styles/resizable-box.styles.js +0 -2
  681. package/build-types/base-field/hook.d.ts +0 -270
  682. package/build-types/base-field/hook.d.ts.map +0 -1
  683. package/build-types/base-field/index.d.ts +0 -2
  684. package/build-types/base-field/index.d.ts.map +0 -1
  685. package/build-types/base-field/styles.d.ts +0 -6
  686. package/build-types/base-field/styles.d.ts.map +0 -1
  687. package/build-types/base-field/types.d.ts +0 -29
  688. package/build-types/base-field/types.d.ts.map +0 -1
  689. package/build-types/resizable-box/styles/resizable-box.styles.d.ts +0 -1
  690. package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +0 -1
  691. package/src/angle-picker-control/stories/index.js +0 -29
  692. package/src/base-field/README.md +0 -66
  693. package/src/base-field/hook.ts +0 -51
  694. package/src/base-field/index.ts +0 -1
  695. package/src/base-field/styles.ts +0 -86
  696. package/src/base-field/test/__snapshots__/index.tsx.snap +0 -141
  697. package/src/base-field/test/index.tsx +0 -84
  698. package/src/base-field/types.ts +0 -29
  699. package/src/combobox-control/stories/index.js +0 -339
  700. package/src/menu-items-choice/index.js +0 -43
  701. package/src/panel/header.js +0 -10
  702. package/src/panel/index.js +0 -26
  703. package/src/panel/row.js +0 -20
  704. package/src/resizable-box/styles/resizable-box.styles.js +0 -0
  705. package/src/tools-panel/stories/utils/tools-panel-with-item-group-slot.js +0 -246
  706. package/src/tree-grid/cell.js +0 -24
  707. package/src/tree-grid/item.js +0 -20
  708. package/src/tree-grid/roving-tab-index-item.js +0 -33
  709. package/src/tree-grid/row.js +0 -31
  710. package/src/tree-grid/stories/index.js +0 -106
@@ -0,0 +1,121 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { useHover } from '@use-gesture/react';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import type { UnitControlProps } from '../unit-control/types';
10
+ import type { LABELS } from './utils';
11
+
12
+ export type BoxControlValue = {
13
+ top?: string;
14
+ right?: string;
15
+ bottom?: string;
16
+ left?: string;
17
+ };
18
+
19
+ type UnitControlPassthroughProps = Omit<
20
+ UnitControlProps,
21
+ 'label' | 'onChange' | 'onFocus' | 'onMouseOver' | 'onMouseOut' | 'units'
22
+ >;
23
+
24
+ export type BoxControlProps = Pick<
25
+ UnitControlProps,
26
+ 'onMouseOver' | 'onMouseOut' | 'units'
27
+ > & {
28
+ /**
29
+ * If this property is true, a button to reset the box control is rendered.
30
+ *
31
+ * @default true
32
+ */
33
+ allowReset?: boolean;
34
+ /**
35
+ * The id to use as a base for the unique HTML id attribute of the control.
36
+ */
37
+ id?: string;
38
+ /**
39
+ * Props for the internal `UnitControl` components.
40
+ *
41
+ * @default `{ min: 0 }`
42
+ */
43
+ inputProps?: UnitControlPassthroughProps;
44
+ /**
45
+ * Heading label for the control.
46
+ *
47
+ * @default `__( 'Box Control' )`
48
+ */
49
+ label?: string;
50
+ /**
51
+ * A callback function when an input value changes.
52
+ */
53
+ onChange: ( next: BoxControlValue ) => void;
54
+ /**
55
+ * The `top`, `right`, `bottom`, and `left` box dimension values to use when the control is reset.
56
+ *
57
+ * @default `{ top: undefined, right: undefined, bottom: undefined, left: undefined }`
58
+ */
59
+ resetValues?: BoxControlValue;
60
+ /**
61
+ * Collection of sides to allow control of. If omitted or empty, all sides will be available.
62
+ */
63
+ sides?: readonly ( keyof BoxControlValue | 'horizontal' | 'vertical' )[];
64
+ /**
65
+ * If this property is true, when the box control is unlinked, vertical and horizontal controls
66
+ * can be used instead of updating individual sides.
67
+ *
68
+ * @default false
69
+ */
70
+ splitOnAxis?: boolean;
71
+ /**
72
+ * The current values of the control, expressed as an object of `top`, `right`, `bottom`, and `left` values.
73
+ */
74
+ values?: BoxControlValue;
75
+ };
76
+
77
+ export type BoxControlInputControlProps = UnitControlPassthroughProps & {
78
+ onChange?: ( nextValues: BoxControlValue ) => void;
79
+ onFocus?: (
80
+ _event: React.FocusEvent< HTMLInputElement >,
81
+ { side }: { side: keyof typeof LABELS }
82
+ ) => void;
83
+ onHoverOff?: (
84
+ sides: Partial< Record< keyof BoxControlValue, boolean > >
85
+ ) => void;
86
+ onHoverOn?: (
87
+ sides: Partial< Record< keyof BoxControlValue, boolean > >
88
+ ) => void;
89
+ selectedUnits: BoxControlValue;
90
+ setSelectedUnits: React.Dispatch< React.SetStateAction< BoxControlValue > >;
91
+ sides: BoxControlProps[ 'sides' ];
92
+ values: BoxControlValue;
93
+ };
94
+
95
+ export type BoxUnitControlProps = UnitControlPassthroughProps &
96
+ Pick< UnitControlProps, 'onChange' | 'onFocus' > & {
97
+ isFirst?: boolean;
98
+ isLast?: boolean;
99
+ isOnly?: boolean;
100
+ label?: string;
101
+ onHoverOff?: (
102
+ event: ReturnType< typeof useHover >[ 'event' ],
103
+ state: Omit< ReturnType< typeof useHover >, 'event' >
104
+ ) => void;
105
+ onHoverOn?: (
106
+ event: ReturnType< typeof useHover >[ 'event' ],
107
+ state: Omit< ReturnType< typeof useHover >, 'event' >
108
+ ) => void;
109
+ };
110
+
111
+ export type BoxControlIconProps = {
112
+ /**
113
+ * @default 24
114
+ */
115
+ size?: number;
116
+ /**
117
+ * @default 'all'
118
+ */
119
+ side?: keyof typeof LABELS;
120
+ sides?: BoxControlProps[ 'sides' ];
121
+ };
@@ -8,6 +8,7 @@ import { useHover } from '@use-gesture/react';
8
8
  */
9
9
  import BaseTooltip from '../tooltip';
10
10
  import { UnitControlWrapper, UnitControl } from './styles/box-control-styles';
11
+ import type { BoxUnitControlProps } from './types';
11
12
 
12
13
  const noop = () => {};
13
14
 
@@ -20,7 +21,7 @@ export default function BoxUnitControl( {
20
21
  label,
21
22
  value,
22
23
  ...props
23
- } ) {
24
+ }: BoxUnitControlProps ) {
24
25
  const bindHoverGesture = useHover( ( { event, ...state } ) => {
25
26
  if ( state.hovering ) {
26
27
  onHoverOn( event, state );
@@ -48,7 +49,13 @@ export default function BoxUnitControl( {
48
49
  );
49
50
  }
50
51
 
51
- function Tooltip( { children, text } ) {
52
+ function Tooltip( {
53
+ children,
54
+ text,
55
+ }: {
56
+ children: JSX.Element;
57
+ text?: string;
58
+ } ) {
52
59
  if ( ! text ) return children;
53
60
 
54
61
  /**
@@ -7,6 +7,7 @@ import { __ } from '@wordpress/i18n';
7
7
  * Internal dependencies
8
8
  */
9
9
  import { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';
10
+ import type { BoxControlProps, BoxControlValue } from './types';
10
11
 
11
12
  export const LABELS = {
12
13
  all: __( 'All' ),
@@ -26,16 +27,16 @@ export const DEFAULT_VALUES = {
26
27
  left: undefined,
27
28
  };
28
29
 
29
- export const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];
30
+ export const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ] as const;
30
31
 
31
32
  /**
32
33
  * Gets an items with the most occurrence within an array
33
34
  * https://stackoverflow.com/a/20762713
34
35
  *
35
- * @param {Array<any>} arr Array of items to check.
36
- * @return {any} The item with the most occurrences.
36
+ * @param arr Array of items to check.
37
+ * @return The item with the most occurrences.
37
38
  */
38
- function mode( arr ) {
39
+ function mode< T >( arr: T[] ) {
39
40
  return arr
40
41
  .sort(
41
42
  ( a, b ) =>
@@ -48,16 +49,16 @@ function mode( arr ) {
48
49
  /**
49
50
  * Gets the 'all' input value and unit from values data.
50
51
  *
51
- * @param {Object} values Box values.
52
- * @param {Object} selectedUnits Box units.
53
- * @param {Array} availableSides Available box sides to evaluate.
52
+ * @param values Box values.
53
+ * @param selectedUnits Box units.
54
+ * @param availableSides Available box sides to evaluate.
54
55
  *
55
- * @return {string} A value + unit for the 'all' input.
56
+ * @return A value + unit for the 'all' input.
56
57
  */
57
58
  export function getAllValue(
58
- values = {},
59
- selectedUnits,
60
- availableSides = ALL_SIDES
59
+ values: BoxControlValue = {},
60
+ selectedUnits?: BoxControlValue,
61
+ availableSides: BoxControlProps[ 'sides' ] = ALL_SIDES
61
62
  ) {
62
63
  const sides = normalizeSides( availableSides );
63
64
  const parsedQuantitiesAndUnits = sides.map( ( side ) =>
@@ -101,10 +102,10 @@ export function getAllValue(
101
102
  /**
102
103
  * Determine the most common unit selection to use as a fallback option.
103
104
  *
104
- * @param {Object} selectedUnits Current unit selections for individual sides.
105
- * @return {string} Most common unit selection.
105
+ * @param selectedUnits Current unit selections for individual sides.
106
+ * @return Most common unit selection.
106
107
  */
107
- export function getAllUnitFallback( selectedUnits ) {
108
+ export function getAllUnitFallback( selectedUnits?: BoxControlValue ) {
108
109
  if ( ! selectedUnits || typeof selectedUnits !== 'object' ) {
109
110
  return undefined;
110
111
  }
@@ -117,13 +118,17 @@ export function getAllUnitFallback( selectedUnits ) {
117
118
  /**
118
119
  * Checks to determine if values are mixed.
119
120
  *
120
- * @param {Object} values Box values.
121
- * @param {Object} selectedUnits Box units.
122
- * @param {Array} sides Available box sides to evaluate.
121
+ * @param values Box values.
122
+ * @param selectedUnits Box units.
123
+ * @param sides Available box sides to evaluate.
123
124
  *
124
- * @return {boolean} Whether values are mixed.
125
+ * @return Whether values are mixed.
125
126
  */
126
- export function isValuesMixed( values = {}, selectedUnits, sides = ALL_SIDES ) {
127
+ export function isValuesMixed(
128
+ values: BoxControlValue = {},
129
+ selectedUnits?: BoxControlValue,
130
+ sides: BoxControlProps[ 'sides' ] = ALL_SIDES
131
+ ) {
127
132
  const allValue = getAllValue( values, selectedUnits, sides );
128
133
  const isMixed = isNaN( parseFloat( allValue ) );
129
134
 
@@ -133,11 +138,11 @@ export function isValuesMixed( values = {}, selectedUnits, sides = ALL_SIDES ) {
133
138
  /**
134
139
  * Checks to determine if values are defined.
135
140
  *
136
- * @param {Object} values Box values.
141
+ * @param values Box values.
137
142
  *
138
- * @return {boolean} Whether values are mixed.
143
+ * @return Whether values are mixed.
139
144
  */
140
- export function isValuesDefined( values ) {
145
+ export function isValuesDefined( values?: BoxControlValue ) {
141
146
  return (
142
147
  values !== undefined &&
143
148
  Object.values( values ).filter(
@@ -153,12 +158,12 @@ export function isValuesDefined( values ) {
153
158
  * Get initial selected side, factoring in whether the sides are linked,
154
159
  * and whether the vertical / horizontal directions are grouped via splitOnAxis.
155
160
  *
156
- * @param {boolean} isLinked Whether the box control's fields are linked.
157
- * @param {boolean} splitOnAxis Whether splitting by horizontal or vertical axis.
158
- * @return {string} The initial side.
161
+ * @param isLinked Whether the box control's fields are linked.
162
+ * @param splitOnAxis Whether splitting by horizontal or vertical axis.
163
+ * @return The initial side.
159
164
  */
160
- export function getInitialSide( isLinked, splitOnAxis ) {
161
- let initialSide = 'all';
165
+ export function getInitialSide( isLinked: boolean, splitOnAxis: boolean ) {
166
+ let initialSide: keyof typeof LABELS = 'all';
162
167
 
163
168
  if ( ! isLinked ) {
164
169
  initialSide = splitOnAxis ? 'vertical' : 'top';
@@ -173,20 +178,20 @@ export function getInitialSide( isLinked, splitOnAxis ) {
173
178
  * to their appropriate sides to facilitate correctly determining value for
174
179
  * all input control.
175
180
  *
176
- * @param {Array} sides Available sides for box control.
177
- * @return {Array} Normalized sides configuration.
181
+ * @param sides Available sides for box control.
182
+ * @return Normalized sides configuration.
178
183
  */
179
- export function normalizeSides( sides ) {
180
- const filteredSides = [];
184
+ export function normalizeSides( sides: BoxControlProps[ 'sides' ] ) {
185
+ const filteredSides: ( keyof BoxControlValue )[] = [];
181
186
 
182
187
  if ( ! sides?.length ) {
183
188
  return ALL_SIDES;
184
189
  }
185
190
 
186
191
  if ( sides.includes( 'vertical' ) ) {
187
- filteredSides.push( ...[ 'top', 'bottom' ] );
192
+ filteredSides.push( ...( [ 'top', 'bottom' ] as const ) );
188
193
  } else if ( sides.includes( 'horizontal' ) ) {
189
- filteredSides.push( ...[ 'left', 'right' ] );
194
+ filteredSides.push( ...( [ 'left', 'right' ] as const ) );
190
195
  } else {
191
196
  const newSides = ALL_SIDES.filter( ( side ) => sides.includes( side ) );
192
197
  filteredSides.push( ...newSides );
@@ -199,13 +204,17 @@ export function normalizeSides( sides ) {
199
204
  * Applies a value to an object representing top, right, bottom and left sides
200
205
  * while taking into account any custom side configuration.
201
206
  *
202
- * @param {Object} currentValues The current values for each side.
203
- * @param {string|number} newValue The value to apply to the sides object.
204
- * @param {string[]} sides Array defining valid sides.
207
+ * @param currentValues The current values for each side.
208
+ * @param newValue The value to apply to the sides object.
209
+ * @param sides Array defining valid sides.
205
210
  *
206
- * @return {Object} Object containing the updated values for each side.
211
+ * @return Object containing the updated values for each side.
207
212
  */
208
- export function applyValueToSides( currentValues, newValue, sides ) {
213
+ export function applyValueToSides(
214
+ currentValues: BoxControlValue,
215
+ newValue?: string,
216
+ sides?: BoxControlProps[ 'sides' ]
217
+ ): BoxControlValue {
209
218
  const newValues = { ...currentValues };
210
219
 
211
220
  if ( sides?.length ) {
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { act, render, screen } from '@testing-library/react';
4
+ import { render, screen } from '@testing-library/react';
5
+ import userEvent from '@testing-library/user-event';
5
6
 
6
7
  /**
7
8
  * WordPress dependencies
@@ -76,9 +77,14 @@ describe( 'Button', () => {
76
77
  expect( screen.getByRole( 'button' ) ).toHaveClass( 'is-pressed' );
77
78
  } );
78
79
 
79
- it( 'should render a button element with has-text when children are passed', () => {
80
+ it( 'should render a button element with has-text when children are passed', async () => {
81
+ const user = userEvent.setup();
82
+
80
83
  render( <Button icon={ plusCircle }>Children</Button> );
81
- act( () => screen.getByRole( 'button' ).focus() );
84
+
85
+ // Move focus to the button
86
+ await user.tab();
87
+
82
88
  expect( screen.getByRole( 'button' ) ).toHaveClass( 'has-text' );
83
89
  } );
84
90
 
@@ -183,16 +189,14 @@ describe( 'Button', () => {
183
189
  } );
184
190
 
185
191
  it( 'should add an aria-label when the label property is used, with Tooltip wrapper', async () => {
192
+ const user = userEvent.setup();
193
+
186
194
  render( <Button icon={ plusCircle } label="WordPress" /> );
187
- // Wait for the `floating-ui` effects in `Tooltip`/`Popover` to finish running
188
- // See also: https://floating-ui.com/docs/react-dom#testing
189
- await act( () => Promise.resolve() );
190
195
 
191
196
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
192
197
 
193
- await act( () => {
194
- screen.getByRole( 'button', { name: 'WordPress' } ).focus();
195
- } );
198
+ // Move focus to the button
199
+ await user.tab();
196
200
 
197
201
  expect( screen.getByText( 'WordPress' ) ).toBeVisible();
198
202
  } );
@@ -216,6 +220,8 @@ describe( 'Button', () => {
216
220
  } );
217
221
 
218
222
  it( 'should populate tooltip with label content for buttons without visible labels (no children)', async () => {
223
+ const user = userEvent.setup();
224
+
219
225
  render(
220
226
  <Button
221
227
  describedBy="Description text"
@@ -223,13 +229,11 @@ describe( 'Button', () => {
223
229
  icon={ plusCircle }
224
230
  />
225
231
  );
226
- await act( () => Promise.resolve() );
227
232
 
228
233
  expect( screen.queryByText( 'Label' ) ).not.toBeInTheDocument();
229
234
 
230
- await act( async () => {
231
- screen.getByRole( 'button', { name: 'Label' } ).focus();
232
- } );
235
+ // Move focus to the button
236
+ await user.tab();
233
237
 
234
238
  expect( screen.getByText( 'Label' ) ).toBeVisible();
235
239
  } );
@@ -245,7 +249,6 @@ describe( 'Button', () => {
245
249
  Children
246
250
  </Button>
247
251
  );
248
- await act( () => Promise.resolve() );
249
252
 
250
253
  expect(
251
254
  screen.getByRole( 'button', {
@@ -254,7 +257,9 @@ describe( 'Button', () => {
254
257
  ).toBeVisible();
255
258
  } );
256
259
 
257
- it( 'should allow tooltip disable', () => {
260
+ it( 'should allow tooltip disable', async () => {
261
+ const user = userEvent.setup();
262
+
258
263
  render(
259
264
  <Button
260
265
  icon={ plusCircle }
@@ -262,33 +267,37 @@ describe( 'Button', () => {
262
267
  showTooltip={ false }
263
268
  />
264
269
  );
265
- const button = screen.getByRole( 'button', { name: 'WordPress' } );
266
270
 
267
- expect( button ).toHaveAttribute( 'aria-label', 'WordPress' );
271
+ expect(
272
+ screen.getByRole( 'button', { name: 'WordPress' } )
273
+ ).toHaveAttribute( 'aria-label', 'WordPress' );
268
274
 
269
275
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
270
276
 
271
- act( () => button.focus() );
277
+ // Move focus to the button
278
+ await user.tab();
272
279
 
273
280
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
274
281
  } );
275
282
 
276
283
  it( 'should show the tooltip for empty children', async () => {
284
+ const user = userEvent.setup();
285
+
277
286
  render(
278
287
  <Button icon={ plusCircle } label="WordPress" children={ [] } />
279
288
  );
280
- await act( () => Promise.resolve() );
281
289
 
282
290
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
283
291
 
284
- await act( async () => {
285
- screen.getByRole( 'button', { name: 'WordPress' } ).focus();
286
- } );
292
+ // Move focus to the button
293
+ await user.tab();
287
294
 
288
295
  expect( screen.getByText( 'WordPress' ) ).toBeVisible();
289
296
  } );
290
297
 
291
- it( 'should not show the tooltip when icon and children defined', () => {
298
+ it( 'should not show the tooltip when icon and children defined', async () => {
299
+ const user = userEvent.setup();
300
+
292
301
  render(
293
302
  <Button icon={ plusCircle } label="WordPress">
294
303
  Children
@@ -297,26 +306,25 @@ describe( 'Button', () => {
297
306
 
298
307
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
299
308
 
300
- act( () => {
301
- screen.getByRole( 'button', { name: 'WordPress' } ).focus();
302
- } );
309
+ // Move focus to the button
310
+ await user.tab();
303
311
 
304
312
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
305
313
  } );
306
314
 
307
315
  it( 'should force showing the tooltip even if icon and children defined', async () => {
316
+ const user = userEvent.setup();
317
+
308
318
  render(
309
319
  <Button icon={ plusCircle } label="WordPress" showTooltip>
310
320
  Children
311
321
  </Button>
312
322
  );
313
- await act( () => Promise.resolve() );
314
323
 
315
324
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
316
325
 
317
- await act( async () => {
318
- screen.getByRole( 'button', { name: 'WordPress' } ).focus();
319
- } );
326
+ // Move focus to the button
327
+ await user.tab();
320
328
 
321
329
  expect( screen.getByText( 'WordPress' ) ).toBeVisible();
322
330
  } );
@@ -66,6 +66,13 @@ colors.
66
66
  - Required: No
67
67
  - Default: `false`
68
68
 
69
+ ### `headingLevel`: `1 | 2 | 3 | 4 | 5 | 6 | '1' | '2' | '3' | '4' | '5' | '6'`
70
+
71
+ The heading level.
72
+
73
+ - Required: No
74
+ - Default: `2`
75
+
69
76
  ### `value`: `string`
70
77
 
71
78
  Currently active value.
@@ -107,6 +107,7 @@ function MultiplePalettes( {
107
107
  onChange,
108
108
  value,
109
109
  actions,
110
+ headingLevel,
110
111
  }: MultiplePalettesProps ) {
111
112
  if ( colors.length === 0 ) {
112
113
  return null;
@@ -117,7 +118,9 @@ function MultiplePalettes( {
117
118
  { colors.map( ( { name, colors: colorPalette }, index ) => {
118
119
  return (
119
120
  <VStack spacing={ 2 } key={ index }>
120
- <ColorHeading>{ name }</ColorHeading>
121
+ <ColorHeading level={ headingLevel }>
122
+ { name }
123
+ </ColorHeading>
121
124
  <SinglePalette
122
125
  clearColor={ clearColor }
123
126
  colors={ colorPalette }
@@ -182,6 +185,7 @@ function UnforwardedColorPalette(
182
185
  onChange,
183
186
  value,
184
187
  __experimentalIsRenderedInSidebar = false,
188
+ headingLevel = 2,
185
189
  ...otherProps
186
190
  } = props;
187
191
  const [ normalizedColorValue, setNormalizedColorValue ] = useState( value );
@@ -243,6 +247,7 @@ function UnforwardedColorPalette(
243
247
  { __( 'Clear' ) }
244
248
  </CircularOptionPicker.ButtonAction>
245
249
  ),
250
+ headingLevel,
246
251
  };
247
252
 
248
253
  return (
@@ -7,6 +7,7 @@ import type { CSSProperties, ReactNode } from 'react';
7
7
  * Internal dependencies
8
8
  */
9
9
  import type { DropdownProps } from '../dropdown/types';
10
+ import type { HeadingSize } from '../heading/types';
10
11
 
11
12
  export type ColorObject = {
12
13
  name: string;
@@ -27,6 +28,7 @@ type PaletteProps = {
27
28
  onChange: ( newColor?: string, index?: number ) => void;
28
29
  value?: string;
29
30
  actions?: ReactNode;
31
+ headingLevel?: HeadingSize;
30
32
  };
31
33
 
32
34
  export type SinglePaletteProps = PaletteProps & {
@@ -70,6 +72,12 @@ export type ColorPaletteProps = Pick< PaletteProps, 'onChange' > & {
70
72
  * @default false
71
73
  */
72
74
  enableAlpha?: boolean;
75
+ /**
76
+ * The heading level.
77
+ *
78
+ * @default 2
79
+ */
80
+ headingLevel?: HeadingSize;
73
81
  /**
74
82
  * Currently active value.
75
83
  */
@@ -17,9 +17,6 @@ These are the same as [the ones for `SelectControl`s](/packages/components/src/s
17
17
  ### Usage
18
18
 
19
19
  ```jsx
20
- /**
21
- * WordPress dependencies
22
- */
23
20
  import { ComboboxControl } from '@wordpress/components';
24
21
  import { useState } from '@wordpress/element';
25
22
 
@@ -36,10 +33,6 @@ const options = [
36
33
  value: 'large',
37
34
  label: 'Large',
38
35
  },
39
- {
40
- value: 'huge',
41
- label: 'Huge',
42
- },
43
36
  ];
44
37
 
45
38
  function MyComboboxControl() {
@@ -92,35 +85,35 @@ If this property is added, a help text will be generated using help property as
92
85
 
93
86
  The options that can be chosen from.
94
87
 
95
- - Type: `Array<{ value: String, label: String }>`
88
+ - Type: `Array<{ value: string, label: string }>`
96
89
  - Required: Yes
97
90
 
98
91
  #### onFilterValueChange
99
92
 
100
- Function called with the control's search input value changes. The argument contains the next input value.
93
+ Function called when the control's search input value changes. The argument contains the next input value.
101
94
 
102
- - Type: `Function`
95
+ - Type: `( value: string ) => void`
103
96
  - Required: No
104
97
 
105
98
  #### onChange
106
99
 
107
100
  Function called with the selected value changes.
108
101
 
109
- - Type: `Function`
102
+ - Type: `( value: string | null | undefined ) => void`
110
103
  - Required: No
111
104
 
112
105
  #### value
113
106
 
114
- The current value of the input.
107
+ The current value of the control.
115
108
 
116
- - Type: `mixed`
117
- - Required: Yes
109
+ - Type: `string | null`
110
+ - Required: No
118
111
 
119
112
  #### __experimentalRenderItem
120
113
 
121
114
  Custom renderer invoked for each option in the suggestion list. The render prop receives as its argument an object containing, under the `item` key, the single option's data (directly from the array of data passed to the `options` prop).
122
115
 
123
- - Type: `Function` - `( args: { item: object } ) => ReactNode`
116
+ - Type: `( args: { item: object } ) => ReactNode`
124
117
  - Required: No
125
118
 
126
119
  ## Related components