@wordpress/components 24.0.0 → 25.1.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 (1491) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/CONTRIBUTING.md +10 -0
  3. package/build/alignment-matrix-control/cell.js +5 -6
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +8 -9
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +10 -11
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  13. package/build/alignment-matrix-control/utils.js +1 -2
  14. package/build/alignment-matrix-control/utils.js.map +1 -1
  15. package/build/angle-picker-control/angle-circle.js +6 -9
  16. package/build/angle-picker-control/angle-circle.js.map +1 -1
  17. package/build/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  18. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  19. package/build/animate/index.js +5 -6
  20. package/build/animate/index.js.map +1 -1
  21. package/build/autocomplete/autocompleter-ui.js +29 -33
  22. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  23. package/build/autocomplete/autocompleter-ui.native.js +15 -22
  24. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  25. package/build/autocomplete/background-view.android.js +3 -4
  26. package/build/autocomplete/background-view.android.js.map +1 -1
  27. package/build/autocomplete/background-view.ios.js +3 -4
  28. package/build/autocomplete/background-view.ios.js.map +1 -1
  29. package/build/autocomplete/get-default-use-items.js +1 -3
  30. package/build/autocomplete/get-default-use-items.js.map +1 -1
  31. package/build/autocomplete/index.js +18 -23
  32. package/build/autocomplete/index.js.map +1 -1
  33. package/build/base-control/index.js +14 -16
  34. package/build/base-control/index.js.map +1 -1
  35. package/build/base-control/index.native.js +5 -6
  36. package/build/base-control/index.native.js.map +1 -1
  37. package/build/base-control/styles/base-control-styles.js +6 -8
  38. package/build/base-control/styles/base-control-styles.js.map +1 -1
  39. package/build/border-box-control/border-box-control/hook.js +5 -5
  40. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  41. package/build/border-box-control/border-box-control-split-controls/component.js +4 -4
  42. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  43. package/build/border-box-control/styles.js +3 -3
  44. package/build/border-box-control/styles.js.map +1 -1
  45. package/build/border-box-control/utils.js +5 -8
  46. package/build/border-box-control/utils.js.map +1 -1
  47. package/build/border-control/border-control/component.js +1 -1
  48. package/build/border-control/border-control/component.js.map +1 -1
  49. package/build/border-control/border-control/hook.js +5 -5
  50. package/build/border-control/border-control/hook.js.map +1 -1
  51. package/build/border-control/border-control-dropdown/component.js +70 -67
  52. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  53. package/build/border-control/border-control-dropdown/hook.js +4 -4
  54. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  55. package/build/box-control/all-input-control.js +11 -12
  56. package/build/box-control/all-input-control.js.map +1 -1
  57. package/build/box-control/axial-input-controls.js +12 -14
  58. package/build/box-control/axial-input-controls.js.map +1 -1
  59. package/build/box-control/icon.js +7 -9
  60. package/build/box-control/icon.js.map +1 -1
  61. package/build/box-control/index.js +22 -24
  62. package/build/box-control/index.js.map +1 -1
  63. package/build/box-control/input-controls.js +15 -18
  64. package/build/box-control/input-controls.js.map +1 -1
  65. package/build/box-control/linked-button.js +4 -5
  66. package/build/box-control/linked-button.js.map +1 -1
  67. package/build/box-control/styles/box-control-icon-styles.js +3 -4
  68. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  69. package/build/box-control/styles/box-control-styles.js +9 -12
  70. package/build/box-control/styles/box-control-styles.js.map +1 -1
  71. package/build/box-control/styles/box-control-visualizer-styles.js +7 -11
  72. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  73. package/build/box-control/unit-control.js +18 -22
  74. package/build/box-control/unit-control.js.map +1 -1
  75. package/build/box-control/utils.js +4 -10
  76. package/build/box-control/utils.js.map +1 -1
  77. package/build/button/deprecated.js +7 -8
  78. package/build/button/deprecated.js.map +1 -1
  79. package/build/button/index.js +15 -16
  80. package/build/button/index.js.map +1 -1
  81. package/build/button/index.native.js +5 -7
  82. package/build/button/index.native.js.map +1 -1
  83. package/build/card/card/hook.js +5 -6
  84. package/build/card/card/hook.js.map +1 -1
  85. package/build/circular-option-picker/index.js +27 -33
  86. package/build/circular-option-picker/index.js.map +1 -1
  87. package/build/clipboard-button/index.js +8 -9
  88. package/build/clipboard-button/index.js.map +1 -1
  89. package/build/color-control/index.native.js +7 -8
  90. package/build/color-control/index.native.js.map +1 -1
  91. package/build/color-indicator/index.native.js +10 -12
  92. package/build/color-indicator/index.native.js.map +1 -1
  93. package/build/color-palette/index.js +63 -72
  94. package/build/color-palette/index.js.map +1 -1
  95. package/build/color-palette/index.native.js +33 -47
  96. package/build/color-palette/index.native.js.map +1 -1
  97. package/build/color-palette/utils.js +2 -5
  98. package/build/color-palette/utils.js.map +1 -1
  99. package/build/color-picker/color-input.js +6 -7
  100. package/build/color-picker/color-input.js.map +1 -1
  101. package/build/color-picker/hex-input.js +8 -12
  102. package/build/color-picker/hex-input.js.map +1 -1
  103. package/build/color-picker/hsl-input.js +5 -6
  104. package/build/color-picker/hsl-input.js.map +1 -1
  105. package/build/color-picker/index.native.js +23 -30
  106. package/build/color-picker/index.native.js.map +1 -1
  107. package/build/color-picker/input-with-slider.js +8 -10
  108. package/build/color-picker/input-with-slider.js.map +1 -1
  109. package/build/color-picker/picker.js +5 -6
  110. package/build/color-picker/picker.js.map +1 -1
  111. package/build/color-picker/rgb-input.js +5 -6
  112. package/build/color-picker/rgb-input.js.map +1 -1
  113. package/build/color-picker/styles.js +8 -8
  114. package/build/color-picker/styles.js.map +1 -1
  115. package/build/color-picker/use-deprecated-props.js +1 -3
  116. package/build/color-picker/use-deprecated-props.js.map +1 -1
  117. package/build/combobox-control/index.js +3 -6
  118. package/build/combobox-control/index.js.map +1 -1
  119. package/build/combobox-control/styles.js +3 -6
  120. package/build/combobox-control/styles.js.map +1 -1
  121. package/build/confirm-dialog/component.js +1 -1
  122. package/build/confirm-dialog/component.js.map +1 -1
  123. package/build/custom-gradient-picker/gradient-bar/control-points.js +116 -131
  124. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  125. package/build/custom-gradient-picker/gradient-bar/index.js +12 -14
  126. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  127. package/build/custom-gradient-picker/gradient-bar/utils.js +4 -6
  128. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  129. package/build/custom-gradient-picker/index.js +19 -22
  130. package/build/custom-gradient-picker/index.js.map +1 -1
  131. package/build/custom-gradient-picker/index.native.js +7 -8
  132. package/build/custom-gradient-picker/index.native.js.map +1 -1
  133. package/build/custom-gradient-picker/serializer.js +15 -21
  134. package/build/custom-gradient-picker/serializer.js.map +1 -1
  135. package/build/custom-gradient-picker/utils.js +6 -9
  136. package/build/custom-gradient-picker/utils.js.map +1 -1
  137. package/build/custom-select-control/index.js +14 -21
  138. package/build/custom-select-control/index.js.map +1 -1
  139. package/build/dashicon/index.js +7 -8
  140. package/build/dashicon/index.js.map +1 -1
  141. package/build/dashicon/index.native.js +4 -5
  142. package/build/dashicon/index.native.js.map +1 -1
  143. package/build/date-time/date/index.js +24 -26
  144. package/build/date-time/date/index.js.map +1 -1
  145. package/build/date-time/date-time/index.js +11 -93
  146. package/build/date-time/date-time/index.js.map +1 -1
  147. package/build/date-time/date-time/styles.js +4 -19
  148. package/build/date-time/date-time/styles.js.map +1 -1
  149. package/build/date-time/time/index.js +11 -14
  150. package/build/date-time/time/index.js.map +1 -1
  151. package/build/dimension-control/index.js +8 -11
  152. package/build/dimension-control/index.js.map +1 -1
  153. package/build/disabled/index.js +6 -7
  154. package/build/disabled/index.js.map +1 -1
  155. package/build/disabled/index.native.js +3 -4
  156. package/build/disabled/index.native.js.map +1 -1
  157. package/build/divider/styles.js +21 -29
  158. package/build/divider/styles.js.map +1 -1
  159. package/build/draggable/index.js +14 -19
  160. package/build/draggable/index.js.map +1 -1
  161. package/build/draggable/index.native.js +17 -19
  162. package/build/draggable/index.native.js.map +1 -1
  163. package/build/drop-zone/index.js +11 -16
  164. package/build/drop-zone/index.js.map +1 -1
  165. package/build/drop-zone/provider.js +3 -4
  166. package/build/drop-zone/provider.js.map +1 -1
  167. package/build/dropdown/index.js +19 -23
  168. package/build/dropdown/index.js.map +1 -1
  169. package/build/dropdown/styles.js +3 -4
  170. package/build/dropdown/styles.js.map +1 -1
  171. package/build/dropdown-menu/index.js +96 -26
  172. package/build/dropdown-menu/index.js.map +1 -1
  173. package/build/dropdown-menu/index.native.js +22 -30
  174. package/build/dropdown-menu/index.native.js.map +1 -1
  175. package/build/dropdown-menu/types.js +6 -0
  176. package/build/dropdown-menu/types.js.map +1 -0
  177. package/build/dropdown-menu-v2/index.js +230 -0
  178. package/build/dropdown-menu-v2/index.js.map +1 -0
  179. package/build/dropdown-menu-v2/styles.js +184 -0
  180. package/build/dropdown-menu-v2/styles.js.map +1 -0
  181. package/build/dropdown-menu-v2/types.js +6 -0
  182. package/build/dropdown-menu-v2/types.js.map +1 -0
  183. package/build/duotone-picker/color-list-picker/index.js +16 -18
  184. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  185. package/build/duotone-picker/custom-duotone-bar.js +4 -5
  186. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  187. package/build/duotone-picker/duotone-picker.js +15 -17
  188. package/build/duotone-picker/duotone-picker.js.map +1 -1
  189. package/build/duotone-picker/duotone-swatch.js +3 -4
  190. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  191. package/build/duotone-picker/utils.js +14 -27
  192. package/build/duotone-picker/utils.js.map +1 -1
  193. package/build/external-link/index.js +1 -1
  194. package/build/external-link/index.js.map +1 -1
  195. package/build/external-link/index.native.js +4 -5
  196. package/build/external-link/index.native.js.map +1 -1
  197. package/build/focal-point-picker/controls.js +11 -10
  198. package/build/focal-point-picker/controls.js.map +1 -1
  199. package/build/focal-point-picker/focal-point.js +5 -6
  200. package/build/focal-point-picker/focal-point.js.map +1 -1
  201. package/build/focal-point-picker/focal-point.native.js +5 -6
  202. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  203. package/build/focal-point-picker/grid.js +4 -5
  204. package/build/focal-point-picker/grid.js.map +1 -1
  205. package/build/focal-point-picker/index.js +33 -37
  206. package/build/focal-point-picker/index.js.map +1 -1
  207. package/build/focal-point-picker/index.native.js +10 -12
  208. package/build/focal-point-picker/index.native.js.map +1 -1
  209. package/build/focal-point-picker/media.js +11 -13
  210. package/build/focal-point-picker/media.js.map +1 -1
  211. package/build/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  212. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  213. package/build/focal-point-picker/styles/focal-point-style.js +3 -6
  214. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  215. package/build/focal-point-picker/tooltip/index.native.js +16 -21
  216. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  217. package/build/focal-point-picker/utils.js +2 -4
  218. package/build/focal-point-picker/utils.js.map +1 -1
  219. package/build/focusable-iframe/index.js +4 -5
  220. package/build/focusable-iframe/index.js.map +1 -1
  221. package/build/font-size-picker/font-size-picker-select.js +3 -5
  222. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  223. package/build/font-size-picker/index.js +13 -19
  224. package/build/font-size-picker/index.js.map +1 -1
  225. package/build/font-size-picker/index.native.js +6 -7
  226. package/build/font-size-picker/index.native.js.map +1 -1
  227. package/build/font-size-picker/styles.js +24 -8
  228. package/build/font-size-picker/styles.js.map +1 -1
  229. package/build/footer-message-control/index.native.js +2 -3
  230. package/build/footer-message-control/index.native.js.map +1 -1
  231. package/build/form-file-upload/index.js +10 -13
  232. package/build/form-file-upload/index.js.map +1 -1
  233. package/build/form-token-field/index.js +4 -19
  234. package/build/form-token-field/index.js.map +1 -1
  235. package/build/form-token-field/styles.js +4 -7
  236. package/build/form-token-field/styles.js.map +1 -1
  237. package/build/form-token-field/suggestions-list.js +14 -15
  238. package/build/form-token-field/suggestions-list.js.map +1 -1
  239. package/build/form-token-field/token-input.js +2 -2
  240. package/build/form-token-field/token-input.js.map +1 -1
  241. package/build/form-token-field/token.js +14 -15
  242. package/build/form-token-field/token.js.map +1 -1
  243. package/build/gradient-picker/index.js +51 -58
  244. package/build/gradient-picker/index.js.map +1 -1
  245. package/build/guide/icons.js +13 -16
  246. package/build/guide/icons.js.map +1 -1
  247. package/build/guide/index.js +9 -12
  248. package/build/guide/index.js.map +1 -1
  249. package/build/guide/page-control.js +5 -6
  250. package/build/guide/page-control.js.map +1 -1
  251. package/build/h-stack/utils.js +1 -3
  252. package/build/h-stack/utils.js.map +1 -1
  253. package/build/higher-order/navigate-regions/index.js +16 -22
  254. package/build/higher-order/navigate-regions/index.js.map +1 -1
  255. package/build/higher-order/with-focus-outside/index.js +1 -1
  256. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  257. package/build/higher-order/with-focus-outside/index.native.js +1 -1
  258. package/build/higher-order/with-focus-outside/index.native.js.map +1 -1
  259. package/build/higher-order/with-focus-return/index.js +13 -17
  260. package/build/higher-order/with-focus-return/index.js.map +1 -1
  261. package/build/icon/index.js +5 -7
  262. package/build/icon/index.js.map +1 -1
  263. package/build/index.native.js +0 -9
  264. package/build/index.native.js.map +1 -1
  265. package/build/input-control/backdrop.js +4 -5
  266. package/build/input-control/backdrop.js.map +1 -1
  267. package/build/input-control/index.js +22 -23
  268. package/build/input-control/index.js.map +1 -1
  269. package/build/input-control/input-base.js +16 -17
  270. package/build/input-control/input-base.js.map +1 -1
  271. package/build/input-control/input-field.js +26 -29
  272. package/build/input-control/input-field.js.map +1 -1
  273. package/build/input-control/label.js +6 -7
  274. package/build/input-control/label.js.map +1 -1
  275. package/build/input-control/reducer/reducer.js +2 -6
  276. package/build/input-control/reducer/reducer.js.map +1 -1
  277. package/build/input-control/styles/input-control-styles.js +62 -64
  278. package/build/input-control/styles/input-control-styles.js.map +1 -1
  279. package/build/input-control/utils.js +1 -3
  280. package/build/input-control/utils.js.map +1 -1
  281. package/build/keyboard-shortcuts/index.js +21 -26
  282. package/build/keyboard-shortcuts/index.js.map +1 -1
  283. package/build/menu-items-choice/index.js +6 -7
  284. package/build/menu-items-choice/index.js.map +1 -1
  285. package/build/mobile/audio-player/index.native.js +7 -8
  286. package/build/mobile/audio-player/index.native.js.map +1 -1
  287. package/build/mobile/badge/index.native.js +5 -6
  288. package/build/mobile/badge/index.native.js.map +1 -1
  289. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  290. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  291. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  292. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  293. package/build/mobile/bottom-sheet/button.native.js +18 -21
  294. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  295. package/build/mobile/bottom-sheet/cell.native.js +23 -11
  296. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  297. package/build/mobile/bottom-sheet/color-cell.native.js +3 -1
  298. package/build/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  299. package/build/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  300. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  301. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  302. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  303. package/build/mobile/bottom-sheet/index.native.js +19 -30
  304. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  305. package/build/mobile/bottom-sheet/link-cell.native.js +6 -7
  306. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  307. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  308. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  309. package/build/mobile/bottom-sheet/lock-icon/index.native.js +33 -0
  310. package/build/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  311. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  312. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  313. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  314. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  315. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  316. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  317. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  318. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  319. package/build/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  320. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  321. package/build/mobile/bottom-sheet/radio-cell.native.js +4 -3
  322. package/build/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  323. package/build/mobile/bottom-sheet/range-cell.native.js +7 -3
  324. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  325. package/build/mobile/bottom-sheet/range-text-input.native.js +5 -6
  326. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  327. package/build/mobile/bottom-sheet/ripple.native.js +10 -11
  328. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  329. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  330. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  331. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  332. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  333. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  334. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  335. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  336. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  337. package/build/mobile/bottom-sheet/switch-cell.native.js +8 -2
  338. package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  339. package/build/mobile/bottom-sheet-select-control/index.native.js +11 -10
  340. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  341. package/build/mobile/bottom-sheet-text-control/index.native.js +13 -12
  342. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  343. package/build/mobile/color-settings/index.native.js +12 -13
  344. package/build/mobile/color-settings/index.native.js.map +1 -1
  345. package/build/mobile/color-settings/utils.native.js +2 -2
  346. package/build/mobile/color-settings/utils.native.js.map +1 -1
  347. package/build/mobile/cycle-select-control/index.native.js +11 -12
  348. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  349. package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
  350. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  351. package/build/mobile/global-styles-context/index.native.js +6 -14
  352. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  353. package/build/mobile/global-styles-context/utils.native.js +69 -112
  354. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  355. package/build/mobile/gradient/index.native.js +26 -33
  356. package/build/mobile/gradient/index.native.js.map +1 -1
  357. package/build/mobile/html-text-input/index.native.js +3 -3
  358. package/build/mobile/html-text-input/index.native.js.map +1 -1
  359. package/build/mobile/image/image-editing-button.native.js +22 -26
  360. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  361. package/build/mobile/image/index.native.js +31 -34
  362. package/build/mobile/image/index.native.js.map +1 -1
  363. package/build/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  364. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  365. package/build/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  366. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  367. package/build/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  368. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  369. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  370. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  371. package/build/mobile/layout-animation/index.native.js +1 -3
  372. package/build/mobile/layout-animation/index.native.js.map +1 -1
  373. package/build/mobile/link-picker/index.native.js +12 -16
  374. package/build/mobile/link-picker/index.native.js.map +1 -1
  375. package/build/mobile/link-picker/link-picker-results.native.js +34 -48
  376. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  377. package/build/mobile/link-picker/link-picker-screen.native.js +7 -10
  378. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  379. package/build/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  380. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  381. package/build/mobile/link-settings/index.native.js +57 -58
  382. package/build/mobile/link-settings/index.native.js.map +1 -1
  383. package/build/mobile/media-edit/index.native.js +2 -2
  384. package/build/mobile/media-edit/index.native.js.map +1 -1
  385. package/build/mobile/picker/index.ios.js +3 -6
  386. package/build/mobile/picker/index.ios.js.map +1 -1
  387. package/build/mobile/segmented-control/index.native.js +16 -20
  388. package/build/mobile/segmented-control/index.native.js.map +1 -1
  389. package/build/mobile/utils/alignments.native.js +2 -6
  390. package/build/mobile/utils/alignments.native.js.map +1 -1
  391. package/build/mobile/utils/index.native.js +1 -2
  392. package/build/mobile/utils/index.native.js.map +1 -1
  393. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  394. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  395. package/build/modal/index.js +3 -4
  396. package/build/modal/index.js.map +1 -1
  397. package/build/navigable-container/container.js +2 -6
  398. package/build/navigable-container/container.js.map +1 -1
  399. package/build/navigable-container/menu.js +5 -7
  400. package/build/navigable-container/menu.js.map +1 -1
  401. package/build/navigable-container/tabbable.js +4 -6
  402. package/build/navigable-container/tabbable.js.map +1 -1
  403. package/build/navigation/back-button/index.js +8 -11
  404. package/build/navigation/back-button/index.js.map +1 -1
  405. package/build/navigation/group/index.js +5 -6
  406. package/build/navigation/group/index.js.map +1 -1
  407. package/build/navigation/index.js +8 -11
  408. package/build/navigation/index.js.map +1 -1
  409. package/build/navigation/item/base.js +1 -3
  410. package/build/navigation/item/base.js.map +1 -1
  411. package/build/navigation/menu/menu-title-search.js +11 -14
  412. package/build/navigation/menu/menu-title-search.js.map +1 -1
  413. package/build/navigation/menu/menu-title.js +8 -11
  414. package/build/navigation/menu/menu-title.js.map +1 -1
  415. package/build/navigation/menu/search-no-results-found.js +3 -4
  416. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  417. package/build/navigator/navigator-back-button/hook.js +1 -1
  418. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  419. package/build/navigator/navigator-button/hook.js +1 -1
  420. package/build/navigator/navigator-button/hook.js.map +1 -1
  421. package/build/navigator/navigator-provider/component.js +2 -6
  422. package/build/navigator/navigator-provider/component.js.map +1 -1
  423. package/build/navigator/navigator-screen/component.js +1 -1
  424. package/build/navigator/navigator-screen/component.js.map +1 -1
  425. package/build/notice/index.js +25 -29
  426. package/build/notice/index.js.map +1 -1
  427. package/build/notice/index.native.js +13 -18
  428. package/build/notice/index.native.js.map +1 -1
  429. package/build/notice/list.js +6 -8
  430. package/build/notice/list.js.map +1 -1
  431. package/build/number-control/index.js +24 -26
  432. package/build/number-control/index.js.map +1 -1
  433. package/build/number-control/styles/number-control-styles.js +6 -10
  434. package/build/number-control/styles/number-control-styles.js.map +1 -1
  435. package/build/palette-edit/index.js +83 -94
  436. package/build/palette-edit/index.js.map +1 -1
  437. package/build/panel/actions.native.js +8 -10
  438. package/build/panel/actions.native.js.map +1 -1
  439. package/build/panel/body.js +7 -10
  440. package/build/panel/body.js.map +1 -1
  441. package/build/panel/body.native.js +6 -7
  442. package/build/panel/body.native.js.map +1 -1
  443. package/build/panel/bottom-separator-cover.native.js +3 -4
  444. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  445. package/build/panel/header.js +4 -5
  446. package/build/panel/header.js.map +1 -1
  447. package/build/panel/index.js +5 -6
  448. package/build/panel/index.js.map +1 -1
  449. package/build/panel/row.js +4 -5
  450. package/build/panel/row.js.map +1 -1
  451. package/build/popover/index.js +27 -31
  452. package/build/popover/index.js.map +1 -1
  453. package/build/popover/limit-shift.js +70 -75
  454. package/build/popover/limit-shift.js.map +1 -1
  455. package/build/popover/overlay-middlewares.js +7 -9
  456. package/build/popover/overlay-middlewares.js.map +1 -1
  457. package/build/popover/utils.js +26 -34
  458. package/build/popover/utils.js.map +1 -1
  459. package/build/private-apis.js +16 -1
  460. package/build/private-apis.js.map +1 -1
  461. package/build/query-controls/author-select.js +7 -8
  462. package/build/query-controls/author-select.js.map +1 -1
  463. package/build/query-controls/category-select.js +8 -9
  464. package/build/query-controls/category-select.js.map +1 -1
  465. package/build/query-controls/index.js +16 -17
  466. package/build/query-controls/index.js.map +1 -1
  467. package/build/query-controls/index.native.js +13 -14
  468. package/build/query-controls/index.native.js.map +1 -1
  469. package/build/radio-control/index.js +1 -1
  470. package/build/radio-control/index.js.map +1 -1
  471. package/build/radio-control/index.native.js +6 -7
  472. package/build/radio-control/index.native.js.map +1 -1
  473. package/build/radio-group/index.js +8 -9
  474. package/build/radio-group/index.js.map +1 -1
  475. package/build/radio-group/radio/index.js +5 -6
  476. package/build/radio-group/radio/index.js.map +1 -1
  477. package/build/range-control/index.js +1 -3
  478. package/build/range-control/index.js.map +1 -1
  479. package/build/range-control/index.native.js +23 -22
  480. package/build/range-control/index.native.js.map +1 -1
  481. package/build/range-control/rail.js +7 -9
  482. package/build/range-control/rail.js.map +1 -1
  483. package/build/range-control/styles/range-control-styles.js +37 -52
  484. package/build/range-control/styles/range-control-styles.js.map +1 -1
  485. package/build/range-control/tooltip.js +4 -5
  486. package/build/range-control/tooltip.js.map +1 -1
  487. package/build/resizable-box/index.js +8 -9
  488. package/build/resizable-box/index.js.map +1 -1
  489. package/build/resizable-box/resize-tooltip/index.js +12 -13
  490. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  491. package/build/resizable-box/resize-tooltip/label.js +6 -7
  492. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  493. package/build/resizable-box/resize-tooltip/utils.js +16 -19
  494. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  495. package/build/responsive-wrapper/index.js +6 -8
  496. package/build/responsive-wrapper/index.js.map +1 -1
  497. package/build/sandbox/index.js +16 -23
  498. package/build/sandbox/index.js.map +1 -1
  499. package/build/sandbox/index.native.js +20 -26
  500. package/build/sandbox/index.native.js.map +1 -1
  501. package/build/search-control/index.js +14 -17
  502. package/build/search-control/index.js.map +1 -1
  503. package/build/search-control/index.native.js +7 -8
  504. package/build/search-control/index.native.js.map +1 -1
  505. package/build/select-control/index.js +9 -19
  506. package/build/select-control/index.js.map +1 -1
  507. package/build/select-control/index.native.js +11 -12
  508. package/build/select-control/index.native.js.map +1 -1
  509. package/build/select-control/styles/select-control-styles.js +19 -25
  510. package/build/select-control/styles/select-control-styles.js.map +1 -1
  511. package/build/slot-fill/bubbles-virtually/fill.js +4 -5
  512. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  513. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  514. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  515. package/build/slot-fill/bubbles-virtually/slot.js +6 -7
  516. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  517. package/build/slot-fill/fill.js +4 -5
  518. package/build/slot-fill/fill.js.map +1 -1
  519. package/build/slot-fill/index.js +8 -11
  520. package/build/slot-fill/index.js.map +1 -1
  521. package/build/slot-fill/index.native.js +4 -5
  522. package/build/slot-fill/index.native.js.map +1 -1
  523. package/build/slot-fill/provider.js +2 -2
  524. package/build/slot-fill/provider.js.map +1 -1
  525. package/build/slot-fill/slot.js +9 -12
  526. package/build/slot-fill/slot.js.map +1 -1
  527. package/build/snackbar/index.js +26 -31
  528. package/build/snackbar/index.js.map +1 -1
  529. package/build/snackbar/list.js +7 -8
  530. package/build/snackbar/list.js.map +1 -1
  531. package/build/spinner/index.js +4 -5
  532. package/build/spinner/index.js.map +1 -1
  533. package/build/style-provider/index.native.js +3 -4
  534. package/build/style-provider/index.native.js.map +1 -1
  535. package/build/surface/styles.js +6 -7
  536. package/build/surface/styles.js.map +1 -1
  537. package/build/tab-panel/index.js +35 -40
  538. package/build/tab-panel/index.js.map +1 -1
  539. package/build/text/styles/text-mixins.native.js +1 -3
  540. package/build/text/styles/text-mixins.native.js.map +1 -1
  541. package/build/text/utils.js +16 -17
  542. package/build/text/utils.js.map +1 -1
  543. package/build/text-control/index.native.js +12 -13
  544. package/build/text-control/index.native.js.map +1 -1
  545. package/build/textarea-control/index.native.js +7 -8
  546. package/build/textarea-control/index.native.js.map +1 -1
  547. package/build/theme/color-algorithms.js +1 -2
  548. package/build/theme/color-algorithms.js.map +1 -1
  549. package/build/theme/index.js +6 -7
  550. package/build/theme/index.js.map +1 -1
  551. package/build/theme/styles.js +4 -8
  552. package/build/theme/styles.js.map +1 -1
  553. package/build/toggle-control/index.js +9 -11
  554. package/build/toggle-control/index.js.map +1 -1
  555. package/build/toggle-control/index.native.js +9 -10
  556. package/build/toggle-control/index.native.js.map +1 -1
  557. package/build/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  558. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  559. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  560. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  561. package/build/toggle-group-control/toggle-group-control/styles.js +11 -14
  562. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  563. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  564. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  565. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  566. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  567. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  568. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  569. package/build/toolbar/toolbar/index.js +23 -9
  570. package/build/toolbar/toolbar/index.js.map +1 -1
  571. package/build/toolbar/toolbar/toolbar-container.js +4 -5
  572. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  573. package/build/toolbar/toolbar/toolbar-container.native.js +3 -6
  574. package/build/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  575. package/build/toolbar/toolbar-button/index.js +10 -11
  576. package/build/toolbar/toolbar-button/index.js.map +1 -1
  577. package/build/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  578. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  579. package/build/toolbar/toolbar-group/index.js +9 -12
  580. package/build/toolbar/toolbar-group/index.js.map +1 -1
  581. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  582. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  583. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  584. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  585. package/build/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  586. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  587. package/build/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  588. package/build/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  589. package/build/toolbar/toolbar-item/index.js +5 -6
  590. package/build/toolbar/toolbar-item/index.js.map +1 -1
  591. package/build/toolbar/toolbar-item/index.native.js +4 -6
  592. package/build/toolbar/toolbar-item/index.native.js.map +1 -1
  593. package/build/tools-panel/tools-panel/hook.js +17 -25
  594. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  595. package/build/tools-panel/tools-panel-header/component.js +14 -24
  596. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  597. package/build/tools-panel/tools-panel-item/hook.js +5 -7
  598. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  599. package/build/tooltip/index.js +36 -43
  600. package/build/tooltip/index.js.map +1 -1
  601. package/build/tooltip/index.native.js +14 -19
  602. package/build/tooltip/index.native.js.map +1 -1
  603. package/build/tree-grid/cell.js +5 -6
  604. package/build/tree-grid/cell.js.map +1 -1
  605. package/build/tree-grid/index.js +12 -15
  606. package/build/tree-grid/index.js.map +1 -1
  607. package/build/tree-grid/item.js +4 -5
  608. package/build/tree-grid/item.js.map +1 -1
  609. package/build/tree-grid/roving-tab-index-item.js +6 -7
  610. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  611. package/build/tree-grid/roving-tab-index.js +3 -4
  612. package/build/tree-grid/roving-tab-index.js.map +1 -1
  613. package/build/tree-grid/row.js +8 -9
  614. package/build/tree-grid/row.js.map +1 -1
  615. package/build/tree-select/index.js +9 -11
  616. package/build/tree-select/index.js.map +1 -1
  617. package/build/truncate/utils.js +1 -3
  618. package/build/truncate/utils.js.map +1 -1
  619. package/build/ui/context/context-connect.js +1 -1
  620. package/build/ui/context/context-connect.js.map +1 -1
  621. package/build/ui/context/context-system-provider.js +7 -9
  622. package/build/ui/context/context-system-provider.js.map +1 -1
  623. package/build/ui/context/index.js +7 -0
  624. package/build/ui/context/index.js.map +1 -1
  625. package/build/ui/context/use-context-system.js +1 -1
  626. package/build/ui/context/use-context-system.js.map +1 -1
  627. package/build/ui/control-group/hook.js +1 -1
  628. package/build/ui/control-group/hook.js.map +1 -1
  629. package/build/ui/form-group/form-group-content.js +12 -13
  630. package/build/ui/form-group/form-group-content.js.map +1 -1
  631. package/build/ui/form-group/form-group-help.js +3 -4
  632. package/build/ui/form-group/form-group-help.js.map +1 -1
  633. package/build/ui/form-group/form-group-label.js +7 -8
  634. package/build/ui/form-group/form-group-label.js.map +1 -1
  635. package/build/ui/tooltip/component.js +1 -1
  636. package/build/ui/tooltip/component.js.map +1 -1
  637. package/build/ui/utils/colors.js +1 -3
  638. package/build/ui/utils/colors.js.map +1 -1
  639. package/build/ui/utils/font-size.js +2 -6
  640. package/build/ui/utils/font-size.js.map +1 -1
  641. package/build/ui/utils/get-high-dpi.js +1 -5
  642. package/build/ui/utils/get-high-dpi.js.map +1 -1
  643. package/build/ui/utils/space.js +1 -3
  644. package/build/ui/utils/space.js.map +1 -1
  645. package/build/ui/utils/use-responsive-value.js +2 -4
  646. package/build/ui/utils/use-responsive-value.js.map +1 -1
  647. package/build/unit-control/index.js +8 -8
  648. package/build/unit-control/index.js.map +1 -1
  649. package/build/unit-control/index.native.js +22 -23
  650. package/build/unit-control/index.native.js.map +1 -1
  651. package/build/unit-control/styles/unit-control-styles.js +6 -8
  652. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  653. package/build/unit-control/unit-select-control.js +11 -13
  654. package/build/unit-control/unit-select-control.js.map +1 -1
  655. package/build/unit-control/utils.js +12 -19
  656. package/build/unit-control/utils.js.map +1 -1
  657. package/build/utils/browsers.js +2 -10
  658. package/build/utils/browsers.js.map +1 -1
  659. package/build/utils/colors.js +1 -3
  660. package/build/utils/colors.js.map +1 -1
  661. package/build/utils/config-values.js +1 -0
  662. package/build/utils/config-values.js.map +1 -1
  663. package/build/utils/hooks/use-controlled-state.js +1 -2
  664. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  665. package/build/utils/hooks/use-controlled-value.js +5 -6
  666. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  667. package/build/utils/hooks/use-cx.js +1 -5
  668. package/build/utils/hooks/use-cx.js.map +1 -1
  669. package/build/utils/math.js +5 -17
  670. package/build/utils/math.js.map +1 -1
  671. package/build/utils/reduce-motion.js +1 -2
  672. package/build/utils/reduce-motion.js.map +1 -1
  673. package/build/utils/rtl.js +3 -9
  674. package/build/utils/rtl.js.map +1 -1
  675. package/build/utils/values.js +2 -6
  676. package/build/utils/values.js.map +1 -1
  677. package/build/z-stack/styles.js +14 -23
  678. package/build/z-stack/styles.js.map +1 -1
  679. package/build-module/alignment-matrix-control/cell.js +5 -6
  680. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  681. package/build-module/alignment-matrix-control/icon.js +8 -9
  682. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  683. package/build-module/alignment-matrix-control/index.js +10 -11
  684. package/build-module/alignment-matrix-control/index.js.map +1 -1
  685. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  686. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  687. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  688. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  689. package/build-module/alignment-matrix-control/utils.js +1 -2
  690. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  691. package/build-module/angle-picker-control/angle-circle.js +6 -9
  692. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  693. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  694. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  695. package/build-module/animate/index.js +5 -6
  696. package/build-module/animate/index.js.map +1 -1
  697. package/build-module/autocomplete/autocompleter-ui.js +29 -33
  698. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  699. package/build-module/autocomplete/autocompleter-ui.native.js +15 -22
  700. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  701. package/build-module/autocomplete/background-view.android.js +3 -4
  702. package/build-module/autocomplete/background-view.android.js.map +1 -1
  703. package/build-module/autocomplete/background-view.ios.js +3 -4
  704. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  705. package/build-module/autocomplete/get-default-use-items.js +1 -3
  706. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  707. package/build-module/autocomplete/index.js +18 -23
  708. package/build-module/autocomplete/index.js.map +1 -1
  709. package/build-module/base-control/index.js +14 -16
  710. package/build-module/base-control/index.js.map +1 -1
  711. package/build-module/base-control/index.native.js +5 -6
  712. package/build-module/base-control/index.native.js.map +1 -1
  713. package/build-module/base-control/styles/base-control-styles.js +6 -8
  714. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  715. package/build-module/border-box-control/border-box-control/hook.js +5 -5
  716. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  717. package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -4
  718. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  719. package/build-module/border-box-control/styles.js +3 -3
  720. package/build-module/border-box-control/styles.js.map +1 -1
  721. package/build-module/border-box-control/utils.js +5 -8
  722. package/build-module/border-box-control/utils.js.map +1 -1
  723. package/build-module/border-control/border-control/component.js +1 -1
  724. package/build-module/border-control/border-control/component.js.map +1 -1
  725. package/build-module/border-control/border-control/hook.js +5 -5
  726. package/build-module/border-control/border-control/hook.js.map +1 -1
  727. package/build-module/border-control/border-control-dropdown/component.js +70 -67
  728. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  729. package/build-module/border-control/border-control-dropdown/hook.js +4 -4
  730. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  731. package/build-module/box-control/all-input-control.js +11 -12
  732. package/build-module/box-control/all-input-control.js.map +1 -1
  733. package/build-module/box-control/axial-input-controls.js +12 -14
  734. package/build-module/box-control/axial-input-controls.js.map +1 -1
  735. package/build-module/box-control/icon.js +7 -9
  736. package/build-module/box-control/icon.js.map +1 -1
  737. package/build-module/box-control/index.js +22 -24
  738. package/build-module/box-control/index.js.map +1 -1
  739. package/build-module/box-control/input-controls.js +15 -18
  740. package/build-module/box-control/input-controls.js.map +1 -1
  741. package/build-module/box-control/linked-button.js +4 -5
  742. package/build-module/box-control/linked-button.js.map +1 -1
  743. package/build-module/box-control/styles/box-control-icon-styles.js +3 -4
  744. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  745. package/build-module/box-control/styles/box-control-styles.js +9 -12
  746. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  747. package/build-module/box-control/styles/box-control-visualizer-styles.js +7 -11
  748. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  749. package/build-module/box-control/unit-control.js +18 -22
  750. package/build-module/box-control/unit-control.js.map +1 -1
  751. package/build-module/box-control/utils.js +4 -10
  752. package/build-module/box-control/utils.js.map +1 -1
  753. package/build-module/button/deprecated.js +7 -8
  754. package/build-module/button/deprecated.js.map +1 -1
  755. package/build-module/button/index.js +15 -16
  756. package/build-module/button/index.js.map +1 -1
  757. package/build-module/button/index.native.js +5 -7
  758. package/build-module/button/index.native.js.map +1 -1
  759. package/build-module/card/card/hook.js +5 -6
  760. package/build-module/card/card/hook.js.map +1 -1
  761. package/build-module/circular-option-picker/index.js +27 -33
  762. package/build-module/circular-option-picker/index.js.map +1 -1
  763. package/build-module/clipboard-button/index.js +8 -9
  764. package/build-module/clipboard-button/index.js.map +1 -1
  765. package/build-module/color-control/index.native.js +7 -8
  766. package/build-module/color-control/index.native.js.map +1 -1
  767. package/build-module/color-indicator/index.native.js +10 -12
  768. package/build-module/color-indicator/index.native.js.map +1 -1
  769. package/build-module/color-palette/index.js +63 -72
  770. package/build-module/color-palette/index.js.map +1 -1
  771. package/build-module/color-palette/index.native.js +33 -47
  772. package/build-module/color-palette/index.native.js.map +1 -1
  773. package/build-module/color-palette/utils.js +2 -5
  774. package/build-module/color-palette/utils.js.map +1 -1
  775. package/build-module/color-picker/color-input.js +6 -7
  776. package/build-module/color-picker/color-input.js.map +1 -1
  777. package/build-module/color-picker/hex-input.js +8 -12
  778. package/build-module/color-picker/hex-input.js.map +1 -1
  779. package/build-module/color-picker/hsl-input.js +5 -6
  780. package/build-module/color-picker/hsl-input.js.map +1 -1
  781. package/build-module/color-picker/index.native.js +23 -30
  782. package/build-module/color-picker/index.native.js.map +1 -1
  783. package/build-module/color-picker/input-with-slider.js +8 -10
  784. package/build-module/color-picker/input-with-slider.js.map +1 -1
  785. package/build-module/color-picker/picker.js +5 -6
  786. package/build-module/color-picker/picker.js.map +1 -1
  787. package/build-module/color-picker/rgb-input.js +5 -6
  788. package/build-module/color-picker/rgb-input.js.map +1 -1
  789. package/build-module/color-picker/styles.js +8 -8
  790. package/build-module/color-picker/styles.js.map +1 -1
  791. package/build-module/color-picker/use-deprecated-props.js +1 -3
  792. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  793. package/build-module/combobox-control/index.js +3 -6
  794. package/build-module/combobox-control/index.js.map +1 -1
  795. package/build-module/combobox-control/styles.js +3 -6
  796. package/build-module/combobox-control/styles.js.map +1 -1
  797. package/build-module/confirm-dialog/component.js +1 -1
  798. package/build-module/confirm-dialog/component.js.map +1 -1
  799. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +114 -129
  800. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  801. package/build-module/custom-gradient-picker/gradient-bar/index.js +12 -14
  802. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  803. package/build-module/custom-gradient-picker/gradient-bar/utils.js +4 -6
  804. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  805. package/build-module/custom-gradient-picker/index.js +19 -22
  806. package/build-module/custom-gradient-picker/index.js.map +1 -1
  807. package/build-module/custom-gradient-picker/index.native.js +7 -8
  808. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  809. package/build-module/custom-gradient-picker/serializer.js +15 -21
  810. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  811. package/build-module/custom-gradient-picker/utils.js +6 -9
  812. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  813. package/build-module/custom-select-control/index.js +14 -21
  814. package/build-module/custom-select-control/index.js.map +1 -1
  815. package/build-module/dashicon/index.js +7 -8
  816. package/build-module/dashicon/index.js.map +1 -1
  817. package/build-module/dashicon/index.native.js +4 -5
  818. package/build-module/dashicon/index.native.js.map +1 -1
  819. package/build-module/date-time/date/index.js +24 -26
  820. package/build-module/date-time/date/index.js.map +1 -1
  821. package/build-module/date-time/date-time/index.js +14 -90
  822. package/build-module/date-time/date-time/index.js.map +1 -1
  823. package/build-module/date-time/date-time/styles.js +3 -17
  824. package/build-module/date-time/date-time/styles.js.map +1 -1
  825. package/build-module/date-time/time/index.js +11 -14
  826. package/build-module/date-time/time/index.js.map +1 -1
  827. package/build-module/dimension-control/index.js +8 -11
  828. package/build-module/dimension-control/index.js.map +1 -1
  829. package/build-module/disabled/index.js +6 -7
  830. package/build-module/disabled/index.js.map +1 -1
  831. package/build-module/disabled/index.native.js +3 -4
  832. package/build-module/disabled/index.native.js.map +1 -1
  833. package/build-module/divider/styles.js +21 -29
  834. package/build-module/divider/styles.js.map +1 -1
  835. package/build-module/draggable/index.js +14 -19
  836. package/build-module/draggable/index.js.map +1 -1
  837. package/build-module/draggable/index.native.js +17 -19
  838. package/build-module/draggable/index.native.js.map +1 -1
  839. package/build-module/drop-zone/index.js +11 -16
  840. package/build-module/drop-zone/index.js.map +1 -1
  841. package/build-module/drop-zone/provider.js +3 -4
  842. package/build-module/drop-zone/provider.js.map +1 -1
  843. package/build-module/dropdown/index.js +19 -23
  844. package/build-module/dropdown/index.js.map +1 -1
  845. package/build-module/dropdown/styles.js +3 -4
  846. package/build-module/dropdown/styles.js.map +1 -1
  847. package/build-module/dropdown-menu/index.js +96 -25
  848. package/build-module/dropdown-menu/index.js.map +1 -1
  849. package/build-module/dropdown-menu/index.native.js +22 -30
  850. package/build-module/dropdown-menu/index.native.js.map +1 -1
  851. package/build-module/dropdown-menu/types.js +2 -0
  852. package/build-module/dropdown-menu/types.js.map +1 -0
  853. package/build-module/dropdown-menu-v2/index.js +182 -0
  854. package/build-module/dropdown-menu-v2/index.js.map +1 -0
  855. package/build-module/dropdown-menu-v2/styles.js +161 -0
  856. package/build-module/dropdown-menu-v2/styles.js.map +1 -0
  857. package/build-module/dropdown-menu-v2/types.js +2 -0
  858. package/build-module/dropdown-menu-v2/types.js.map +1 -0
  859. package/build-module/duotone-picker/color-list-picker/index.js +16 -18
  860. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  861. package/build-module/duotone-picker/custom-duotone-bar.js +4 -5
  862. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  863. package/build-module/duotone-picker/duotone-picker.js +15 -17
  864. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  865. package/build-module/duotone-picker/duotone-swatch.js +3 -4
  866. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  867. package/build-module/duotone-picker/utils.js +14 -27
  868. package/build-module/duotone-picker/utils.js.map +1 -1
  869. package/build-module/external-link/index.js +1 -1
  870. package/build-module/external-link/index.js.map +1 -1
  871. package/build-module/external-link/index.native.js +4 -5
  872. package/build-module/external-link/index.native.js.map +1 -1
  873. package/build-module/focal-point-picker/controls.js +11 -10
  874. package/build-module/focal-point-picker/controls.js.map +1 -1
  875. package/build-module/focal-point-picker/focal-point.js +5 -6
  876. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  877. package/build-module/focal-point-picker/focal-point.native.js +5 -6
  878. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  879. package/build-module/focal-point-picker/grid.js +4 -5
  880. package/build-module/focal-point-picker/grid.js.map +1 -1
  881. package/build-module/focal-point-picker/index.js +33 -37
  882. package/build-module/focal-point-picker/index.js.map +1 -1
  883. package/build-module/focal-point-picker/index.native.js +10 -12
  884. package/build-module/focal-point-picker/index.native.js.map +1 -1
  885. package/build-module/focal-point-picker/media.js +11 -13
  886. package/build-module/focal-point-picker/media.js.map +1 -1
  887. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  888. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  889. package/build-module/focal-point-picker/styles/focal-point-style.js +3 -6
  890. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  891. package/build-module/focal-point-picker/tooltip/index.native.js +16 -21
  892. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  893. package/build-module/focal-point-picker/utils.js +2 -4
  894. package/build-module/focal-point-picker/utils.js.map +1 -1
  895. package/build-module/focusable-iframe/index.js +4 -5
  896. package/build-module/focusable-iframe/index.js.map +1 -1
  897. package/build-module/font-size-picker/font-size-picker-select.js +3 -5
  898. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  899. package/build-module/font-size-picker/index.js +14 -18
  900. package/build-module/font-size-picker/index.js.map +1 -1
  901. package/build-module/font-size-picker/index.native.js +6 -7
  902. package/build-module/font-size-picker/index.native.js.map +1 -1
  903. package/build-module/font-size-picker/styles.js +20 -7
  904. package/build-module/font-size-picker/styles.js.map +1 -1
  905. package/build-module/footer-message-control/index.native.js +2 -3
  906. package/build-module/footer-message-control/index.native.js.map +1 -1
  907. package/build-module/form-file-upload/index.js +10 -13
  908. package/build-module/form-file-upload/index.js.map +1 -1
  909. package/build-module/form-token-field/index.js +4 -19
  910. package/build-module/form-token-field/index.js.map +1 -1
  911. package/build-module/form-token-field/styles.js +4 -7
  912. package/build-module/form-token-field/styles.js.map +1 -1
  913. package/build-module/form-token-field/suggestions-list.js +14 -15
  914. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  915. package/build-module/form-token-field/token-input.js +2 -2
  916. package/build-module/form-token-field/token-input.js.map +1 -1
  917. package/build-module/form-token-field/token.js +14 -15
  918. package/build-module/form-token-field/token.js.map +1 -1
  919. package/build-module/gradient-picker/index.js +51 -58
  920. package/build-module/gradient-picker/index.js.map +1 -1
  921. package/build-module/guide/icons.js +13 -16
  922. package/build-module/guide/icons.js.map +1 -1
  923. package/build-module/guide/index.js +9 -12
  924. package/build-module/guide/index.js.map +1 -1
  925. package/build-module/guide/page-control.js +5 -6
  926. package/build-module/guide/page-control.js.map +1 -1
  927. package/build-module/h-stack/utils.js +1 -3
  928. package/build-module/h-stack/utils.js.map +1 -1
  929. package/build-module/higher-order/navigate-regions/index.js +16 -22
  930. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  931. package/build-module/higher-order/with-focus-outside/index.js +1 -1
  932. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  933. package/build-module/higher-order/with-focus-outside/index.native.js +1 -1
  934. package/build-module/higher-order/with-focus-outside/index.native.js.map +1 -1
  935. package/build-module/higher-order/with-focus-return/index.js +13 -17
  936. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  937. package/build-module/icon/index.js +5 -7
  938. package/build-module/icon/index.js.map +1 -1
  939. package/build-module/index.native.js +0 -1
  940. package/build-module/index.native.js.map +1 -1
  941. package/build-module/input-control/backdrop.js +4 -5
  942. package/build-module/input-control/backdrop.js.map +1 -1
  943. package/build-module/input-control/index.js +22 -23
  944. package/build-module/input-control/index.js.map +1 -1
  945. package/build-module/input-control/input-base.js +16 -17
  946. package/build-module/input-control/input-base.js.map +1 -1
  947. package/build-module/input-control/input-field.js +26 -29
  948. package/build-module/input-control/input-field.js.map +1 -1
  949. package/build-module/input-control/label.js +6 -7
  950. package/build-module/input-control/label.js.map +1 -1
  951. package/build-module/input-control/reducer/reducer.js +2 -6
  952. package/build-module/input-control/reducer/reducer.js.map +1 -1
  953. package/build-module/input-control/styles/input-control-styles.js +62 -64
  954. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  955. package/build-module/input-control/utils.js +1 -3
  956. package/build-module/input-control/utils.js.map +1 -1
  957. package/build-module/keyboard-shortcuts/index.js +21 -26
  958. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  959. package/build-module/menu-items-choice/index.js +6 -7
  960. package/build-module/menu-items-choice/index.js.map +1 -1
  961. package/build-module/mobile/audio-player/index.native.js +7 -8
  962. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  963. package/build-module/mobile/badge/index.native.js +5 -6
  964. package/build-module/mobile/badge/index.native.js.map +1 -1
  965. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  966. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  967. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  968. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  969. package/build-module/mobile/bottom-sheet/button.native.js +18 -21
  970. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  971. package/build-module/mobile/bottom-sheet/cell.native.js +22 -11
  972. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  973. package/build-module/mobile/bottom-sheet/color-cell.native.js +3 -1
  974. package/build-module/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  975. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  976. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  977. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  978. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  979. package/build-module/mobile/bottom-sheet/index.native.js +19 -30
  980. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  981. package/build-module/mobile/bottom-sheet/link-cell.native.js +6 -7
  982. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  983. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  984. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  985. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js +21 -0
  986. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  987. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  988. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  989. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  990. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  991. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  992. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  993. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  994. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  995. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  996. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  997. package/build-module/mobile/bottom-sheet/radio-cell.native.js +3 -2
  998. package/build-module/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  999. package/build-module/mobile/bottom-sheet/range-cell.native.js +6 -3
  1000. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/range-text-input.native.js +5 -6
  1002. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/ripple.native.js +10 -11
  1004. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  1006. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  1008. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  1010. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  1012. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/switch-cell.native.js +7 -2
  1014. package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet-select-control/index.native.js +11 -10
  1016. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet-text-control/index.native.js +13 -12
  1018. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1019. package/build-module/mobile/color-settings/index.native.js +12 -13
  1020. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1021. package/build-module/mobile/color-settings/utils.native.js +2 -2
  1022. package/build-module/mobile/color-settings/utils.native.js.map +1 -1
  1023. package/build-module/mobile/cycle-select-control/index.native.js +11 -12
  1024. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1025. package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
  1026. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1027. package/build-module/mobile/global-styles-context/index.native.js +6 -14
  1028. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  1029. package/build-module/mobile/global-styles-context/utils.native.js +69 -112
  1030. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1031. package/build-module/mobile/gradient/index.native.js +26 -33
  1032. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1033. package/build-module/mobile/html-text-input/index.native.js +3 -3
  1034. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  1035. package/build-module/mobile/image/image-editing-button.native.js +22 -26
  1036. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1037. package/build-module/mobile/image/index.native.js +31 -34
  1038. package/build-module/mobile/image/index.native.js.map +1 -1
  1039. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  1040. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1041. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  1042. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  1043. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  1044. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1045. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  1046. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  1047. package/build-module/mobile/layout-animation/index.native.js +1 -2
  1048. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1049. package/build-module/mobile/link-picker/index.native.js +12 -16
  1050. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1051. package/build-module/mobile/link-picker/link-picker-results.native.js +34 -48
  1052. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1053. package/build-module/mobile/link-picker/link-picker-screen.native.js +7 -9
  1054. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1055. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  1056. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  1057. package/build-module/mobile/link-settings/index.native.js +57 -58
  1058. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1059. package/build-module/mobile/media-edit/index.native.js +2 -2
  1060. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  1061. package/build-module/mobile/picker/index.ios.js +3 -6
  1062. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1063. package/build-module/mobile/segmented-control/index.native.js +16 -20
  1064. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1065. package/build-module/mobile/utils/alignments.native.js +2 -6
  1066. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  1067. package/build-module/mobile/utils/index.native.js +1 -2
  1068. package/build-module/mobile/utils/index.native.js.map +1 -1
  1069. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  1070. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1071. package/build-module/modal/index.js +3 -4
  1072. package/build-module/modal/index.js.map +1 -1
  1073. package/build-module/navigable-container/container.js +2 -6
  1074. package/build-module/navigable-container/container.js.map +1 -1
  1075. package/build-module/navigable-container/menu.js +5 -7
  1076. package/build-module/navigable-container/menu.js.map +1 -1
  1077. package/build-module/navigable-container/tabbable.js +4 -6
  1078. package/build-module/navigable-container/tabbable.js.map +1 -1
  1079. package/build-module/navigation/back-button/index.js +8 -11
  1080. package/build-module/navigation/back-button/index.js.map +1 -1
  1081. package/build-module/navigation/group/index.js +5 -6
  1082. package/build-module/navigation/group/index.js.map +1 -1
  1083. package/build-module/navigation/index.js +8 -11
  1084. package/build-module/navigation/index.js.map +1 -1
  1085. package/build-module/navigation/item/base.js +1 -3
  1086. package/build-module/navigation/item/base.js.map +1 -1
  1087. package/build-module/navigation/menu/menu-title-search.js +11 -14
  1088. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1089. package/build-module/navigation/menu/menu-title.js +8 -11
  1090. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1091. package/build-module/navigation/menu/search-no-results-found.js +3 -4
  1092. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1093. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  1094. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  1095. package/build-module/navigator/navigator-button/hook.js +1 -1
  1096. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  1097. package/build-module/navigator/navigator-provider/component.js +2 -6
  1098. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  1099. package/build-module/navigator/navigator-screen/component.js +1 -1
  1100. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  1101. package/build-module/notice/index.js +25 -29
  1102. package/build-module/notice/index.js.map +1 -1
  1103. package/build-module/notice/index.native.js +13 -18
  1104. package/build-module/notice/index.native.js.map +1 -1
  1105. package/build-module/notice/list.js +6 -8
  1106. package/build-module/notice/list.js.map +1 -1
  1107. package/build-module/number-control/index.js +24 -26
  1108. package/build-module/number-control/index.js.map +1 -1
  1109. package/build-module/number-control/styles/number-control-styles.js +6 -10
  1110. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1111. package/build-module/palette-edit/index.js +83 -94
  1112. package/build-module/palette-edit/index.js.map +1 -1
  1113. package/build-module/panel/actions.native.js +8 -10
  1114. package/build-module/panel/actions.native.js.map +1 -1
  1115. package/build-module/panel/body.js +7 -10
  1116. package/build-module/panel/body.js.map +1 -1
  1117. package/build-module/panel/body.native.js +6 -7
  1118. package/build-module/panel/body.native.js.map +1 -1
  1119. package/build-module/panel/bottom-separator-cover.native.js +3 -4
  1120. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1121. package/build-module/panel/header.js +4 -5
  1122. package/build-module/panel/header.js.map +1 -1
  1123. package/build-module/panel/index.js +5 -6
  1124. package/build-module/panel/index.js.map +1 -1
  1125. package/build-module/panel/row.js +4 -5
  1126. package/build-module/panel/row.js.map +1 -1
  1127. package/build-module/popover/index.js +25 -31
  1128. package/build-module/popover/index.js.map +1 -1
  1129. package/build-module/popover/limit-shift.js +66 -71
  1130. package/build-module/popover/limit-shift.js.map +1 -1
  1131. package/build-module/popover/overlay-middlewares.js +7 -9
  1132. package/build-module/popover/overlay-middlewares.js.map +1 -1
  1133. package/build-module/popover/utils.js +26 -34
  1134. package/build-module/popover/utils.js.map +1 -1
  1135. package/build-module/private-apis.js +14 -1
  1136. package/build-module/private-apis.js.map +1 -1
  1137. package/build-module/query-controls/author-select.js +7 -8
  1138. package/build-module/query-controls/author-select.js.map +1 -1
  1139. package/build-module/query-controls/category-select.js +8 -9
  1140. package/build-module/query-controls/category-select.js.map +1 -1
  1141. package/build-module/query-controls/index.js +16 -17
  1142. package/build-module/query-controls/index.js.map +1 -1
  1143. package/build-module/query-controls/index.native.js +13 -14
  1144. package/build-module/query-controls/index.native.js.map +1 -1
  1145. package/build-module/radio-control/index.js +1 -1
  1146. package/build-module/radio-control/index.js.map +1 -1
  1147. package/build-module/radio-control/index.native.js +6 -7
  1148. package/build-module/radio-control/index.native.js.map +1 -1
  1149. package/build-module/radio-group/index.js +8 -9
  1150. package/build-module/radio-group/index.js.map +1 -1
  1151. package/build-module/radio-group/radio/index.js +5 -6
  1152. package/build-module/radio-group/radio/index.js.map +1 -1
  1153. package/build-module/range-control/index.js +1 -3
  1154. package/build-module/range-control/index.js.map +1 -1
  1155. package/build-module/range-control/index.native.js +23 -22
  1156. package/build-module/range-control/index.native.js.map +1 -1
  1157. package/build-module/range-control/rail.js +7 -9
  1158. package/build-module/range-control/rail.js.map +1 -1
  1159. package/build-module/range-control/styles/range-control-styles.js +37 -52
  1160. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1161. package/build-module/range-control/tooltip.js +4 -5
  1162. package/build-module/range-control/tooltip.js.map +1 -1
  1163. package/build-module/resizable-box/index.js +8 -9
  1164. package/build-module/resizable-box/index.js.map +1 -1
  1165. package/build-module/resizable-box/resize-tooltip/index.js +12 -13
  1166. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1167. package/build-module/resizable-box/resize-tooltip/label.js +6 -7
  1168. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1169. package/build-module/resizable-box/resize-tooltip/utils.js +16 -19
  1170. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1171. package/build-module/responsive-wrapper/index.js +6 -8
  1172. package/build-module/responsive-wrapper/index.js.map +1 -1
  1173. package/build-module/sandbox/index.js +16 -23
  1174. package/build-module/sandbox/index.js.map +1 -1
  1175. package/build-module/sandbox/index.native.js +20 -26
  1176. package/build-module/sandbox/index.native.js.map +1 -1
  1177. package/build-module/search-control/index.js +14 -17
  1178. package/build-module/search-control/index.js.map +1 -1
  1179. package/build-module/search-control/index.native.js +7 -8
  1180. package/build-module/search-control/index.native.js.map +1 -1
  1181. package/build-module/select-control/index.js +9 -19
  1182. package/build-module/select-control/index.js.map +1 -1
  1183. package/build-module/select-control/index.native.js +11 -12
  1184. package/build-module/select-control/index.native.js.map +1 -1
  1185. package/build-module/select-control/styles/select-control-styles.js +19 -25
  1186. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1187. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -5
  1188. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1189. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  1190. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1191. package/build-module/slot-fill/bubbles-virtually/slot.js +6 -7
  1192. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1193. package/build-module/slot-fill/fill.js +4 -5
  1194. package/build-module/slot-fill/fill.js.map +1 -1
  1195. package/build-module/slot-fill/index.js +8 -11
  1196. package/build-module/slot-fill/index.js.map +1 -1
  1197. package/build-module/slot-fill/index.native.js +4 -5
  1198. package/build-module/slot-fill/index.native.js.map +1 -1
  1199. package/build-module/slot-fill/provider.js +2 -2
  1200. package/build-module/slot-fill/provider.js.map +1 -1
  1201. package/build-module/slot-fill/slot.js +9 -12
  1202. package/build-module/slot-fill/slot.js.map +1 -1
  1203. package/build-module/snackbar/index.js +26 -31
  1204. package/build-module/snackbar/index.js.map +1 -1
  1205. package/build-module/snackbar/list.js +7 -8
  1206. package/build-module/snackbar/list.js.map +1 -1
  1207. package/build-module/spinner/index.js +4 -5
  1208. package/build-module/spinner/index.js.map +1 -1
  1209. package/build-module/style-provider/index.native.js +3 -4
  1210. package/build-module/style-provider/index.native.js.map +1 -1
  1211. package/build-module/surface/styles.js +6 -7
  1212. package/build-module/surface/styles.js.map +1 -1
  1213. package/build-module/tab-panel/index.js +36 -40
  1214. package/build-module/tab-panel/index.js.map +1 -1
  1215. package/build-module/text/styles/text-mixins.native.js +1 -3
  1216. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1217. package/build-module/text/utils.js +16 -17
  1218. package/build-module/text/utils.js.map +1 -1
  1219. package/build-module/text-control/index.native.js +12 -13
  1220. package/build-module/text-control/index.native.js.map +1 -1
  1221. package/build-module/textarea-control/index.native.js +7 -8
  1222. package/build-module/textarea-control/index.native.js.map +1 -1
  1223. package/build-module/theme/color-algorithms.js +1 -2
  1224. package/build-module/theme/color-algorithms.js.map +1 -1
  1225. package/build-module/theme/index.js +6 -7
  1226. package/build-module/theme/index.js.map +1 -1
  1227. package/build-module/theme/styles.js +4 -8
  1228. package/build-module/theme/styles.js.map +1 -1
  1229. package/build-module/toggle-control/index.js +9 -11
  1230. package/build-module/toggle-control/index.js.map +1 -1
  1231. package/build-module/toggle-control/index.native.js +9 -10
  1232. package/build-module/toggle-control/index.native.js.map +1 -1
  1233. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  1234. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  1235. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  1236. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  1237. package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -14
  1238. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  1239. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  1240. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1241. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  1242. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  1243. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  1244. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  1245. package/build-module/toolbar/toolbar/index.js +20 -8
  1246. package/build-module/toolbar/toolbar/index.js.map +1 -1
  1247. package/build-module/toolbar/toolbar/toolbar-container.js +4 -5
  1248. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  1249. package/build-module/toolbar/toolbar/toolbar-container.native.js +3 -6
  1250. package/build-module/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  1251. package/build-module/toolbar/toolbar-button/index.js +10 -11
  1252. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  1253. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  1254. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  1255. package/build-module/toolbar/toolbar-group/index.js +9 -12
  1256. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  1257. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  1258. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1259. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  1260. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1261. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  1262. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  1263. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  1264. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1265. package/build-module/toolbar/toolbar-item/index.js +5 -6
  1266. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  1267. package/build-module/toolbar/toolbar-item/index.native.js +4 -6
  1268. package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
  1269. package/build-module/tools-panel/tools-panel/hook.js +17 -25
  1270. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1271. package/build-module/tools-panel/tools-panel-header/component.js +14 -24
  1272. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1273. package/build-module/tools-panel/tools-panel-item/hook.js +5 -7
  1274. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  1275. package/build-module/tooltip/index.js +36 -43
  1276. package/build-module/tooltip/index.js.map +1 -1
  1277. package/build-module/tooltip/index.native.js +14 -19
  1278. package/build-module/tooltip/index.native.js.map +1 -1
  1279. package/build-module/tree-grid/cell.js +5 -6
  1280. package/build-module/tree-grid/cell.js.map +1 -1
  1281. package/build-module/tree-grid/index.js +12 -15
  1282. package/build-module/tree-grid/index.js.map +1 -1
  1283. package/build-module/tree-grid/item.js +4 -5
  1284. package/build-module/tree-grid/item.js.map +1 -1
  1285. package/build-module/tree-grid/roving-tab-index-item.js +6 -7
  1286. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1287. package/build-module/tree-grid/roving-tab-index.js +3 -4
  1288. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1289. package/build-module/tree-grid/row.js +8 -9
  1290. package/build-module/tree-grid/row.js.map +1 -1
  1291. package/build-module/tree-select/index.js +9 -11
  1292. package/build-module/tree-select/index.js.map +1 -1
  1293. package/build-module/truncate/utils.js +1 -3
  1294. package/build-module/truncate/utils.js.map +1 -1
  1295. package/build-module/ui/context/context-connect.js +1 -1
  1296. package/build-module/ui/context/context-connect.js.map +1 -1
  1297. package/build-module/ui/context/context-system-provider.js +7 -9
  1298. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1299. package/build-module/ui/context/index.js +1 -1
  1300. package/build-module/ui/context/index.js.map +1 -1
  1301. package/build-module/ui/context/use-context-system.js +1 -1
  1302. package/build-module/ui/context/use-context-system.js.map +1 -1
  1303. package/build-module/ui/control-group/hook.js +1 -1
  1304. package/build-module/ui/control-group/hook.js.map +1 -1
  1305. package/build-module/ui/form-group/form-group-content.js +12 -13
  1306. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1307. package/build-module/ui/form-group/form-group-help.js +3 -4
  1308. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1309. package/build-module/ui/form-group/form-group-label.js +7 -8
  1310. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1311. package/build-module/ui/tooltip/component.js +1 -1
  1312. package/build-module/ui/tooltip/component.js.map +1 -1
  1313. package/build-module/ui/utils/colors.js +1 -3
  1314. package/build-module/ui/utils/colors.js.map +1 -1
  1315. package/build-module/ui/utils/font-size.js +2 -6
  1316. package/build-module/ui/utils/font-size.js.map +1 -1
  1317. package/build-module/ui/utils/get-high-dpi.js +1 -5
  1318. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1319. package/build-module/ui/utils/space.js +1 -3
  1320. package/build-module/ui/utils/space.js.map +1 -1
  1321. package/build-module/ui/utils/use-responsive-value.js +2 -4
  1322. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1323. package/build-module/unit-control/index.js +8 -8
  1324. package/build-module/unit-control/index.js.map +1 -1
  1325. package/build-module/unit-control/index.native.js +22 -23
  1326. package/build-module/unit-control/index.native.js.map +1 -1
  1327. package/build-module/unit-control/styles/unit-control-styles.js +6 -8
  1328. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1329. package/build-module/unit-control/unit-select-control.js +11 -13
  1330. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1331. package/build-module/unit-control/utils.js +12 -19
  1332. package/build-module/unit-control/utils.js.map +1 -1
  1333. package/build-module/utils/browsers.js +2 -10
  1334. package/build-module/utils/browsers.js.map +1 -1
  1335. package/build-module/utils/colors.js +1 -3
  1336. package/build-module/utils/colors.js.map +1 -1
  1337. package/build-module/utils/config-values.js +1 -0
  1338. package/build-module/utils/config-values.js.map +1 -1
  1339. package/build-module/utils/hooks/use-controlled-state.js +1 -2
  1340. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1341. package/build-module/utils/hooks/use-controlled-value.js +5 -6
  1342. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1343. package/build-module/utils/hooks/use-cx.js +1 -5
  1344. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1345. package/build-module/utils/math.js +5 -17
  1346. package/build-module/utils/math.js.map +1 -1
  1347. package/build-module/utils/reduce-motion.js +1 -2
  1348. package/build-module/utils/reduce-motion.js.map +1 -1
  1349. package/build-module/utils/rtl.js +3 -9
  1350. package/build-module/utils/rtl.js.map +1 -1
  1351. package/build-module/utils/values.js +2 -6
  1352. package/build-module/utils/values.js.map +1 -1
  1353. package/build-module/z-stack/styles.js +14 -23
  1354. package/build-module/z-stack/styles.js.map +1 -1
  1355. package/build-style/style-rtl.css +57 -27
  1356. package/build-style/style.css +59 -29
  1357. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  1358. package/build-types/button/deprecated.d.ts +6 -0
  1359. package/build-types/button/deprecated.d.ts.map +1 -1
  1360. package/build-types/button/index.d.ts.map +1 -1
  1361. package/build-types/button/stories/e2e/index.d.ts +14 -0
  1362. package/build-types/button/stories/e2e/index.d.ts.map +1 -0
  1363. package/build-types/button/types.d.ts +9 -0
  1364. package/build-types/button/types.d.ts.map +1 -1
  1365. package/build-types/color-palette/index.d.ts.map +1 -1
  1366. package/build-types/color-picker/styles.d.ts.map +1 -1
  1367. package/build-types/date-time/date-time/index.d.ts +3 -4
  1368. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  1369. package/build-types/date-time/date-time/styles.d.ts +0 -4
  1370. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  1371. package/build-types/date-time/stories/date-time.d.ts.map +1 -1
  1372. package/build-types/date-time/types.d.ts +0 -14
  1373. package/build-types/date-time/types.d.ts.map +1 -1
  1374. package/build-types/dropdown-menu/index.d.ts +83 -1
  1375. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  1376. package/build-types/dropdown-menu/stories/index.d.ts +13 -0
  1377. package/build-types/dropdown-menu/stories/index.d.ts.map +1 -0
  1378. package/build-types/dropdown-menu/test/index.d.ts +2 -0
  1379. package/build-types/dropdown-menu/test/index.d.ts.map +1 -0
  1380. package/build-types/dropdown-menu/types.d.ts +134 -0
  1381. package/build-types/dropdown-menu/types.d.ts.map +1 -0
  1382. package/build-types/dropdown-menu-v2/index.d.ts +17 -0
  1383. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -0
  1384. package/build-types/dropdown-menu-v2/stories/index.d.ts +11 -0
  1385. package/build-types/dropdown-menu-v2/stories/index.d.ts.map +1 -0
  1386. package/build-types/dropdown-menu-v2/styles.d.ts +42 -0
  1387. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -0
  1388. package/build-types/dropdown-menu-v2/test/index.d.ts +2 -0
  1389. package/build-types/dropdown-menu-v2/test/index.d.ts.map +1 -0
  1390. package/build-types/dropdown-menu-v2/types.d.ts +252 -0
  1391. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -0
  1392. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  1393. package/build-types/font-size-picker/index.d.ts.map +1 -1
  1394. package/build-types/font-size-picker/styles.d.ts +11 -0
  1395. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  1396. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  1397. package/build-types/modal/index.d.ts.map +1 -1
  1398. package/build-types/navigator/navigator-back-button/component.d.ts +1 -0
  1399. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  1400. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -0
  1401. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  1402. package/build-types/navigator/navigator-button/component.d.ts +1 -0
  1403. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  1404. package/build-types/navigator/navigator-button/hook.d.ts +1 -0
  1405. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  1406. package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -0
  1407. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  1408. package/build-types/popover/index.d.ts +6 -0
  1409. package/build-types/popover/index.d.ts.map +1 -1
  1410. package/build-types/private-apis.d.ts.map +1 -1
  1411. package/build-types/tab-panel/index.d.ts +1 -38
  1412. package/build-types/tab-panel/index.d.ts.map +1 -1
  1413. package/build-types/tab-panel/stories/index.d.ts +4 -3
  1414. package/build-types/tab-panel/stories/index.d.ts.map +1 -1
  1415. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  1416. package/build-types/toolbar/stories/index.d.ts.map +1 -1
  1417. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  1418. package/build-types/toolbar/toolbar-button/index.d.ts +6 -0
  1419. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  1420. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -10
  1421. package/build-types/ui/context/get-styled-class-name-from-key.d.ts.map +1 -1
  1422. package/build-types/ui/context/index.d.ts +1 -1
  1423. package/build-types/ui/context/index.d.ts.map +1 -1
  1424. package/build-types/utils/config-values.d.ts +1 -0
  1425. package/package.json +21 -20
  1426. package/src/border-control/border-control-dropdown/component.tsx +23 -12
  1427. package/src/border-control/test/index.js +6 -6
  1428. package/src/button/index.tsx +2 -0
  1429. package/src/button/stories/e2e/index.tsx +58 -0
  1430. package/src/button/style.scss +17 -15
  1431. package/src/button/types.ts +9 -0
  1432. package/src/color-palette/index.tsx +47 -46
  1433. package/src/color-palette/style.scss +57 -19
  1434. package/src/color-palette/test/__snapshots__/index.tsx.snap +66 -50
  1435. package/src/color-palette/test/index.tsx +76 -13
  1436. package/src/color-picker/styles.ts +7 -2
  1437. package/src/date-time/README.md +0 -16
  1438. package/src/date-time/date-time/index.tsx +17 -155
  1439. package/src/date-time/date-time/styles.ts +0 -4
  1440. package/src/date-time/stories/date-time.tsx +0 -4
  1441. package/src/date-time/types.ts +0 -16
  1442. package/src/dropdown-menu/README.md +12 -22
  1443. package/src/dropdown-menu/{index.js → index.tsx} +111 -25
  1444. package/src/dropdown-menu/stories/{index.js → index.tsx} +14 -22
  1445. package/src/dropdown-menu/test/{index.js → index.tsx} +6 -5
  1446. package/src/dropdown-menu/types.ts +143 -0
  1447. package/src/dropdown-menu-v2/README.md +392 -0
  1448. package/src/dropdown-menu-v2/index.tsx +293 -0
  1449. package/src/dropdown-menu-v2/stories/index.tsx +217 -0
  1450. package/src/dropdown-menu-v2/styles.ts +276 -0
  1451. package/src/dropdown-menu-v2/test/index.tsx +816 -0
  1452. package/src/dropdown-menu-v2/types.ts +265 -0
  1453. package/src/focal-point-picker/controls.tsx +2 -0
  1454. package/src/focal-point-picker/test/index.js +9 -3
  1455. package/src/font-size-picker/index.tsx +5 -5
  1456. package/src/font-size-picker/styles.ts +9 -0
  1457. package/src/index.native.js +0 -1
  1458. package/src/input-control/styles/input-control-styles.tsx +7 -0
  1459. package/src/mobile/bottom-sheet/cell.native.js +34 -5
  1460. package/src/mobile/bottom-sheet/color-cell.native.js +3 -2
  1461. package/src/mobile/bottom-sheet/lock-icon/index.native.js +19 -0
  1462. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +8 -0
  1463. package/src/mobile/bottom-sheet/radio-cell.native.js +2 -1
  1464. package/src/mobile/bottom-sheet/range-cell.native.js +5 -1
  1465. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -0
  1466. package/src/mobile/bottom-sheet/styles.native.scss +15 -1
  1467. package/src/mobile/bottom-sheet/switch-cell.native.js +10 -2
  1468. package/src/mobile/bottom-sheet-select-control/index.native.js +3 -1
  1469. package/src/mobile/bottom-sheet-text-control/index.native.js +3 -1
  1470. package/src/modal/index.tsx +1 -6
  1471. package/src/popover/index.tsx +1 -1
  1472. package/src/private-apis.ts +24 -0
  1473. package/src/range-control/index.native.js +3 -0
  1474. package/src/search-control/style.scss +2 -0
  1475. package/src/slot-fill/README.md +26 -1
  1476. package/src/tab-panel/index.tsx +18 -12
  1477. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -2
  1478. package/src/toggle-group-control/toggle-group-control/styles.ts +6 -1
  1479. package/src/toolbar/stories/index.tsx +25 -28
  1480. package/src/toolbar/toolbar/index.tsx +24 -7
  1481. package/src/tooltip/style.scss +2 -2
  1482. package/src/ui/context/index.ts +1 -0
  1483. package/src/utils/config-values.js +1 -0
  1484. package/src/view/README.md +2 -2
  1485. package/tsconfig.tsbuildinfo +1 -1
  1486. package/build/mobile/readable-content-view/index.native.js +0 -97
  1487. package/build/mobile/readable-content-view/index.native.js.map +0 -1
  1488. package/build-module/mobile/readable-content-view/index.native.js +0 -81
  1489. package/build-module/mobile/readable-content-view/index.native.js.map +0 -1
  1490. package/src/mobile/readable-content-view/index.native.js +0 -85
  1491. package/src/mobile/readable-content-view/style.native.scss +0 -30
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["classNames","Children","cloneElement","concatChildren","useEffect","useState","useDebounce","useMergeRefs","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","mergedRefs","children","ref","getRegularElement","addPopoverToGrandchildren","anchor","grandchildren","isOver","offset","position","shortcut","text","className","props","emitToChild","eventName","event","count","only","disabled","Tooltip","delay","popoverProps","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","popoverAnchor","setPopoverAnchor","existingChildRef","toArray","mergedChildRefs","createMouseDown","target","tagName","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","includes","clearOnUnmount","process","env","NODE_ENV","console","error","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","onMouseDown","getElementWithPopover","popoverData"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst eventCatcher = <div className=\"event-catcher\" />;\n\nconst getDisabledElement = ( {\n\teventHandlers,\n\tchild,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement(\n\t\t<span className=\"disabled-element-wrapper\">\n\t\t\t{ cloneElement( eventCatcher, eventHandlers ) }\n\t\t\t{ cloneElement( child, {\n\t\t\t\tchildren: childrenWithPopover,\n\t\t\t\tref: mergedRefs,\n\t\t\t} ) }\n\t\t</span>,\n\t\t{ ...eventHandlers }\n\t);\n};\n\nconst getRegularElement = ( {\n\tchild,\n\teventHandlers,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t\tref: mergedRefs,\n\t} );\n};\n\nconst addPopoverToGrandchildren = ( {\n\tanchor,\n\tgrandchildren,\n\tisOver,\n\toffset,\n\tposition,\n\tshortcut,\n\ttext,\n\tclassName,\n\t...props\n} ) =>\n\tconcatChildren(\n\t\tgrandchildren,\n\t\tisOver && (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tposition={ position }\n\t\t\t\tclassName={ classNames( 'components-tooltip', className ) }\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\toffset={ offset }\n\t\t\t\tanchor={ anchor }\n\t\t\t\tshift\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ text }\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-tooltip__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t)\n\t);\n\nconst emitToChild = ( children, eventName, event ) => {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn;\n\t}\n\n\tconst child = Children.only( children );\n\n\t// If the underlying element is disabled, do not emit the event.\n\tif ( child.props.disabled ) {\n\t\treturn;\n\t}\n\n\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( props ) {\n\tconst {\n\t\tchildren,\n\t\tposition = 'bottom middle',\n\t\ttext,\n\t\tshortcut,\n\t\tdelay = TOOLTIP_DELAY,\n\t\t...popoverProps\n\t} = props;\n\t/**\n\t * Whether a mouse is currently pressed, used in determining whether\n\t * to handle a focus event as displaying the tooltip immediately.\n\t *\n\t * @type {boolean}\n\t */\n\tconst [ isMouseDown, setIsMouseDown ] = useState( false );\n\tconst [ isOver, setIsOver ] = useState( false );\n\tconst delayedSetIsOver = useDebounce( setIsOver, delay );\n\t// Using internal state (instead of a ref) for the popover anchor to make sure\n\t// that the component re-renders when the anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\t// Create a reference to the Tooltip's child, to be passed to the Popover\n\t// so that the Tooltip can be correctly positioned. Also, merge with the\n\t// existing ref for the first child, so that its ref is preserved.\n\tconst existingChildRef = Children.toArray( children )[ 0 ]?.ref;\n\tconst mergedChildRefs = useMergeRefs( [\n\t\tsetPopoverAnchor,\n\t\texistingChildRef,\n\t] );\n\n\tconst createMouseDown = ( event ) => {\n\t\t// In firefox, the mouse down event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Preserve original child callback behavior.\n\t\temitToChild( children, 'onMouseDown', event );\n\n\t\t// On mouse down, the next `mouseup` should revert the value of the\n\t\t// instance property and remove its own event handler. The bind is\n\t\t// made on the document since the `mouseup` might not occur within\n\t\t// the bounds of the element.\n\t\tdocument.addEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( true );\n\t};\n\n\tconst createMouseUp = ( event ) => {\n\t\t// In firefox, the mouse up event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\temitToChild( children, 'onMouseUp', event );\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( false );\n\t};\n\n\tconst createMouseEvent = ( type ) => {\n\t\tif ( type === 'mouseUp' ) return createMouseUp;\n\t\tif ( type === 'mouseDown' ) return createMouseDown;\n\t};\n\n\t/**\n\t * Prebound `isInMouseDown` handler, created as a constant reference to\n\t * assure ability to remove in component unmount.\n\t *\n\t * @type {Function}\n\t */\n\tconst cancelIsMouseDown = createMouseEvent( 'mouseUp' );\n\n\tconst createToggleIsOver = ( eventName, isDelayed ) => {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior.\n\t\t\temitToChild( children, eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// A focus event will occur as a result of a mouse click, but it\n\t\t\t// should be disambiguated between interacting with the button and\n\t\t\t// using an explicit focus shift as a cue to display the tooltip.\n\t\t\tif ( 'focus' === event.type && isMouseDown ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called.\n\t\t\tdelayedSetIsOver.cancel();\n\n\t\t\tconst _isOver = [ 'focus', 'mouseenter' ].includes( event.type );\n\t\t\tif ( _isOver === isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tdelayedSetIsOver( _isOver );\n\t\t\t} else {\n\t\t\t\tsetIsOver( _isOver );\n\t\t\t}\n\t\t};\n\t};\n\tconst clearOnUnmount = () => {\n\t\tdelayedSetIsOver.cancel();\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t};\n\n\t// Ignore reason: updating the deps array here could cause unexpected changes in behavior.\n\t// Deferring until a more detailed investigation/refactor can be performed.\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tuseEffect( () => clearOnUnmount, [] );\n\n\tif ( Children.count( children ) !== 1 ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n\n\tconst eventHandlers = {\n\t\tonMouseEnter: createToggleIsOver( 'onMouseEnter', true ),\n\t\tonMouseLeave: createToggleIsOver( 'onMouseLeave' ),\n\t\tonClick: createToggleIsOver( 'onClick' ),\n\t\tonFocus: createToggleIsOver( 'onFocus' ),\n\t\tonBlur: createToggleIsOver( 'onBlur' ),\n\t\tonMouseDown: createMouseEvent( 'mouseDown' ),\n\t};\n\n\tconst child = Children.only( children );\n\tconst { children: grandchildren, disabled } = child.props;\n\tconst getElementWithPopover = disabled\n\t\t? getDisabledElement\n\t\t: getRegularElement;\n\n\tconst popoverData = {\n\t\tanchor: popoverAnchor,\n\t\tisOver,\n\t\toffset: 4,\n\t\tposition,\n\t\tshortcut,\n\t\ttext,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t\t...popoverProps,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t\tmergedRefs: mergedChildRefs,\n\t} );\n}\n\nexport default Tooltip;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["classNames","Children","cloneElement","concatChildren","useEffect","useState","useDebounce","useMergeRefs","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","mergedRefs","children","ref","getRegularElement","addPopoverToGrandchildren","anchor","grandchildren","isOver","offset","position","shortcut","text","className","props","emitToChild","eventName","event","count","only","disabled","Tooltip","delay","popoverProps","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","popoverAnchor","setPopoverAnchor","existingChildRef","toArray","mergedChildRefs","createMouseDown","target","tagName","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","includes","clearOnUnmount","process","env","NODE_ENV","console","error","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","onMouseDown","getElementWithPopover","popoverData"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst eventCatcher = <div className=\"event-catcher\" />;\n\nconst getDisabledElement = ( {\n\teventHandlers,\n\tchild,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement(\n\t\t<span className=\"disabled-element-wrapper\">\n\t\t\t{ cloneElement( eventCatcher, eventHandlers ) }\n\t\t\t{ cloneElement( child, {\n\t\t\t\tchildren: childrenWithPopover,\n\t\t\t\tref: mergedRefs,\n\t\t\t} ) }\n\t\t</span>,\n\t\t{ ...eventHandlers }\n\t);\n};\n\nconst getRegularElement = ( {\n\tchild,\n\teventHandlers,\n\tchildrenWithPopover,\n\tmergedRefs,\n} ) => {\n\treturn cloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t\tref: mergedRefs,\n\t} );\n};\n\nconst addPopoverToGrandchildren = ( {\n\tanchor,\n\tgrandchildren,\n\tisOver,\n\toffset,\n\tposition,\n\tshortcut,\n\ttext,\n\tclassName,\n\t...props\n} ) =>\n\tconcatChildren(\n\t\tgrandchildren,\n\t\tisOver && (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tposition={ position }\n\t\t\t\tclassName={ classNames( 'components-tooltip', className ) }\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\toffset={ offset }\n\t\t\t\tanchor={ anchor }\n\t\t\t\tshift\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ text }\n\t\t\t\t<Shortcut\n\t\t\t\t\tclassName=\"components-tooltip__shortcut\"\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t)\n\t);\n\nconst emitToChild = ( children, eventName, event ) => {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn;\n\t}\n\n\tconst child = Children.only( children );\n\n\t// If the underlying element is disabled, do not emit the event.\n\tif ( child.props.disabled ) {\n\t\treturn;\n\t}\n\n\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( props ) {\n\tconst {\n\t\tchildren,\n\t\tposition = 'bottom middle',\n\t\ttext,\n\t\tshortcut,\n\t\tdelay = TOOLTIP_DELAY,\n\t\t...popoverProps\n\t} = props;\n\t/**\n\t * Whether a mouse is currently pressed, used in determining whether\n\t * to handle a focus event as displaying the tooltip immediately.\n\t *\n\t * @type {boolean}\n\t */\n\tconst [ isMouseDown, setIsMouseDown ] = useState( false );\n\tconst [ isOver, setIsOver ] = useState( false );\n\tconst delayedSetIsOver = useDebounce( setIsOver, delay );\n\t// Using internal state (instead of a ref) for the popover anchor to make sure\n\t// that the component re-renders when the anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\t// Create a reference to the Tooltip's child, to be passed to the Popover\n\t// so that the Tooltip can be correctly positioned. Also, merge with the\n\t// existing ref for the first child, so that its ref is preserved.\n\tconst existingChildRef = Children.toArray( children )[ 0 ]?.ref;\n\tconst mergedChildRefs = useMergeRefs( [\n\t\tsetPopoverAnchor,\n\t\texistingChildRef,\n\t] );\n\n\tconst createMouseDown = ( event ) => {\n\t\t// In firefox, the mouse down event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Preserve original child callback behavior.\n\t\temitToChild( children, 'onMouseDown', event );\n\n\t\t// On mouse down, the next `mouseup` should revert the value of the\n\t\t// instance property and remove its own event handler. The bind is\n\t\t// made on the document since the `mouseup` might not occur within\n\t\t// the bounds of the element.\n\t\tdocument.addEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( true );\n\t};\n\n\tconst createMouseUp = ( event ) => {\n\t\t// In firefox, the mouse up event is also fired when the select\n\t\t// list is chosen.\n\t\t// Cancel further processing because re-rendering of child components\n\t\t// causes onChange to be triggered with the old value.\n\t\t// See https://github.com/WordPress/gutenberg/pull/42483\n\t\tif ( event.target.tagName === 'OPTION' ) {\n\t\t\treturn;\n\t\t}\n\n\t\temitToChild( children, 'onMouseUp', event );\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t\tsetIsMouseDown( false );\n\t};\n\n\tconst createMouseEvent = ( type ) => {\n\t\tif ( type === 'mouseUp' ) return createMouseUp;\n\t\tif ( type === 'mouseDown' ) return createMouseDown;\n\t};\n\n\t/**\n\t * Prebound `isInMouseDown` handler, created as a constant reference to\n\t * assure ability to remove in component unmount.\n\t *\n\t * @type {Function}\n\t */\n\tconst cancelIsMouseDown = createMouseEvent( 'mouseUp' );\n\n\tconst createToggleIsOver = ( eventName, isDelayed ) => {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior.\n\t\t\temitToChild( children, eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// A focus event will occur as a result of a mouse click, but it\n\t\t\t// should be disambiguated between interacting with the button and\n\t\t\t// using an explicit focus shift as a cue to display the tooltip.\n\t\t\tif ( 'focus' === event.type && isMouseDown ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called.\n\t\t\tdelayedSetIsOver.cancel();\n\n\t\t\tconst _isOver = [ 'focus', 'mouseenter' ].includes( event.type );\n\t\t\tif ( _isOver === isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tdelayedSetIsOver( _isOver );\n\t\t\t} else {\n\t\t\t\tsetIsOver( _isOver );\n\t\t\t}\n\t\t};\n\t};\n\tconst clearOnUnmount = () => {\n\t\tdelayedSetIsOver.cancel();\n\t\tdocument.removeEventListener( 'mouseup', cancelIsMouseDown );\n\t};\n\n\t// Ignore reason: updating the deps array here could cause unexpected changes in behavior.\n\t// Deferring until a more detailed investigation/refactor can be performed.\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tuseEffect( () => clearOnUnmount, [] );\n\n\tif ( Children.count( children ) !== 1 ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n\n\tconst eventHandlers = {\n\t\tonMouseEnter: createToggleIsOver( 'onMouseEnter', true ),\n\t\tonMouseLeave: createToggleIsOver( 'onMouseLeave' ),\n\t\tonClick: createToggleIsOver( 'onClick' ),\n\t\tonFocus: createToggleIsOver( 'onFocus' ),\n\t\tonBlur: createToggleIsOver( 'onBlur' ),\n\t\tonMouseDown: createMouseEvent( 'mouseDown' ),\n\t};\n\n\tconst child = Children.only( children );\n\tconst { children: grandchildren, disabled } = child.props;\n\tconst getElementWithPopover = disabled\n\t\t? getDisabledElement\n\t\t: getRegularElement;\n\n\tconst popoverData = {\n\t\tanchor: popoverAnchor,\n\t\tisOver,\n\t\toffset: 4,\n\t\tposition,\n\t\tshortcut,\n\t\ttext,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t\t...popoverProps,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t\tmergedRefs: mergedChildRefs,\n\t} );\n}\n\nexport default Tooltip;\n"]}
@@ -54,15 +54,12 @@ const useKeyboardVisibility = () => {
54
54
  return keyboardVisible;
55
55
  };
56
56
 
57
- const Tooltip = _ref => {
58
- var _styles$tooltip__shad;
59
-
60
- let {
61
- children,
62
- position = 'top',
63
- text,
64
- visible: initialVisible = false
65
- } = _ref;
57
+ const Tooltip = ({
58
+ children,
59
+ position = 'top',
60
+ text,
61
+ visible: initialVisible = false
62
+ }) => {
66
63
  const referenceElementRef = useRef(null);
67
64
  const animationValue = useRef(new Animated.Value(0)).current;
68
65
  const [, horizontalPosition = 'center'] = position.split(' ');
@@ -160,7 +157,7 @@ const Tooltip = _ref => {
160
157
  const tooltipBoxStyles = [styles.tooltip__box, horizontalPosition === 'right' && styles['tooltip--rightAlign'], {
161
158
  elevation: 2,
162
159
  opacity: animationValue,
163
- shadowColor: (_styles$tooltip__shad = styles.tooltip__shadow) === null || _styles$tooltip__shad === void 0 ? void 0 : _styles$tooltip__shad.color,
160
+ shadowColor: styles.tooltip__shadow?.color,
164
161
  shadowOffset: {
165
162
  height: 2,
166
163
  width: 0
@@ -195,10 +192,9 @@ const Tooltip = _ref => {
195
192
  });
196
193
  };
197
194
 
198
- const getTooltipLayout = _ref2 => {
199
- let {
200
- nativeEvent
201
- } = _ref2;
195
+ const getTooltipLayout = ({
196
+ nativeEvent
197
+ }) => {
202
198
  const {
203
199
  height,
204
200
  width
@@ -228,11 +224,10 @@ const Tooltip = _ref => {
228
224
  })))));
229
225
  };
230
226
 
231
- const TooltipSlot = _ref3 => {
232
- let {
233
- children,
234
- ...rest
235
- } = _ref3;
227
+ const TooltipSlot = ({
228
+ children,
229
+ ...rest
230
+ }) => {
236
231
  const [handleScreenTouch, setHandleScreenTouch] = useState(null);
237
232
 
238
233
  const onHandleScreenTouch = callback => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tooltip/index.native.js"],"names":["Animated","Easing","Keyboard","Platform","StyleSheet","Text","View","cloneElement","createContext","useContext","useEffect","useMemo","useRef","useState","usePrevious","createSlotFill","styles","RIGHT_ALIGN_ARROW_OFFSET","TOOLTIP_VERTICAL_OFFSET","TooltipContext","onHandleScreenTouch","Fill","Slot","useKeyboardVisibility","keyboardVisible","setKeyboardVisible","previousKeyboardVisible","showListener","addListener","keyboardHideEvent","select","android","ios","hideListener","remove","Tooltip","children","position","text","visible","initialVisible","referenceElementRef","animationValue","Value","current","horizontalPosition","split","setVisible","animating","setAnimating","hidden","previousVisible","referenceLayout","setReferenceLayout","height","width","x","y","tooltipLayout","setTooltipLayout","startAnimation","getReferenceElementPosition","frameListener","timing","toValue","duration","useNativeDriver","delay","easing","out","quad","start","tooltipStyles","tooltip","left","Math","floor","top","tooltipBoxStyles","tooltip__box","elevation","opacity","shadowColor","tooltip__shadow","color","shadowOffset","shadowOpacity","shadowRadius","transform","translateY","interpolate","inputRange","outputRange","arrowStyles","tooltip__arrow","requestAnimationFrame","measure","_x","_y","pageX","pageY","getTooltipLayout","nativeEvent","layout","ref","onLayout","tooltip__text","TooltipSlot","rest","handleScreenTouch","setHandleScreenTouch","callback","handleTouchStart","value","undefined","absoluteFill"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,QADD,EAECC,MAFD,EAGCC,QAHD,EAICC,QAJD,EAKCC,UALD,EAMCC,IAND,EAOCC,IAPD,QAQO,cARP;AAUA;AACA;AACA;;AACA,SACCC,YADD,EAECC,aAFD,EAGCC,UAHD,EAICC,SAJD,EAKCC,OALD,EAMCC,MAND,EAOCC,QAPD,QAQO,oBARP;AASA,SAASC,WAAT,QAA4B,oBAA5B;AAEA;AACA;AACA;;AACA,SAASC,cAAT,QAA+B,cAA/B;AACA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,MAAMC,wBAAwB,GAAG,EAAjC;AACA,MAAMC,uBAAuB,GAAG,CAAhC;AAEA,MAAMC,cAAc,GAAGX,aAAa,CAAE;AACrCY,EAAAA,mBAAmB,EAAE,MAAM,CAAE;AADQ,CAAF,CAApC;AAGA,MAAM;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiBP,cAAc,CAAE,SAAF,CAArC;;AAEA,MAAMQ,qBAAqB,GAAG,MAAM;AACnC,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0CZ,QAAQ,CAAE,KAAF,CAAxD;AACA,QAAMa,uBAAuB,GAAGZ,WAAW,CAAEU,eAAF,CAA3C;AAEAd,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAMiB,YAAY,GAAGzB,QAAQ,CAAC0B,WAAT,CAAsB,iBAAtB,EAAyC,MAAM;AACnE,UAAKF,uBAAuB,KAAK,IAAjC,EAAwC;AACvCD,QAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA;AACD,KAJoB,CAArB;AAKA,UAAMI,iBAAiB,GAAG1B,QAAQ,CAAC2B,MAAT,CAAiB;AAC1CC,MAAAA,OAAO,EAAE,iBADiC;AAE1CC,MAAAA,GAAG,EAAE;AAFqC,KAAjB,CAA1B;AAIA,UAAMC,YAAY,GAAG/B,QAAQ,CAAC0B,WAAT,CAAsBC,iBAAtB,EAAyC,MAAM;AACnE,UAAKH,uBAAuB,KAAK,KAAjC,EAAyC;AACxCD,QAAAA,kBAAkB,CAAE,KAAF,CAAlB;AACA;AACD,KAJoB,CAArB;AAKA,WAAO,MAAM;AACZE,MAAAA,YAAY,CAACO,MAAb;AACAD,MAAAA,YAAY,CAACC,MAAb;AACA,KAHD,CAfgB,CAmBhB;AACA;AACA;AACA,GAtBQ,EAsBN,EAtBM,CAAT;AAwBA,SAAOV,eAAP;AACA,CA7BD;;AA+BA,MAAMW,OAAO,GAAG,QAKT;AAAA;;AAAA,MALW;AACjBC,IAAAA,QADiB;AAEjBC,IAAAA,QAAQ,GAAG,KAFM;AAGjBC,IAAAA,IAHiB;AAIjBC,IAAAA,OAAO,EAAEC,cAAc,GAAG;AAJT,GAKX;AACN,QAAMC,mBAAmB,GAAG7B,MAAM,CAAE,IAAF,CAAlC;AACA,QAAM8B,cAAc,GAAG9B,MAAM,CAAE,IAAIZ,QAAQ,CAAC2C,KAAb,CAAoB,CAApB,CAAF,CAAN,CAAkCC,OAAzD;AACA,QAAM,GAAIC,kBAAkB,GAAG,QAAzB,IAAsCR,QAAQ,CAACS,KAAT,CAAgB,GAAhB,CAA5C;AACA,QAAM,CAAEP,OAAF,EAAWQ,UAAX,IAA0BlC,QAAQ,CAAE2B,cAAF,CAAxC;AACA,QAAM,CAAEQ,SAAF,EAAaC,YAAb,IAA8BpC,QAAQ,CAAE,KAAF,CAA5C;AACA,QAAMqC,MAAM,GAAG,CAAEX,OAAF,IAAa,CAAES,SAA9B;AACA,QAAMG,eAAe,GAAGrC,WAAW,CAAEyB,OAAF,CAAnC;AACA,QAAM,CAAEa,eAAF,EAAmBC,kBAAnB,IAA0CxC,QAAQ,CAAE;AACzDyC,IAAAA,MAAM,EAAE,CADiD;AAEzDC,IAAAA,KAAK,EAAE,CAFkD;AAGzDC,IAAAA,CAAC,EAAE,CAHsD;AAIzDC,IAAAA,CAAC,EAAE;AAJsD,GAAF,CAAxD;AAMA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsC9C,QAAQ,CAAE;AACrDyC,IAAAA,MAAM,EAAE,CAD6C;AAErDC,IAAAA,KAAK,EAAE;AAF8C,GAAF,CAApD;AAIA,QAAM;AAAEnC,IAAAA;AAAF,MAA0BX,UAAU,CAAEU,cAAF,CAA1C;AACA,QAAMK,eAAe,GAAGD,qBAAqB,EAA7C,CAnBM,CAqBN;;AACAb,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK6B,OAAL,EAAe;AACdnB,MAAAA,mBAAmB,CAAE,MAAM;AAC1B6B,QAAAA,YAAY,CAAE,IAAF,CAAZ;AACAF,QAAAA,UAAU,CAAE,KAAF,CAAV;AACA,OAHkB,CAAnB;AAIA;;AACD,WAAO,MAAM3B,mBAAmB,CAAE,IAAF,CAAhC,CAPgB,CAQhB;AACA;AACA;AACA,GAXQ,EAWN,CAAEmB,OAAF,CAXM,CAAT,CAtBM,CAmCN;;AACA7B,EAAAA,SAAS,CAAE,MAAM;AAChB,SACC;AACE,WAAOyC,eAAP,KAA2B,WAA3B,IAA0CZ,OAA5C,IACA;AACEY,IAAAA,eAAe,IAAIA,eAAe,KAAKZ,OAJ1C,EAKE;AACDU,MAAAA,YAAY,CAAE,IAAF,CAAZ;AACAW,MAAAA,cAAc;AACd,KATe,CAUhB;AACA;AACA;;AACA,GAbQ,EAaN,CAAErB,OAAF,CAbM,CAAT,CApCM,CAmDN;;AACA7B,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAE6B,OAAP,EAAiB;AAChB;AACA,KAHe,CAKhB;;;AACA,QAAKf,eAAL,EAAuB;AACtBqC,MAAAA,2BAA2B;AAC3B,KARe,CAUhB;;;AACA,QAAK,OAAOV,eAAP,KAA2B,WAA3B,IAA0C,CAAE3B,eAAjD,EAAmE;AAClEyB,MAAAA,YAAY,CAAE,IAAF,CAAZ;AACAF,MAAAA,UAAU,CAAE,KAAF,CAAV;AACA,KAde,CAehB;AACA;AACA;;AACA,GAlBQ,EAkBN,CAAER,OAAF,EAAWf,eAAX,CAlBM,CAAT,CApDM,CAwEN;;AACAd,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAMoD,aAAa,GAAG5D,QAAQ,CAAC0B,WAAT,CACrB,yBADqB,EAErB,MAAM;AACL,UAAKW,OAAL,EAAe;AACdsB,QAAAA,2BAA2B;AAC3B;AACD,KANoB,CAAtB;AASA,WAAO,MAAM;AACZC,MAAAA,aAAa,CAAC5B,MAAd;AACA,KAFD;AAGA,GAbQ,EAaN,CAAEK,OAAF,CAbM,CAAT;;AAeA,QAAMqB,cAAc,GAAG,MAAM;AAC5B5D,IAAAA,QAAQ,CAAC+D,MAAT,CAAiBrB,cAAjB,EAAiC;AAChCsB,MAAAA,OAAO,EAAEzB,OAAO,GAAG,CAAH,GAAO,CADS;AAEhC0B,MAAAA,QAAQ,EAAE1B,OAAO,GAAG,GAAH,GAAS,GAFM;AAGhC2B,MAAAA,eAAe,EAAE,IAHe;AAIhCC,MAAAA,KAAK,EAAE5B,OAAO,GAAG,GAAH,GAAS,CAJS;AAKhC6B,MAAAA,MAAM,EAAEnE,MAAM,CAACoE,GAAP,CAAYpE,MAAM,CAACqE,IAAnB;AALwB,KAAjC,EAMIC,KANJ,CAMW,MAAM;AAChBtB,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA,KARD;AASA,GAVD;;AAYA,QAAMuB,aAAa,GAAG,CACrBxD,MAAM,CAACyD,OADc,EAErB;AACCC,IAAAA,IAAI,EACHtB,eAAe,CAACI,CAAhB,GACAmB,IAAI,CAACC,KAAL,CAAYxB,eAAe,CAACG,KAAhB,GAAwB,CAApC,CADA,IAEEV,kBAAkB,KAAK,OAAvB,GACC5B,wBADD,GAEC0D,IAAI,CAACC,KAAL,CAAYlB,aAAa,CAACH,KAAd,GAAsB,CAAlC,CAJH,CAFF;AAOCsB,IAAAA,GAAG,EACFzB,eAAe,CAACK,CAAhB,GACAC,aAAa,CAACJ,MADd,GAEApC;AAVF,GAFqB,CAAtB;AAeA,QAAM4D,gBAAgB,GAAG,CACxB9D,MAAM,CAAC+D,YADiB,EAExBlC,kBAAkB,KAAK,OAAvB,IAAkC7B,MAAM,CAAE,qBAAF,CAFhB,EAGxB;AACCgE,IAAAA,SAAS,EAAE,CADZ;AAECC,IAAAA,OAAO,EAAEvC,cAFV;AAGCwC,IAAAA,WAAW,2BAAElE,MAAM,CAACmE,eAAT,0DAAE,sBAAwBC,KAHtC;AAICC,IAAAA,YAAY,EAAE;AAAE/B,MAAAA,MAAM,EAAE,CAAV;AAAaC,MAAAA,KAAK,EAAE;AAApB,KAJf;AAKC+B,IAAAA,aAAa,EAAE,IALhB;AAMCC,IAAAA,YAAY,EAAE,CANf;AAOCC,IAAAA,SAAS,EAAE,CACV;AACCC,MAAAA,UAAU,EAAE/C,cAAc,CAACgD,WAAf,CAA4B;AACvCC,QAAAA,UAAU,EAAE,CAAE,CAAF,EAAK,CAAL,CAD2B;AAEvCC,QAAAA,WAAW,EAAE,CAAErD,OAAO,GAAG,CAAH,GAAO,CAAC,CAAjB,EAAoB,CAAC,CAArB;AAF0B,OAA5B;AADb,KADU;AAPZ,GAHwB,CAAzB;AAoBA,QAAMsD,WAAW,GAAG,CACnB7E,MAAM,CAAC8E,cADY,EAEnBjD,kBAAkB,KAAK,OAAvB,IACC7B,MAAM,CAAE,4BAAF,CAHY,CAApB;;AAMA,QAAM6C,2BAA2B,GAAG,MAAM;AACzC;AACA;AACAkC,IAAAA,qBAAqB,CAAE,MAAM;AAC5B,UAAK,CAAEtD,mBAAmB,CAACG,OAA3B,EAAqC;AACpC;AACA;;AACDH,MAAAA,mBAAmB,CAACG,OAApB,CAA4BoD,OAA5B,CACC,CAAEC,EAAF,EAAMC,EAAN,EAAU3C,KAAV,EAAiBD,MAAjB,EAAyB6C,KAAzB,EAAgCC,KAAhC,KAA2C;AAC1C/C,QAAAA,kBAAkB,CAAE;AACnBC,UAAAA,MADmB;AAEnBC,UAAAA,KAFmB;AAGnBC,UAAAA,CAAC,EAAE2C,KAHgB;AAInB1C,UAAAA,CAAC,EAAE2C;AAJgB,SAAF,CAAlB;AAMA,OARF;AAUA,KAdoB,CAArB;AAeA,GAlBD;;AAmBA,QAAMC,gBAAgB,GAAG,SAAuB;AAAA,QAArB;AAAEC,MAAAA;AAAF,KAAqB;AAC/C,UAAM;AAAEhD,MAAAA,MAAF;AAAUC,MAAAA;AAAV,QAAoB+C,WAAW,CAACC,MAAtC;AACA5C,IAAAA,gBAAgB,CAAE;AAAEL,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAF,CAAhB;AACA,GAHD;;AAKA,MAAKL,MAAL,EAAc;AACb,WAAOd,QAAP;AACA;;AAED,SACC,8BACG7B,YAAY,CAAE6B,QAAF,EAAY;AACzBoE,IAAAA,GAAG,EAAE/D,mBADoB;AAEzBgE,IAAAA,QAAQ,EAAE5C;AAFe,GAAZ,CADf,EAKC,cAAC,IAAD,QACC,cAAC,IAAD;AAAM,IAAA,QAAQ,EAAGwC,gBAAjB;AAAoC,IAAA,KAAK,EAAG7B;AAA5C,KACC,cAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAGM;AAAvB,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAG9D,MAAM,CAAC0F;AAArB,KAAuCpE,IAAvC,CADD,EAEC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGuD;AAAd,IAFD,CADD,CADD,CALD,CADD;AAgBA,CA9LD;;AAgMA,MAAMc,WAAW,GAAG,SAA6B;AAAA,MAA3B;AAAEvE,IAAAA,QAAF;AAAY,OAAGwE;AAAf,GAA2B;AAChD,QAAM,CAAEC,iBAAF,EAAqBC,oBAArB,IAA8CjG,QAAQ,CAAE,IAAF,CAA5D;;AACA,QAAMO,mBAAmB,GAAK2F,QAAF,IAAgB;AAC3C;AACAD,IAAAA,oBAAoB,CAAE,MAAMC,QAAR,CAApB;AACA,GAHD;;AAIA,QAAMC,gBAAgB,GAAG,MAAM;AAC9BH,IAAAA,iBAAiB;AACjBC,IAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA,GAHD,CANgD,CAUhD;AACA;AACA;AACA;;;AACA,QAAMG,KAAK,GAAGtG,OAAO,CAAE,OAAQ;AAAES,IAAAA;AAAF,GAAR,CAAF,CAArB;AAEA,SACC,cAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAG6F;AAAjC,KACC,cAAC,IAAD;AACC,IAAA,YAAY,EACX,OAAOJ,iBAAP,KAA6B,UAA7B,GACGG,gBADH,GAEGE,SAJL;AAMC,IAAA,aAAa,EAAC,UANf;AAOC,IAAA,KAAK,EAAG9G,UAAU,CAAC+G,YAPpB;AAQC,IAAA,MAAM,EAAC;AARR,KAUG/E,QAVH,EAWC,cAAC,IAAD,EAAWwE,IAAX,CAXD,CADD,CADD;AAiBA,CAjCD;;AAmCAzE,OAAO,CAACb,IAAR,GAAeqF,WAAf;AAEA,eAAexE,OAAf","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tKeyboard,\n\tPlatform,\n\tStyleSheet,\n\tText,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneElement,\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createSlotFill } from '../slot-fill';\nimport styles from './style.scss';\n\nconst RIGHT_ALIGN_ARROW_OFFSET = 16;\nconst TOOLTIP_VERTICAL_OFFSET = 2;\n\nconst TooltipContext = createContext( {\n\tonHandleScreenTouch: () => {},\n} );\nconst { Fill, Slot } = createSlotFill( 'Tooltip' );\n\nconst useKeyboardVisibility = () => {\n\tconst [ keyboardVisible, setKeyboardVisible ] = useState( false );\n\tconst previousKeyboardVisible = usePrevious( keyboardVisible );\n\n\tuseEffect( () => {\n\t\tconst showListener = Keyboard.addListener( 'keyboardDidShow', () => {\n\t\t\tif ( previousKeyboardVisible !== true ) {\n\t\t\t\tsetKeyboardVisible( true );\n\t\t\t}\n\t\t} );\n\t\tconst keyboardHideEvent = Platform.select( {\n\t\t\tandroid: 'keyboardDidHide',\n\t\t\tios: 'keyboardWillHide',\n\t\t} );\n\t\tconst hideListener = Keyboard.addListener( keyboardHideEvent, () => {\n\t\t\tif ( previousKeyboardVisible !== false ) {\n\t\t\t\tsetKeyboardVisible( false );\n\t\t\t}\n\t\t} );\n\t\treturn () => {\n\t\t\tshowListener.remove();\n\t\t\thideListener.remove();\n\t\t};\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\treturn keyboardVisible;\n};\n\nconst Tooltip = ( {\n\tchildren,\n\tposition = 'top',\n\ttext,\n\tvisible: initialVisible = false,\n} ) => {\n\tconst referenceElementRef = useRef( null );\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst [ , horizontalPosition = 'center' ] = position.split( ' ' );\n\tconst [ visible, setVisible ] = useState( initialVisible );\n\tconst [ animating, setAnimating ] = useState( false );\n\tconst hidden = ! visible && ! animating;\n\tconst previousVisible = usePrevious( visible );\n\tconst [ referenceLayout, setReferenceLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t\tx: 0,\n\t\ty: 0,\n\t} );\n\tconst [ tooltipLayout, setTooltipLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t} );\n\tconst { onHandleScreenTouch } = useContext( TooltipContext );\n\tconst keyboardVisible = useKeyboardVisibility();\n\n\t// Register callback to dismiss the tooltip whenever the screen is touched.\n\tuseEffect( () => {\n\t\tif ( visible ) {\n\t\t\tonHandleScreenTouch( () => {\n\t\t\t\tsetAnimating( true );\n\t\t\t\tsetVisible( false );\n\t\t\t} );\n\t\t}\n\t\treturn () => onHandleScreenTouch( null );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ visible ] );\n\n\t// Manage visibility animation.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t// Initial render and visibility enabled, animate show.\n\t\t\t( typeof previousVisible === 'undefined' && visible ) ||\n\t\t\t// Previously visible, animate hide\n\t\t\t( previousVisible && previousVisible !== visible )\n\t\t) {\n\t\t\tsetAnimating( true );\n\t\t\tstartAnimation();\n\t\t}\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ visible ] );\n\n\t// Manage tooltip visibility and position in relation to keyboard.\n\tuseEffect( () => {\n\t\tif ( ! visible ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update tooltip position if keyboard is visible.\n\t\tif ( keyboardVisible ) {\n\t\t\tgetReferenceElementPosition();\n\t\t}\n\n\t\t// Hide tooltip if keyboard hides\n\t\tif ( typeof previousVisible !== 'undefined' && ! keyboardVisible ) {\n\t\t\tsetAnimating( true );\n\t\t\tsetVisible( false );\n\t\t}\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ visible, keyboardVisible ] );\n\n\t// Manage tooltip position during keyboard frame changes.\n\tuseEffect( () => {\n\t\tconst frameListener = Keyboard.addListener(\n\t\t\t'keyboardWillChangeFrame',\n\t\t\t() => {\n\t\t\t\tif ( visible ) {\n\t\t\t\t\tgetReferenceElementPosition();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tframeListener.remove();\n\t\t};\n\t}, [ visible ] );\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\tdelay: visible ? 500 : 0,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( () => {\n\t\t\tsetAnimating( false );\n\t\t} );\n\t};\n\n\tconst tooltipStyles = [\n\t\tstyles.tooltip,\n\t\t{\n\t\t\tleft:\n\t\t\t\treferenceLayout.x +\n\t\t\t\tMath.floor( referenceLayout.width / 2 ) -\n\t\t\t\t( horizontalPosition === 'right'\n\t\t\t\t\t? RIGHT_ALIGN_ARROW_OFFSET\n\t\t\t\t\t: Math.floor( tooltipLayout.width / 2 ) ),\n\t\t\ttop:\n\t\t\t\treferenceLayout.y -\n\t\t\t\ttooltipLayout.height -\n\t\t\t\tTOOLTIP_VERTICAL_OFFSET,\n\t\t},\n\t];\n\tconst tooltipBoxStyles = [\n\t\tstyles.tooltip__box,\n\t\thorizontalPosition === 'right' && styles[ 'tooltip--rightAlign' ],\n\t\t{\n\t\t\televation: 2,\n\t\t\topacity: animationValue,\n\t\t\tshadowColor: styles.tooltip__shadow?.color,\n\t\t\tshadowOffset: { height: 2, width: 0 },\n\t\t\tshadowOpacity: 0.25,\n\t\t\tshadowRadius: 2,\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [ visible ? 4 : -8, -8 ],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n\tconst arrowStyles = [\n\t\tstyles.tooltip__arrow,\n\t\thorizontalPosition === 'right' &&\n\t\t\tstyles[ 'tooltip__arrow--rightAlign' ],\n\t];\n\n\tconst getReferenceElementPosition = () => {\n\t\t// rAF allows render to complete before calculating layout\n\t\t// eslint-disable-next-line no-undef\n\t\trequestAnimationFrame( () => {\n\t\t\tif ( ! referenceElementRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treferenceElementRef.current.measure(\n\t\t\t\t( _x, _y, width, height, pageX, pageY ) => {\n\t\t\t\t\tsetReferenceLayout( {\n\t\t\t\t\t\theight,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tx: pageX,\n\t\t\t\t\t\ty: pageY,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\t};\n\tconst getTooltipLayout = ( { nativeEvent } ) => {\n\t\tconst { height, width } = nativeEvent.layout;\n\t\tsetTooltipLayout( { height, width } );\n\t};\n\n\tif ( hidden ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ cloneElement( children, {\n\t\t\t\tref: referenceElementRef,\n\t\t\t\tonLayout: getReferenceElementPosition,\n\t\t\t} ) }\n\t\t\t<Fill>\n\t\t\t\t<View onLayout={ getTooltipLayout } style={ tooltipStyles }>\n\t\t\t\t\t<Animated.View style={ tooltipBoxStyles }>\n\t\t\t\t\t\t<Text style={ styles.tooltip__text }>{ text }</Text>\n\t\t\t\t\t\t<View style={ arrowStyles } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t</View>\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\nconst TooltipSlot = ( { children, ...rest } ) => {\n\tconst [ handleScreenTouch, setHandleScreenTouch ] = useState( null );\n\tconst onHandleScreenTouch = ( callback ) => {\n\t\t// Must use function to set state below as `callback` is a function itself.\n\t\tsetHandleScreenTouch( () => callback );\n\t};\n\tconst handleTouchStart = () => {\n\t\thandleScreenTouch();\n\t\tsetHandleScreenTouch( null );\n\t};\n\t// Memoize context value to avoid unnecessary rerenders of the Provider's children\n\t// Disable reason: deferring this refactor to the native team.\n\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst value = useMemo( () => ( { onHandleScreenTouch } ) );\n\n\treturn (\n\t\t<TooltipContext.Provider value={ value }>\n\t\t\t<View\n\t\t\t\tonTouchStart={\n\t\t\t\t\ttypeof handleScreenTouch === 'function'\n\t\t\t\t\t\t? handleTouchStart\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ StyleSheet.absoluteFill }\n\t\t\t\ttestID=\"tooltip-overlay\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t<Slot { ...rest } />\n\t\t\t</View>\n\t\t</TooltipContext.Provider>\n\t);\n};\n\nTooltip.Slot = TooltipSlot;\n\nexport default Tooltip;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tooltip/index.native.js"],"names":["Animated","Easing","Keyboard","Platform","StyleSheet","Text","View","cloneElement","createContext","useContext","useEffect","useMemo","useRef","useState","usePrevious","createSlotFill","styles","RIGHT_ALIGN_ARROW_OFFSET","TOOLTIP_VERTICAL_OFFSET","TooltipContext","onHandleScreenTouch","Fill","Slot","useKeyboardVisibility","keyboardVisible","setKeyboardVisible","previousKeyboardVisible","showListener","addListener","keyboardHideEvent","select","android","ios","hideListener","remove","Tooltip","children","position","text","visible","initialVisible","referenceElementRef","animationValue","Value","current","horizontalPosition","split","setVisible","animating","setAnimating","hidden","previousVisible","referenceLayout","setReferenceLayout","height","width","x","y","tooltipLayout","setTooltipLayout","startAnimation","getReferenceElementPosition","frameListener","timing","toValue","duration","useNativeDriver","delay","easing","out","quad","start","tooltipStyles","tooltip","left","Math","floor","top","tooltipBoxStyles","tooltip__box","elevation","opacity","shadowColor","tooltip__shadow","color","shadowOffset","shadowOpacity","shadowRadius","transform","translateY","interpolate","inputRange","outputRange","arrowStyles","tooltip__arrow","requestAnimationFrame","measure","_x","_y","pageX","pageY","getTooltipLayout","nativeEvent","layout","ref","onLayout","tooltip__text","TooltipSlot","rest","handleScreenTouch","setHandleScreenTouch","callback","handleTouchStart","value","undefined","absoluteFill"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tKeyboard,\n\tPlatform,\n\tStyleSheet,\n\tText,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneElement,\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createSlotFill } from '../slot-fill';\nimport styles from './style.scss';\n\nconst RIGHT_ALIGN_ARROW_OFFSET = 16;\nconst TOOLTIP_VERTICAL_OFFSET = 2;\n\nconst TooltipContext = createContext( {\n\tonHandleScreenTouch: () => {},\n} );\nconst { Fill, Slot } = createSlotFill( 'Tooltip' );\n\nconst useKeyboardVisibility = () => {\n\tconst [ keyboardVisible, setKeyboardVisible ] = useState( false );\n\tconst previousKeyboardVisible = usePrevious( keyboardVisible );\n\n\tuseEffect( () => {\n\t\tconst showListener = Keyboard.addListener( 'keyboardDidShow', () => {\n\t\t\tif ( previousKeyboardVisible !== true ) {\n\t\t\t\tsetKeyboardVisible( true );\n\t\t\t}\n\t\t} );\n\t\tconst keyboardHideEvent = Platform.select( {\n\t\t\tandroid: 'keyboardDidHide',\n\t\t\tios: 'keyboardWillHide',\n\t\t} );\n\t\tconst hideListener = Keyboard.addListener( keyboardHideEvent, () => {\n\t\t\tif ( previousKeyboardVisible !== false ) {\n\t\t\t\tsetKeyboardVisible( false );\n\t\t\t}\n\t\t} );\n\t\treturn () => {\n\t\t\tshowListener.remove();\n\t\t\thideListener.remove();\n\t\t};\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\treturn keyboardVisible;\n};\n\nconst Tooltip = ( {\n\tchildren,\n\tposition = 'top',\n\ttext,\n\tvisible: initialVisible = false,\n} ) => {\n\tconst referenceElementRef = useRef( null );\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst [ , horizontalPosition = 'center' ] = position.split( ' ' );\n\tconst [ visible, setVisible ] = useState( initialVisible );\n\tconst [ animating, setAnimating ] = useState( false );\n\tconst hidden = ! visible && ! animating;\n\tconst previousVisible = usePrevious( visible );\n\tconst [ referenceLayout, setReferenceLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t\tx: 0,\n\t\ty: 0,\n\t} );\n\tconst [ tooltipLayout, setTooltipLayout ] = useState( {\n\t\theight: 0,\n\t\twidth: 0,\n\t} );\n\tconst { onHandleScreenTouch } = useContext( TooltipContext );\n\tconst keyboardVisible = useKeyboardVisibility();\n\n\t// Register callback to dismiss the tooltip whenever the screen is touched.\n\tuseEffect( () => {\n\t\tif ( visible ) {\n\t\t\tonHandleScreenTouch( () => {\n\t\t\t\tsetAnimating( true );\n\t\t\t\tsetVisible( false );\n\t\t\t} );\n\t\t}\n\t\treturn () => onHandleScreenTouch( null );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ visible ] );\n\n\t// Manage visibility animation.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t// Initial render and visibility enabled, animate show.\n\t\t\t( typeof previousVisible === 'undefined' && visible ) ||\n\t\t\t// Previously visible, animate hide\n\t\t\t( previousVisible && previousVisible !== visible )\n\t\t) {\n\t\t\tsetAnimating( true );\n\t\t\tstartAnimation();\n\t\t}\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ visible ] );\n\n\t// Manage tooltip visibility and position in relation to keyboard.\n\tuseEffect( () => {\n\t\tif ( ! visible ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update tooltip position if keyboard is visible.\n\t\tif ( keyboardVisible ) {\n\t\t\tgetReferenceElementPosition();\n\t\t}\n\n\t\t// Hide tooltip if keyboard hides\n\t\tif ( typeof previousVisible !== 'undefined' && ! keyboardVisible ) {\n\t\t\tsetAnimating( true );\n\t\t\tsetVisible( false );\n\t\t}\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ visible, keyboardVisible ] );\n\n\t// Manage tooltip position during keyboard frame changes.\n\tuseEffect( () => {\n\t\tconst frameListener = Keyboard.addListener(\n\t\t\t'keyboardWillChangeFrame',\n\t\t\t() => {\n\t\t\t\tif ( visible ) {\n\t\t\t\t\tgetReferenceElementPosition();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tframeListener.remove();\n\t\t};\n\t}, [ visible ] );\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\tdelay: visible ? 500 : 0,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( () => {\n\t\t\tsetAnimating( false );\n\t\t} );\n\t};\n\n\tconst tooltipStyles = [\n\t\tstyles.tooltip,\n\t\t{\n\t\t\tleft:\n\t\t\t\treferenceLayout.x +\n\t\t\t\tMath.floor( referenceLayout.width / 2 ) -\n\t\t\t\t( horizontalPosition === 'right'\n\t\t\t\t\t? RIGHT_ALIGN_ARROW_OFFSET\n\t\t\t\t\t: Math.floor( tooltipLayout.width / 2 ) ),\n\t\t\ttop:\n\t\t\t\treferenceLayout.y -\n\t\t\t\ttooltipLayout.height -\n\t\t\t\tTOOLTIP_VERTICAL_OFFSET,\n\t\t},\n\t];\n\tconst tooltipBoxStyles = [\n\t\tstyles.tooltip__box,\n\t\thorizontalPosition === 'right' && styles[ 'tooltip--rightAlign' ],\n\t\t{\n\t\t\televation: 2,\n\t\t\topacity: animationValue,\n\t\t\tshadowColor: styles.tooltip__shadow?.color,\n\t\t\tshadowOffset: { height: 2, width: 0 },\n\t\t\tshadowOpacity: 0.25,\n\t\t\tshadowRadius: 2,\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [ visible ? 4 : -8, -8 ],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n\tconst arrowStyles = [\n\t\tstyles.tooltip__arrow,\n\t\thorizontalPosition === 'right' &&\n\t\t\tstyles[ 'tooltip__arrow--rightAlign' ],\n\t];\n\n\tconst getReferenceElementPosition = () => {\n\t\t// rAF allows render to complete before calculating layout\n\t\t// eslint-disable-next-line no-undef\n\t\trequestAnimationFrame( () => {\n\t\t\tif ( ! referenceElementRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treferenceElementRef.current.measure(\n\t\t\t\t( _x, _y, width, height, pageX, pageY ) => {\n\t\t\t\t\tsetReferenceLayout( {\n\t\t\t\t\t\theight,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tx: pageX,\n\t\t\t\t\t\ty: pageY,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\t};\n\tconst getTooltipLayout = ( { nativeEvent } ) => {\n\t\tconst { height, width } = nativeEvent.layout;\n\t\tsetTooltipLayout( { height, width } );\n\t};\n\n\tif ( hidden ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ cloneElement( children, {\n\t\t\t\tref: referenceElementRef,\n\t\t\t\tonLayout: getReferenceElementPosition,\n\t\t\t} ) }\n\t\t\t<Fill>\n\t\t\t\t<View onLayout={ getTooltipLayout } style={ tooltipStyles }>\n\t\t\t\t\t<Animated.View style={ tooltipBoxStyles }>\n\t\t\t\t\t\t<Text style={ styles.tooltip__text }>{ text }</Text>\n\t\t\t\t\t\t<View style={ arrowStyles } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t</View>\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\nconst TooltipSlot = ( { children, ...rest } ) => {\n\tconst [ handleScreenTouch, setHandleScreenTouch ] = useState( null );\n\tconst onHandleScreenTouch = ( callback ) => {\n\t\t// Must use function to set state below as `callback` is a function itself.\n\t\tsetHandleScreenTouch( () => callback );\n\t};\n\tconst handleTouchStart = () => {\n\t\thandleScreenTouch();\n\t\tsetHandleScreenTouch( null );\n\t};\n\t// Memoize context value to avoid unnecessary rerenders of the Provider's children\n\t// Disable reason: deferring this refactor to the native team.\n\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst value = useMemo( () => ( { onHandleScreenTouch } ) );\n\n\treturn (\n\t\t<TooltipContext.Provider value={ value }>\n\t\t\t<View\n\t\t\t\tonTouchStart={\n\t\t\t\t\ttypeof handleScreenTouch === 'function'\n\t\t\t\t\t\t? handleTouchStart\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\tstyle={ StyleSheet.absoluteFill }\n\t\t\t\ttestID=\"tooltip-overlay\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t<Slot { ...rest } />\n\t\t\t</View>\n\t\t</TooltipContext.Provider>\n\t);\n};\n\nTooltip.Slot = TooltipSlot;\n\nexport default Tooltip;\n"]}
@@ -11,12 +11,11 @@ import { forwardRef } from '@wordpress/element';
11
11
 
12
12
  import TreeGridItem from './item';
13
13
 
14
- function UnforwardedTreeGridCell(_ref, ref) {
15
- let {
16
- children,
17
- withoutGridItem = false,
18
- ...props
19
- } = _ref;
14
+ function UnforwardedTreeGridCell({
15
+ children,
16
+ withoutGridItem = false,
17
+ ...props
18
+ }, ref) {
20
19
  return createElement("td", _extends({}, props, {
21
20
  role: "gridcell"
22
21
  }), withoutGridItem ? createElement(Fragment, null, children) : createElement(TreeGridItem, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/cell.tsx"],"names":["forwardRef","TreeGridItem","UnforwardedTreeGridCell","ref","children","withoutGridItem","props","TreeGridCell"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,QAAzB;;AAIA,SAASC,uBAAT,OAMCC,GAND,EAOE;AAAA,MAND;AACCC,IAAAA,QADD;AAECC,IAAAA,eAAe,GAAG,KAFnB;AAGC,OAAGC;AAHJ,GAMC;AACD,SACC,iCAASA,KAAT;AAAiB,IAAA,IAAI,EAAC;AAAtB,MACGD,eAAe,GAChB,8BAAID,QAAJ,CADgB,GAGhB,cAAC,YAAD;AAAc,IAAA,GAAG,EAAGD;AAApB,KAA4BC,QAA5B,CAJF,CADD;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMG,YAAY,GAAGP,UAAU,CAAEE,uBAAF,CAA/B;AAEP,eAAeK,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TreeGridItem from './item';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { TreeGridCellProps } from './types';\n\nfunction UnforwardedTreeGridCell(\n\t{\n\t\tchildren,\n\t\twithoutGridItem = false,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridCellProps, 'td', false >,\n\tref: React.ForwardedRef< any >\n) {\n\treturn (\n\t\t<td { ...props } role=\"gridcell\">\n\t\t\t{ withoutGridItem ? (\n\t\t\t\t<>{ children }</>\n\t\t\t) : (\n\t\t\t\t<TreeGridItem ref={ ref }>{ children }</TreeGridItem>\n\t\t\t) }\n\t\t</td>\n\t);\n}\n\n/**\n * `TreeGridCell` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGridCell = forwardRef( UnforwardedTreeGridCell );\n\nexport default TreeGridCell;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/cell.tsx"],"names":["forwardRef","TreeGridItem","UnforwardedTreeGridCell","children","withoutGridItem","props","ref","TreeGridCell"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,QAAzB;;AAIA,SAASC,uBAAT,CACC;AACCC,EAAAA,QADD;AAECC,EAAAA,eAAe,GAAG,KAFnB;AAGC,KAAGC;AAHJ,CADD,EAMCC,GAND,EAOE;AACD,SACC,iCAASD,KAAT;AAAiB,IAAA,IAAI,EAAC;AAAtB,MACGD,eAAe,GAChB,8BAAID,QAAJ,CADgB,GAGhB,cAAC,YAAD;AAAc,IAAA,GAAG,EAAGG;AAApB,KAA4BH,QAA5B,CAJF,CADD;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMI,YAAY,GAAGP,UAAU,CAAEE,uBAAF,CAA/B;AAEP,eAAeK,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TreeGridItem from './item';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { TreeGridCellProps } from './types';\n\nfunction UnforwardedTreeGridCell(\n\t{\n\t\tchildren,\n\t\twithoutGridItem = false,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridCellProps, 'td', false >,\n\tref: React.ForwardedRef< any >\n) {\n\treturn (\n\t\t<td { ...props } role=\"gridcell\">\n\t\t\t{ withoutGridItem ? (\n\t\t\t\t<>{ children }</>\n\t\t\t) : (\n\t\t\t\t<TreeGridItem ref={ ref }>{ children }</TreeGridItem>\n\t\t\t) }\n\t\t</td>\n\t);\n}\n\n/**\n * `TreeGridCell` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGridCell = forwardRef( UnforwardedTreeGridCell );\n\nexport default TreeGridCell;\n"]}
@@ -35,17 +35,16 @@ function getRowFocusables(rowElement) {
35
35
  */
36
36
 
37
37
 
38
- function UnforwardedTreeGrid(_ref,
38
+ function UnforwardedTreeGrid({
39
+ children,
40
+ onExpandRow = () => {},
41
+ onCollapseRow = () => {},
42
+ onFocusRow = () => {},
43
+ applicationAriaLabel,
44
+ ...props
45
+ },
39
46
  /** A ref to the underlying DOM table element. */
40
47
  ref) {
41
- let {
42
- children,
43
- onExpandRow = () => {},
44
- onCollapseRow = () => {},
45
- onFocusRow = () => {},
46
- applicationAriaLabel,
47
- ...props
48
- } = _ref;
49
48
  const onKeyDown = useCallback(event => {
50
49
  const {
51
50
  keyCode,
@@ -99,7 +98,7 @@ ref) {
99
98
 
100
99
  if (canExpandCollapse) {
101
100
  if (keyCode === LEFT) {
102
- var _activeRow$getAttribu, _getRowFocusables, _getRowFocusables$;
101
+ var _activeRow$getAttribu;
103
102
 
104
103
  // Left:
105
104
  // If a row is focused, and it is expanded, collapses the current row.
@@ -110,7 +109,7 @@ ref) {
110
109
  } // If a row is focused, and it is collapsed, moves to the parent row (if there is one).
111
110
 
112
111
 
113
- const level = Math.max(parseInt((_activeRow$getAttribu = activeRow === null || activeRow === void 0 ? void 0 : activeRow.getAttribute('aria-level')) !== null && _activeRow$getAttribu !== void 0 ? _activeRow$getAttribu : '1', 10) - 1, 1);
112
+ const level = Math.max(parseInt((_activeRow$getAttribu = activeRow?.getAttribute('aria-level')) !== null && _activeRow$getAttribu !== void 0 ? _activeRow$getAttribu : '1', 10) - 1, 1);
114
113
  const rows = Array.from(treeGridElement.querySelectorAll('[role="row"]'));
115
114
  let parentRow = activeRow;
116
115
  const currentRowIndex = rows.indexOf(activeRow);
@@ -124,7 +123,7 @@ ref) {
124
123
  }
125
124
  }
126
125
 
127
- (_getRowFocusables = getRowFocusables(parentRow)) === null || _getRowFocusables === void 0 ? void 0 : (_getRowFocusables$ = _getRowFocusables[0]) === null || _getRowFocusables$ === void 0 ? void 0 : _getRowFocusables$.focus();
126
+ getRowFocusables(parentRow)?.[0]?.focus();
128
127
  }
129
128
 
130
129
  if (keyCode === RIGHT) {
@@ -140,9 +139,7 @@ ref) {
140
139
  const focusableItems = getRowFocusables(activeRow);
141
140
 
142
141
  if (focusableItems.length > 0) {
143
- var _focusableItems$nextI;
144
-
145
- (_focusableItems$nextI = focusableItems[nextIndex]) === null || _focusableItems$nextI === void 0 ? void 0 : _focusableItems$nextI.focus();
142
+ focusableItems[nextIndex]?.focus();
146
143
  }
147
144
  } // Prevent key use for anything else. For example, Voiceover
148
145
  // will start reading text on continued use of left/right arrow
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/index.tsx"],"names":["focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","HOME","END","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","sequential","filter","closest","UnforwardedTreeGrid","ref","children","onExpandRow","onCollapseRow","onFocusRow","applicationAriaLabel","props","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","hasModifierKeyPressed","includes","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","canExpandCollapse","cannotFocusNextColumn","getAttribute","nextIndex","Math","max","min","length","preventDefault","level","parseInt","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","ariaLevel","focusableItems","nextRowIndex","focusablesInNextRow","TreeGrid","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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CMC,KADN;AAEC,IAAA,IAAI,EAAC,UAFN;AAGC,IAAA,SAAS,EAAGC,SAHb;AAIC,IAAA,GAAG,EAAGP;AAJP,MAMC,6BAASC,QAAT,CAND,CADD,CAND,CADD;AAmBA;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAM6C,QAAQ,GAAGhE,UAAU,CAAEiB,mBAAF,CAA3B;AAEP,eAAe+C,QAAf;AACA,SAASC,OAAO,IAAIC,WAApB,QAAuC,OAAvC;AACA,SAASD,OAAO,IAAIE,YAApB,QAAwC,QAAxC;AACA,SAASF,OAAO,IAAIG,YAApB,QAAwC,QAAxC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT, HOME, END } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\nimport type { TreeGridProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param rowElement The DOM element representing the row.\n *\n * @return The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement: HTMLElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n */\nfunction UnforwardedTreeGrid(\n\t{\n\t\tchildren,\n\t\tonExpandRow = () => {},\n\t\tonCollapseRow = () => {},\n\t\tonFocusRow = () => {},\n\t\tapplicationAriaLabel,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridProps, 'table', false >,\n\t/** A ref to the underlying DOM table element. */\n\tref: React.ForwardedRef< HTMLTableElement >\n) {\n\tconst onKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLTableElement > ) => {\n\t\t\tconst { keyCode, metaKey, ctrlKey, altKey } = event;\n\n\t\t\t// The shift key is intentionally absent from the following list,\n\t\t\t// to enable shift + up/down to select items from the list.\n\t\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey;\n\n\t\t\tif (\n\t\t\t\thasModifierKeyPressed ||\n\t\t\t\t! ( [ UP, DOWN, LEFT, RIGHT, HOME, END ] as number[] ).includes(\n\t\t\t\t\tkeyCode\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// The event will be handled, stop propagation.\n\t\t\tevent.stopPropagation();\n\n\t\t\tconst { activeElement } = document;\n\t\t\tconst { currentTarget: treeGridElement } = event;\n\n\t\t\tif (\n\t\t\t\t! activeElement ||\n\t\t\t\t! treeGridElement.contains( activeElement )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Calculate the columnIndex of the active element.\n\t\t\tconst activeRow =\n\t\t\t\tactiveElement.closest< HTMLElement >( '[role=\"row\"]' );\n\n\t\t\tif ( ! activeRow ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\t\tconst currentColumnIndex = focusablesInRow.indexOf(\n\t\t\t\tactiveElement as HTMLElement\n\t\t\t);\n\t\t\tconst canExpandCollapse = 0 === currentColumnIndex;\n\t\t\tconst cannotFocusNextColumn =\n\t\t\t\tcanExpandCollapse &&\n\t\t\t\t( activeRow.getAttribute( 'data-expanded' ) === 'false' ||\n\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'false' ) &&\n\t\t\t\tkeyCode === RIGHT;\n\n\t\t\tif ( ( [ LEFT, RIGHT ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate to the next element.\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is at the left most column.\n\t\t\t\tif ( canExpandCollapse ) {\n\t\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t\t// Left:\n\t\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'true' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'true'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\tactiveRow?.getAttribute( 'aria-level' ) ?? '1',\n\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t) - 1,\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\t\tconst ariaLevel =\n\t\t\t\t\t\t\t\trows[ i ].getAttribute( 'aria-level' );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tariaLevel !== null &&\n\t\t\t\t\t\t\t\tparseInt( ariaLevel, 10 ) === level\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( keyCode === RIGHT ) {\n\t\t\t\t\t\t// Right:\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'false' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) ===\n\t\t\t\t\t\t\t\t'false'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is expanded, focuses the next cell in the row.\n\t\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\t\tfocusableItems[ nextIndex ]?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t\t// keys.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Focus the next element. If at most left column and row is collapsed, moving right is not allowed as this will expand. However, if row is collapsed, moving left is allowed.\n\t\t\t\tif ( cannotFocusNextColumn ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ UP, DOWN ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === UP ) {\n\t\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = Math.min(\n\t\t\t\t\t\tcurrentRowIndex + 1,\n\t\t\t\t\t\trows.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ HOME, END ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === HOME ) {\n\t\t\t\t\tnextRowIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = rows.length - 1;\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ onExpandRow, onCollapseRow, onFocusRow ]\n\t);\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t{\n\t\t\t\t// Prevent browser mode from triggering in NVDA by wrapping List View\n\t\t\t\t// in a role=application wrapper.\n\t\t\t\t// see: https://github.com/WordPress/gutenberg/issues/43729\n\t\t\t }\n\t\t\t<div role=\"application\" aria-label={ applicationAriaLabel }>\n\t\t\t\t<table\n\t\t\t\t\t{ ...props }\n\t\t\t\t\trole=\"treegrid\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\n/**\n * `TreeGrid` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * A tree grid is a hierarchical 2 dimensional UI component, for example it could be\n * used to implement a file system browser.\n *\n * A tree grid allows the user to navigate using arrow keys.\n * Up/down to navigate vertically across rows, and left/right to navigate horizontally\n * between focusables in a row.\n *\n * The `TreeGrid` renders both a `table` and `tbody` element, and is intended to be used\n * with `TreeGridRow` (`tr`) and `TreeGridCell` (`td`) to build out a grid.\n *\n * ```jsx\n * function TreeMenu() {\n * \treturn (\n * \t\t<TreeGrid>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 1 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 2 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 2 } positionInSet={ 1 } setSize={ 1 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t</TreeGrid>\n * \t);\n * }\n * ```\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGrid = forwardRef( UnforwardedTreeGrid );\n\nexport default TreeGrid;\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/index.tsx"],"names":["focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","HOME","END","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","sequential","filter","closest","UnforwardedTreeGrid","children","onExpandRow","onCollapseRow","onFocusRow","applicationAriaLabel","props","ref","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","hasModifierKeyPressed","includes","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","canExpandCollapse","cannotFocusNextColumn","getAttribute","nextIndex","Math","max","min","length","preventDefault","level","parseInt","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","ariaLevel","focusableItems","nextRowIndex","focusablesInNextRow","TreeGrid","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT, HOME, END } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\nimport type { TreeGridProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param rowElement The DOM element representing the row.\n *\n * @return The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement: HTMLElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n */\nfunction UnforwardedTreeGrid(\n\t{\n\t\tchildren,\n\t\tonExpandRow = () => {},\n\t\tonCollapseRow = () => {},\n\t\tonFocusRow = () => {},\n\t\tapplicationAriaLabel,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridProps, 'table', false >,\n\t/** A ref to the underlying DOM table element. */\n\tref: React.ForwardedRef< HTMLTableElement >\n) {\n\tconst onKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLTableElement > ) => {\n\t\t\tconst { keyCode, metaKey, ctrlKey, altKey } = event;\n\n\t\t\t// The shift key is intentionally absent from the following list,\n\t\t\t// to enable shift + up/down to select items from the list.\n\t\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey;\n\n\t\t\tif (\n\t\t\t\thasModifierKeyPressed ||\n\t\t\t\t! ( [ UP, DOWN, LEFT, RIGHT, HOME, END ] as number[] ).includes(\n\t\t\t\t\tkeyCode\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// The event will be handled, stop propagation.\n\t\t\tevent.stopPropagation();\n\n\t\t\tconst { activeElement } = document;\n\t\t\tconst { currentTarget: treeGridElement } = event;\n\n\t\t\tif (\n\t\t\t\t! activeElement ||\n\t\t\t\t! treeGridElement.contains( activeElement )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Calculate the columnIndex of the active element.\n\t\t\tconst activeRow =\n\t\t\t\tactiveElement.closest< HTMLElement >( '[role=\"row\"]' );\n\n\t\t\tif ( ! activeRow ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\t\tconst currentColumnIndex = focusablesInRow.indexOf(\n\t\t\t\tactiveElement as HTMLElement\n\t\t\t);\n\t\t\tconst canExpandCollapse = 0 === currentColumnIndex;\n\t\t\tconst cannotFocusNextColumn =\n\t\t\t\tcanExpandCollapse &&\n\t\t\t\t( activeRow.getAttribute( 'data-expanded' ) === 'false' ||\n\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'false' ) &&\n\t\t\t\tkeyCode === RIGHT;\n\n\t\t\tif ( ( [ LEFT, RIGHT ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate to the next element.\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is at the left most column.\n\t\t\t\tif ( canExpandCollapse ) {\n\t\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t\t// Left:\n\t\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'true' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'true'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\tactiveRow?.getAttribute( 'aria-level' ) ?? '1',\n\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t) - 1,\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\t\tconst ariaLevel =\n\t\t\t\t\t\t\t\trows[ i ].getAttribute( 'aria-level' );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tariaLevel !== null &&\n\t\t\t\t\t\t\t\tparseInt( ariaLevel, 10 ) === level\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( keyCode === RIGHT ) {\n\t\t\t\t\t\t// Right:\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'false' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) ===\n\t\t\t\t\t\t\t\t'false'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is expanded, focuses the next cell in the row.\n\t\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\t\tfocusableItems[ nextIndex ]?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t\t// keys.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Focus the next element. If at most left column and row is collapsed, moving right is not allowed as this will expand. However, if row is collapsed, moving left is allowed.\n\t\t\t\tif ( cannotFocusNextColumn ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ UP, DOWN ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === UP ) {\n\t\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = Math.min(\n\t\t\t\t\t\tcurrentRowIndex + 1,\n\t\t\t\t\t\trows.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ HOME, END ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === HOME ) {\n\t\t\t\t\tnextRowIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = rows.length - 1;\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ onExpandRow, onCollapseRow, onFocusRow ]\n\t);\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t{\n\t\t\t\t// Prevent browser mode from triggering in NVDA by wrapping List View\n\t\t\t\t// in a role=application wrapper.\n\t\t\t\t// see: https://github.com/WordPress/gutenberg/issues/43729\n\t\t\t }\n\t\t\t<div role=\"application\" aria-label={ applicationAriaLabel }>\n\t\t\t\t<table\n\t\t\t\t\t{ ...props }\n\t\t\t\t\trole=\"treegrid\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\n/**\n * `TreeGrid` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * A tree grid is a hierarchical 2 dimensional UI component, for example it could be\n * used to implement a file system browser.\n *\n * A tree grid allows the user to navigate using arrow keys.\n * Up/down to navigate vertically across rows, and left/right to navigate horizontally\n * between focusables in a row.\n *\n * The `TreeGrid` renders both a `table` and `tbody` element, and is intended to be used\n * with `TreeGridRow` (`tr`) and `TreeGridCell` (`td`) to build out a grid.\n *\n * ```jsx\n * function TreeMenu() {\n * \treturn (\n * \t\t<TreeGrid>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 1 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 2 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 2 } positionInSet={ 1 } setSize={ 1 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t</TreeGrid>\n * \t);\n * }\n * ```\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGrid = forwardRef( UnforwardedTreeGrid );\n\nexport default TreeGrid;\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}
@@ -11,11 +11,10 @@ import { forwardRef } from '@wordpress/element';
11
11
 
12
12
  import RovingTabIndexItem from './roving-tab-index-item';
13
13
 
14
- function UnforwardedTreeGridItem(_ref, ref) {
15
- let {
16
- children,
17
- ...props
18
- } = _ref;
14
+ function UnforwardedTreeGridItem({
15
+ children,
16
+ ...props
17
+ }, ref) {
19
18
  return createElement(RovingTabIndexItem, _extends({
20
19
  ref: ref
21
20
  }, props), children);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/item.tsx"],"names":["forwardRef","RovingTabIndexItem","UnforwardedTreeGridItem","ref","children","props","TreeGridItem"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;;AAGA,SAASC,uBAAT,OAECC,GAFD,EAGE;AAAA,MAFD;AAAEC,IAAAA,QAAF;AAAY,OAAGC;AAAf,GAEC;AACD,SACC,cAAC,kBAAD;AAAoB,IAAA,GAAG,EAAGF;AAA1B,KAAqCE,KAArC,GACGD,QADH,CADD;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAME,YAAY,GAAGN,UAAU,CAAEE,uBAAF,CAA/B;AAEP,eAAeI,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexItem from './roving-tab-index-item';\nimport type { RovingTabIndexItemProps } from './types';\n\nfunction UnforwardedTreeGridItem(\n\t{ children, ...props }: RovingTabIndexItemProps,\n\tref: React.ForwardedRef< any >\n) {\n\treturn (\n\t\t<RovingTabIndexItem ref={ ref } { ...props }>\n\t\t\t{ children }\n\t\t</RovingTabIndexItem>\n\t);\n}\n\n/**\n * `TreeGridItem` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGridItem = forwardRef( UnforwardedTreeGridItem );\n\nexport default TreeGridItem;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/item.tsx"],"names":["forwardRef","RovingTabIndexItem","UnforwardedTreeGridItem","children","props","ref","TreeGridItem"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;;AAGA,SAASC,uBAAT,CACC;AAAEC,EAAAA,QAAF;AAAY,KAAGC;AAAf,CADD,EAECC,GAFD,EAGE;AACD,SACC,cAAC,kBAAD;AAAoB,IAAA,GAAG,EAAGA;AAA1B,KAAqCD,KAArC,GACGD,QADH,CADD;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMG,YAAY,GAAGN,UAAU,CAAEE,uBAAF,CAA/B;AAEP,eAAeI,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexItem from './roving-tab-index-item';\nimport type { RovingTabIndexItemProps } from './types';\n\nfunction UnforwardedTreeGridItem(\n\t{ children, ...props }: RovingTabIndexItemProps,\n\tref: React.ForwardedRef< any >\n) {\n\treturn (\n\t\t<RovingTabIndexItem ref={ ref } { ...props }>\n\t\t\t{ children }\n\t\t</RovingTabIndexItem>\n\t);\n}\n\n/**\n * `TreeGridItem` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGridItem = forwardRef( UnforwardedTreeGridItem );\n\nexport default TreeGridItem;\n"]}
@@ -9,12 +9,11 @@ import { useRef, forwardRef } from '@wordpress/element';
9
9
  */
10
10
 
11
11
  import { useRovingTabIndexContext } from './roving-tab-index-context';
12
- export const RovingTabIndexItem = forwardRef(function UnforwardedRovingTabIndexItem(_ref, forwardedRef) {
13
- let {
14
- children,
15
- as: Component,
16
- ...props
17
- } = _ref;
12
+ export const RovingTabIndexItem = forwardRef(function UnforwardedRovingTabIndexItem({
13
+ children,
14
+ as: Component,
15
+ ...props
16
+ }, forwardedRef) {
18
17
  const localRef = useRef();
19
18
  const ref = forwardedRef || localRef; // @ts-expect-error - We actually want to throw an error if this is undefined.
20
19
 
@@ -32,7 +31,7 @@ export const RovingTabIndexItem = forwardRef(function UnforwardedRovingTabIndexI
32
31
  'current' in ref ? ref.current : undefined) ? 0 : -1;
33
32
  }
34
33
 
35
- const onFocus = event => setLastFocusedElement === null || setLastFocusedElement === void 0 ? void 0 : setLastFocusedElement(event.target);
34
+ const onFocus = event => setLastFocusedElement?.(event.target);
36
35
 
37
36
  const allProps = {
38
37
  ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/roving-tab-index-item.tsx"],"names":["useRef","forwardRef","useRovingTabIndexContext","RovingTabIndexItem","UnforwardedRovingTabIndexItem","forwardedRef","children","as","Component","props","localRef","ref","lastFocusedElement","setLastFocusedElement","tabIndex","current","undefined","onFocus","event","target","allProps"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,UAAjB,QAAmC,oBAAnC;AAEA;AACA;AACA;;AACA,SAASC,wBAAT,QAAyC,4BAAzC;AAGA,OAAO,MAAMC,kBAAkB,GAAGF,UAAU,CAC3C,SAASG,6BAAT,OAECC,YAFD,EAGE;AAAA,MAFD;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,EAAE,EAAEC,SAAhB;AAA2B,OAAGC;AAA9B,GAEC;AACD,QAAMC,QAAQ,GAAGV,MAAM,EAAvB;AACA,QAAMW,GAAG,GAAGN,YAAY,IAAIK,QAA5B,CAFC,CAGD;;AACA,QAAM;AAAEE,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MACLX,wBAAwB,EADzB;AAEA,MAAIY,QAAJ;;AAEA,MAAKF,kBAAL,EAA0B;AACzBE,IAAAA,QAAQ,GACPF,kBAAkB,OAClB;AACA;AACA;AACA;AACE,iBAAaD,GAAb,GAAmBA,GAAG,CAACI,OAAvB,GAAiCC,SALjB,CAAlB,GAMG,CANH,GAOG,CAAC,CARL;AASA;;AAED,QAAMC,OAA+C,GAAKC,KAAF,IACvDL,qBADuD,aACvDA,qBADuD,uBACvDA,qBAAqB,CAAIK,KAAK,CAACC,MAAV,CADtB;;AAEA,QAAMC,QAAQ,GAAG;AAAET,IAAAA,GAAF;AAAOG,IAAAA,QAAP;AAAiBG,IAAAA,OAAjB;AAA0B,OAAGR;AAA7B,GAAjB;;AAEA,MAAK,OAAOH,QAAP,KAAoB,UAAzB,EAAsC;AACrC,WAAOA,QAAQ,CAAEc,QAAF,CAAf;AACA;;AAED,MAAK,CAAEZ,SAAP,EAAmB,OAAO,IAAP;AAEnB,SAAO,cAAC,SAAD,EAAgBY,QAAhB,EAA6Bd,QAA7B,CAAP;AACA,CAnC0C,CAArC;AAsCP,eAAeH,kBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useRovingTabIndexContext } from './roving-tab-index-context';\nimport type { RovingTabIndexItemProps } from './types';\n\nexport const RovingTabIndexItem = forwardRef(\n\tfunction UnforwardedRovingTabIndexItem(\n\t\t{ children, as: Component, ...props }: RovingTabIndexItemProps,\n\t\tforwardedRef: React.ForwardedRef< any >\n\t) {\n\t\tconst localRef = useRef< any >();\n\t\tconst ref = forwardedRef || localRef;\n\t\t// @ts-expect-error - We actually want to throw an error if this is undefined.\n\t\tconst { lastFocusedElement, setLastFocusedElement } =\n\t\t\tuseRovingTabIndexContext();\n\t\tlet tabIndex;\n\n\t\tif ( lastFocusedElement ) {\n\t\t\ttabIndex =\n\t\t\t\tlastFocusedElement ===\n\t\t\t\t// TODO: The original implementation simply used `ref.current` here, assuming\n\t\t\t\t// that a forwarded ref would always be an object, which is not necessarily true.\n\t\t\t\t// This workaround maintains the original runtime behavior in a type-safe way,\n\t\t\t\t// but should be revisited.\n\t\t\t\t( 'current' in ref ? ref.current : undefined )\n\t\t\t\t\t? 0\n\t\t\t\t\t: -1;\n\t\t}\n\n\t\tconst onFocus: React.FocusEventHandler< HTMLElement > = ( event ) =>\n\t\t\tsetLastFocusedElement?.( event.target );\n\t\tconst allProps = { ref, tabIndex, onFocus, ...props };\n\n\t\tif ( typeof children === 'function' ) {\n\t\t\treturn children( allProps );\n\t\t}\n\n\t\tif ( ! Component ) return null;\n\n\t\treturn <Component { ...allProps }>{ children }</Component>;\n\t}\n);\n\nexport default RovingTabIndexItem;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/roving-tab-index-item.tsx"],"names":["useRef","forwardRef","useRovingTabIndexContext","RovingTabIndexItem","UnforwardedRovingTabIndexItem","children","as","Component","props","forwardedRef","localRef","ref","lastFocusedElement","setLastFocusedElement","tabIndex","current","undefined","onFocus","event","target","allProps"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,UAAjB,QAAmC,oBAAnC;AAEA;AACA;AACA;;AACA,SAASC,wBAAT,QAAyC,4BAAzC;AAGA,OAAO,MAAMC,kBAAkB,GAAGF,UAAU,CAC3C,SAASG,6BAAT,CACC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,EAAE,EAAEC,SAAhB;AAA2B,KAAGC;AAA9B,CADD,EAECC,YAFD,EAGE;AACD,QAAMC,QAAQ,GAAGV,MAAM,EAAvB;AACA,QAAMW,GAAG,GAAGF,YAAY,IAAIC,QAA5B,CAFC,CAGD;;AACA,QAAM;AAAEE,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MACLX,wBAAwB,EADzB;AAEA,MAAIY,QAAJ;;AAEA,MAAKF,kBAAL,EAA0B;AACzBE,IAAAA,QAAQ,GACPF,kBAAkB,OAClB;AACA;AACA;AACA;AACE,iBAAaD,GAAb,GAAmBA,GAAG,CAACI,OAAvB,GAAiCC,SALjB,CAAlB,GAMG,CANH,GAOG,CAAC,CARL;AASA;;AAED,QAAMC,OAA+C,GAAKC,KAAF,IACvDL,qBAAqB,GAAIK,KAAK,CAACC,MAAV,CADtB;;AAEA,QAAMC,QAAQ,GAAG;AAAET,IAAAA,GAAF;AAAOG,IAAAA,QAAP;AAAiBG,IAAAA,OAAjB;AAA0B,OAAGT;AAA7B,GAAjB;;AAEA,MAAK,OAAOH,QAAP,KAAoB,UAAzB,EAAsC;AACrC,WAAOA,QAAQ,CAAEe,QAAF,CAAf;AACA;;AAED,MAAK,CAAEb,SAAP,EAAmB,OAAO,IAAP;AAEnB,SAAO,cAAC,SAAD,EAAgBa,QAAhB,EAA6Bf,QAA7B,CAAP;AACA,CAnC0C,CAArC;AAsCP,eAAeF,kBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useRovingTabIndexContext } from './roving-tab-index-context';\nimport type { RovingTabIndexItemProps } from './types';\n\nexport const RovingTabIndexItem = forwardRef(\n\tfunction UnforwardedRovingTabIndexItem(\n\t\t{ children, as: Component, ...props }: RovingTabIndexItemProps,\n\t\tforwardedRef: React.ForwardedRef< any >\n\t) {\n\t\tconst localRef = useRef< any >();\n\t\tconst ref = forwardedRef || localRef;\n\t\t// @ts-expect-error - We actually want to throw an error if this is undefined.\n\t\tconst { lastFocusedElement, setLastFocusedElement } =\n\t\t\tuseRovingTabIndexContext();\n\t\tlet tabIndex;\n\n\t\tif ( lastFocusedElement ) {\n\t\t\ttabIndex =\n\t\t\t\tlastFocusedElement ===\n\t\t\t\t// TODO: The original implementation simply used `ref.current` here, assuming\n\t\t\t\t// that a forwarded ref would always be an object, which is not necessarily true.\n\t\t\t\t// This workaround maintains the original runtime behavior in a type-safe way,\n\t\t\t\t// but should be revisited.\n\t\t\t\t( 'current' in ref ? ref.current : undefined )\n\t\t\t\t\t? 0\n\t\t\t\t\t: -1;\n\t\t}\n\n\t\tconst onFocus: React.FocusEventHandler< HTMLElement > = ( event ) =>\n\t\t\tsetLastFocusedElement?.( event.target );\n\t\tconst allProps = { ref, tabIndex, onFocus, ...props };\n\n\t\tif ( typeof children === 'function' ) {\n\t\t\treturn children( allProps );\n\t\t}\n\n\t\tif ( ! Component ) return null;\n\n\t\treturn <Component { ...allProps }>{ children }</Component>;\n\t}\n);\n\nexport default RovingTabIndexItem;\n"]}
@@ -15,10 +15,9 @@ import { RovingTabIndexProvider } from './roving-tab-index-context';
15
15
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md
16
16
  */
17
17
 
18
- export default function RovingTabIndex(_ref) {
19
- let {
20
- children
21
- } = _ref;
18
+ export default function RovingTabIndex({
19
+ children
20
+ }) {
22
21
  const [lastFocusedElement, setLastFocusedElement] = useState(); // Use `useMemo` to avoid creation of a new object for the providerValue
23
22
  // on every render. Only create a new object when the `lastFocusedElement`
24
23
  // value changes.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/roving-tab-index.tsx"],"names":["useState","useMemo","RovingTabIndexProvider","RovingTabIndex","children","lastFocusedElement","setLastFocusedElement","providerValue"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AAEA;AACA;AACA;;AACA,SAASC,sBAAT,QAAuC,4BAAvC;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,OAIX;AAAA,MAJoC;AACvCC,IAAAA;AADuC,GAIpC;AACH,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IACLN,QAAQ,EADT,CADG,CAIH;AACA;AACA;;AACA,QAAMO,aAAa,GAAGN,OAAO,CAC5B,OAAQ;AAAEI,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,GAAR,CAD4B,EAE5B,CAAED,kBAAF,CAF4B,CAA7B;AAKA,SACC,cAAC,sBAAD;AAAwB,IAAA,KAAK,EAAGE;AAAhC,KACGH,QADH,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { RovingTabIndexProvider } from './roving-tab-index-context';\n\n/**\n * Provider for adding roving tab index behaviors to tree grid structures.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n */\nexport default function RovingTabIndex( {\n\tchildren,\n}: {\n\tchildren: React.ReactNode;\n} ) {\n\tconst [ lastFocusedElement, setLastFocusedElement ] =\n\t\tuseState< HTMLElement >();\n\n\t// Use `useMemo` to avoid creation of a new object for the providerValue\n\t// on every render. Only create a new object when the `lastFocusedElement`\n\t// value changes.\n\tconst providerValue = useMemo(\n\t\t() => ( { lastFocusedElement, setLastFocusedElement } ),\n\t\t[ lastFocusedElement ]\n\t);\n\n\treturn (\n\t\t<RovingTabIndexProvider value={ providerValue }>\n\t\t\t{ children }\n\t\t</RovingTabIndexProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/roving-tab-index.tsx"],"names":["useState","useMemo","RovingTabIndexProvider","RovingTabIndex","children","lastFocusedElement","setLastFocusedElement","providerValue"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AAEA;AACA;AACA;;AACA,SAASC,sBAAT,QAAuC,4BAAvC;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAyB;AACvCC,EAAAA;AADuC,CAAzB,EAIX;AACH,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IACLN,QAAQ,EADT,CADG,CAIH;AACA;AACA;;AACA,QAAMO,aAAa,GAAGN,OAAO,CAC5B,OAAQ;AAAEI,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,GAAR,CAD4B,EAE5B,CAAED,kBAAF,CAF4B,CAA7B;AAKA,SACC,cAAC,sBAAD;AAAwB,IAAA,KAAK,EAAGE;AAAhC,KACGH,QADH,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { RovingTabIndexProvider } from './roving-tab-index-context';\n\n/**\n * Provider for adding roving tab index behaviors to tree grid structures.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n */\nexport default function RovingTabIndex( {\n\tchildren,\n}: {\n\tchildren: React.ReactNode;\n} ) {\n\tconst [ lastFocusedElement, setLastFocusedElement ] =\n\t\tuseState< HTMLElement >();\n\n\t// Use `useMemo` to avoid creation of a new object for the providerValue\n\t// on every render. Only create a new object when the `lastFocusedElement`\n\t// value changes.\n\tconst providerValue = useMemo(\n\t\t() => ( { lastFocusedElement, setLastFocusedElement } ),\n\t\t[ lastFocusedElement ]\n\t);\n\n\treturn (\n\t\t<RovingTabIndexProvider value={ providerValue }>\n\t\t\t{ children }\n\t\t</RovingTabIndexProvider>\n\t);\n}\n"]}
@@ -9,15 +9,14 @@ import { forwardRef } from '@wordpress/element';
9
9
  * Internal dependencies
10
10
  */
11
11
 
12
- function UnforwardedTreeGridRow(_ref, ref) {
13
- let {
14
- children,
15
- level,
16
- positionInSet,
17
- setSize,
18
- isExpanded,
19
- ...props
20
- } = _ref;
12
+ function UnforwardedTreeGridRow({
13
+ children,
14
+ level,
15
+ positionInSet,
16
+ setSize,
17
+ isExpanded,
18
+ ...props
19
+ }, ref) {
21
20
  return createElement("tr", _extends({}, props, {
22
21
  ref: ref,
23
22
  role: "row",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/row.tsx"],"names":["forwardRef","UnforwardedTreeGridRow","ref","children","level","positionInSet","setSize","isExpanded","props","TreeGridRow"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AAIA,SAASC,sBAAT,OASCC,GATD,EAUE;AAAA,MATD;AACCC,IAAAA,QADD;AAECC,IAAAA,KAFD;AAGCC,IAAAA,aAHD;AAICC,IAAAA,OAJD;AAKCC,IAAAA,UALD;AAMC,OAAGC;AANJ,GASC;AACD,SACC,iCACMA,KADN;AAEC,IAAA,GAAG,EAAGN,GAFP;AAGC,IAAA,IAAI,EAAC,KAHN;AAIC,kBAAaE,KAJd;AAKC,qBAAgBC,aALjB;AAMC,oBAAeC,OANhB;AAOC,qBAAgBC;AAPjB,MASGJ,QATH,CADD;AAaA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMM,WAAW,GAAGT,UAAU,CAAEC,sBAAF,CAA9B;AAEP,eAAeQ,WAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { TreeGridRowProps } from './types';\n\nfunction UnforwardedTreeGridRow(\n\t{\n\t\tchildren,\n\t\tlevel,\n\t\tpositionInSet,\n\t\tsetSize,\n\t\tisExpanded,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridRowProps, 'tr', false >,\n\tref: React.ForwardedRef< HTMLTableRowElement >\n) {\n\treturn (\n\t\t<tr\n\t\t\t{ ...props }\n\t\t\tref={ ref }\n\t\t\trole=\"row\"\n\t\t\taria-level={ level }\n\t\t\taria-posinset={ positionInSet }\n\t\t\taria-setsize={ setSize }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t{ children }\n\t\t</tr>\n\t);\n}\n\n/**\n * `TreeGridRow` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGridRow = forwardRef( UnforwardedTreeGridRow );\n\nexport default TreeGridRow;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tree-grid/row.tsx"],"names":["forwardRef","UnforwardedTreeGridRow","children","level","positionInSet","setSize","isExpanded","props","ref","TreeGridRow"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AAIA,SAASC,sBAAT,CACC;AACCC,EAAAA,QADD;AAECC,EAAAA,KAFD;AAGCC,EAAAA,aAHD;AAICC,EAAAA,OAJD;AAKCC,EAAAA,UALD;AAMC,KAAGC;AANJ,CADD,EASCC,GATD,EAUE;AACD,SACC,iCACMD,KADN;AAEC,IAAA,GAAG,EAAGC,GAFP;AAGC,IAAA,IAAI,EAAC,KAHN;AAIC,kBAAaL,KAJd;AAKC,qBAAgBC,aALjB;AAMC,oBAAeC,OANhB;AAOC,qBAAgBC;AAPjB,MASGJ,QATH,CADD;AAaA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAMO,WAAW,GAAGT,UAAU,CAAEC,sBAAF,CAA9B;AAEP,eAAeQ,WAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { TreeGridRowProps } from './types';\n\nfunction UnforwardedTreeGridRow(\n\t{\n\t\tchildren,\n\t\tlevel,\n\t\tpositionInSet,\n\t\tsetSize,\n\t\tisExpanded,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridRowProps, 'tr', false >,\n\tref: React.ForwardedRef< HTMLTableRowElement >\n) {\n\treturn (\n\t\t<tr\n\t\t\t{ ...props }\n\t\t\tref={ ref }\n\t\t\trole=\"row\"\n\t\t\taria-level={ level }\n\t\t\taria-posinset={ positionInSet }\n\t\t\taria-setsize={ setSize }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t{ children }\n\t\t</tr>\n\t);\n}\n\n/**\n * `TreeGridRow` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGridRow = forwardRef( UnforwardedTreeGridRow );\n\nexport default TreeGridRow;\n"]}