@wordpress/components 16.0.1-next.5df0cd52b7.0 → 19.0.1

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 (1823) hide show
  1. package/CHANGELOG.md +71 -4
  2. package/CONTRIBUTING.md +398 -6
  3. package/README.md +9 -1
  4. package/build/angle-picker-control/index.js +29 -24
  5. package/build/angle-picker-control/index.js.map +1 -1
  6. package/build/angle-picker-control/styles/angle-picker-control-styles.js +10 -13
  7. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  8. package/build/animate/index.js +1 -1
  9. package/build/animate/index.js.map +1 -1
  10. package/build/autocomplete/autocompleter-ui.native.js +5 -4
  11. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  12. package/build/base-control/index.js +2 -2
  13. package/build/base-control/index.js.map +1 -1
  14. package/build/base-field/hook.js +1 -1
  15. package/build/base-field/hook.js.map +1 -1
  16. package/build/button/index.js +4 -1
  17. package/build/button/index.js.map +1 -1
  18. package/build/card/card/component.js +3 -3
  19. package/build/card/card/component.js.map +1 -1
  20. package/build/card/card/hook.js +4 -5
  21. package/build/card/card/hook.js.map +1 -1
  22. package/build/card/card-body/component.js +2 -2
  23. package/build/card/card-body/component.js.map +1 -1
  24. package/build/card/card-body/hook.js +1 -1
  25. package/build/card/card-body/hook.js.map +1 -1
  26. package/build/card/card-divider/component.js +2 -2
  27. package/build/card/card-divider/component.js.map +1 -1
  28. package/build/card/card-divider/hook.js +1 -1
  29. package/build/card/card-divider/hook.js.map +1 -1
  30. package/build/card/card-footer/component.js +2 -2
  31. package/build/card/card-footer/component.js.map +1 -1
  32. package/build/card/card-footer/hook.js +1 -1
  33. package/build/card/card-footer/hook.js.map +1 -1
  34. package/build/card/card-header/component.js +2 -2
  35. package/build/card/card-header/component.js.map +1 -1
  36. package/build/card/card-header/hook.js +1 -1
  37. package/build/card/card-header/hook.js.map +1 -1
  38. package/build/card/card-media/component.js +23 -7
  39. package/build/card/card-media/component.js.map +1 -1
  40. package/build/card/card-media/hook.js +1 -1
  41. package/build/card/card-media/hook.js.map +1 -1
  42. package/build/color-edit/index.js +181 -201
  43. package/build/color-edit/index.js.map +1 -1
  44. package/build/color-edit/styles.js +112 -0
  45. package/build/color-edit/styles.js.map +1 -0
  46. package/build/color-list-picker/index.js +6 -1
  47. package/build/color-list-picker/index.js.map +1 -1
  48. package/build/color-palette/index.js +115 -42
  49. package/build/color-palette/index.js.map +1 -1
  50. package/build/color-palette/styles.js +31 -0
  51. package/build/color-palette/styles.js.map +1 -0
  52. package/build/{ui/color-picker → color-picker}/color-display.js +36 -21
  53. package/build/color-picker/color-display.js.map +1 -0
  54. package/build/{ui/color-picker → color-picker}/color-input.js +0 -0
  55. package/build/color-picker/color-input.js.map +1 -0
  56. package/build/{ui/color-picker → color-picker}/component.js +37 -49
  57. package/build/color-picker/component.js.map +1 -0
  58. package/build/color-picker/hex-input.js +63 -0
  59. package/build/color-picker/hex-input.js.map +1 -0
  60. package/build/{ui/color-picker → color-picker}/hsl-input.js +40 -30
  61. package/build/color-picker/hsl-input.js.map +1 -0
  62. package/build/color-picker/index.js +6 -276
  63. package/build/color-picker/index.js.map +1 -1
  64. package/build/color-picker/index.native.js +16 -11
  65. package/build/color-picker/index.native.js.map +1 -1
  66. package/build/{ui/color-picker → color-picker}/input-with-slider.js +10 -13
  67. package/build/color-picker/input-with-slider.js.map +1 -0
  68. package/build/color-picker/legacy-adapter.js +24 -0
  69. package/build/color-picker/legacy-adapter.js.map +1 -0
  70. package/build/color-picker/picker.js +37 -0
  71. package/build/color-picker/picker.js.map +1 -0
  72. package/build/{ui/color-picker → color-picker}/rgb-input.js +10 -12
  73. package/build/color-picker/rgb-input.js.map +1 -0
  74. package/build/color-picker/styles.js +102 -0
  75. package/build/color-picker/styles.js.map +1 -0
  76. package/build/{segmented-control → color-picker}/types.js +0 -0
  77. package/build/color-picker/types.js.map +1 -0
  78. package/build/color-picker/use-deprecated-props.js +81 -0
  79. package/build/color-picker/use-deprecated-props.js.map +1 -0
  80. package/build/combobox-control/index.js +25 -5
  81. package/build/combobox-control/index.js.map +1 -1
  82. package/build/custom-gradient-bar/constants.js +2 -2
  83. package/build/custom-gradient-bar/constants.js.map +1 -1
  84. package/build/custom-gradient-bar/control-points.js +29 -53
  85. package/build/custom-gradient-bar/control-points.js.map +1 -1
  86. package/build/custom-gradient-picker/index.js +4 -3
  87. package/build/custom-gradient-picker/index.js.map +1 -1
  88. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
  89. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
  90. package/build/custom-gradient-picker/utils.js +8 -4
  91. package/build/custom-gradient-picker/utils.js.map +1 -1
  92. package/build/custom-select-control/index.js +32 -8
  93. package/build/custom-select-control/index.js.map +1 -1
  94. package/build/dashicon/index.native.js +39 -0
  95. package/build/dashicon/index.native.js.map +1 -0
  96. package/build/date-time/index.js +1 -1
  97. package/build/date-time/index.js.map +1 -1
  98. package/build/dimension-control/sizes.js +5 -5
  99. package/build/dimension-control/sizes.js.map +1 -1
  100. package/build/divider/component.js.map +1 -1
  101. package/build/drop-zone/index.js +54 -3
  102. package/build/drop-zone/index.js.map +1 -1
  103. package/build/dropdown/index.js +7 -1
  104. package/build/dropdown/index.js.map +1 -1
  105. package/build/dropdown-menu/index.js +21 -35
  106. package/build/dropdown-menu/index.js.map +1 -1
  107. package/build/dropdown-menu/index.native.js +2 -22
  108. package/build/dropdown-menu/index.native.js.map +1 -1
  109. package/build/duotone-picker/custom-duotone-bar.js +0 -1
  110. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  111. package/build/duotone-picker/duotone-picker.js +1 -0
  112. package/build/duotone-picker/duotone-picker.js.map +1 -1
  113. package/build/duotone-picker/utils.js +6 -3
  114. package/build/duotone-picker/utils.js.map +1 -1
  115. package/build/elevation/component.js +24 -8
  116. package/build/elevation/component.js.map +1 -1
  117. package/build/elevation/hook.js +5 -5
  118. package/build/elevation/hook.js.map +1 -1
  119. package/build/flex/flex/component.js +2 -2
  120. package/build/flex/flex/component.js.map +1 -1
  121. package/build/flex/flex/hook.js +26 -32
  122. package/build/flex/flex/hook.js.map +1 -1
  123. package/build/flex/flex-block/component.js +23 -7
  124. package/build/flex/flex-block/component.js.map +1 -1
  125. package/build/flex/flex-block/hook.js +1 -1
  126. package/build/flex/flex-block/hook.js.map +1 -1
  127. package/build/flex/flex-item/component.js +23 -7
  128. package/build/flex/flex-item/component.js.map +1 -1
  129. package/build/flex/flex-item/hook.js +2 -2
  130. package/build/flex/flex-item/hook.js.map +1 -1
  131. package/build/flyout/flyout/component.js +2 -2
  132. package/build/flyout/flyout/component.js.map +1 -1
  133. package/build/flyout/flyout/hook.js +1 -1
  134. package/build/flyout/flyout/hook.js.map +1 -1
  135. package/build/flyout/flyout-content/component.js +2 -2
  136. package/build/flyout/flyout-content/component.js.map +1 -1
  137. package/build/focal-point-picker/controls.js +1 -1
  138. package/build/focal-point-picker/controls.js.map +1 -1
  139. package/build/focusable-iframe/index.js +6 -28
  140. package/build/focusable-iframe/index.js.map +1 -1
  141. package/build/font-size-picker/index.js +107 -72
  142. package/build/font-size-picker/index.js.map +1 -1
  143. package/build/font-size-picker/index.native.js +162 -0
  144. package/build/font-size-picker/index.native.js.map +1 -0
  145. package/build/font-size-picker/utils.js +119 -0
  146. package/build/font-size-picker/utils.js.map +1 -0
  147. package/build/gradient-picker/index.js +69 -9
  148. package/build/gradient-picker/index.js.map +1 -1
  149. package/build/grid/component.js +21 -7
  150. package/build/grid/component.js.map +1 -1
  151. package/build/grid/hook.js +2 -2
  152. package/build/grid/hook.js.map +1 -1
  153. package/build/guide/index.js +10 -9
  154. package/build/guide/index.js.map +1 -1
  155. package/build/h-stack/component.js +23 -7
  156. package/build/h-stack/component.js.map +1 -1
  157. package/build/h-stack/hook.js +1 -1
  158. package/build/h-stack/hook.js.map +1 -1
  159. package/build/heading/component.js +25 -9
  160. package/build/heading/component.js.map +1 -1
  161. package/build/heading/hook.js +1 -1
  162. package/build/heading/hook.js.map +1 -1
  163. package/build/higher-order/navigate-regions/index.js +42 -29
  164. package/build/higher-order/navigate-regions/index.js.map +1 -1
  165. package/build/index.js +50 -16
  166. package/build/index.js.map +1 -1
  167. package/build/index.native.js +20 -2
  168. package/build/index.native.js.map +1 -1
  169. package/build/input-control/input-field.js.map +1 -1
  170. package/build/input-control/label.js.map +1 -1
  171. package/build/input-control/reducer/actions.js.map +1 -1
  172. package/build/input-control/reducer/reducer.js.map +1 -1
  173. package/build/input-control/reducer/state.js.map +1 -1
  174. package/build/input-control/styles/input-control-styles.js +25 -25
  175. package/build/input-control/styles/input-control-styles.js.map +1 -1
  176. package/build/item-group/item/component.js.map +1 -1
  177. package/build/item-group/item/hook.js +10 -3
  178. package/build/item-group/item/hook.js.map +1 -1
  179. package/build/item-group/item-group/component.js.map +1 -1
  180. package/build/item-group/item-group/hook.js.map +1 -1
  181. package/build/item-group/styles.js +18 -10
  182. package/build/item-group/styles.js.map +1 -1
  183. package/build/menu-group/index.js +9 -6
  184. package/build/menu-group/index.js.map +1 -1
  185. package/build/menu-item/index.js +20 -29
  186. package/build/menu-item/index.js.map +1 -1
  187. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +13 -4
  188. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  189. package/build/mobile/bottom-sheet/cell.native.js +11 -3
  190. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  191. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +3 -3
  192. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  193. package/build/mobile/bottom-sheet/index.native.js +16 -4
  194. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  195. package/build/mobile/bottom-sheet/link-cell.native.js +3 -2
  196. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  197. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +42 -0
  198. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -0
  199. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +58 -0
  200. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -0
  201. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +115 -0
  202. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -0
  203. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +42 -0
  204. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -0
  205. package/build/mobile/bottom-sheet/nav-bar/index.native.js +43 -0
  206. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -0
  207. package/build/mobile/bottom-sheet/range-cell.native.js +14 -2
  208. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  209. package/build/mobile/bottom-sheet/range-text-input.native.js +2 -1
  210. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  211. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +1 -1
  212. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  213. package/build/mobile/bottom-sheet-select-control/index.native.js +3 -4
  214. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  215. package/build/mobile/bottom-sheet-text-control/index.native.js +5 -8
  216. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  217. package/build/mobile/color-settings/gradient-picker-screen.native.js +4 -5
  218. package/build/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
  219. package/build/mobile/color-settings/palette.screen.native.js +11 -7
  220. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  221. package/build/mobile/color-settings/picker-screen.native.js +2 -4
  222. package/build/mobile/color-settings/picker-screen.native.js.map +1 -1
  223. package/build/mobile/dashicons/index.native.js +31 -0
  224. package/build/mobile/dashicons/index.native.js.map +1 -0
  225. package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
  226. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  227. package/build/mobile/global-styles-context/index.native.js +4 -2
  228. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  229. package/build/mobile/global-styles-context/utils.native.js +118 -10
  230. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  231. package/build/mobile/html-text-input/index.native.js +14 -4
  232. package/build/mobile/html-text-input/index.native.js.map +1 -1
  233. package/build/mobile/inserter-button/index.native.js +5 -4
  234. package/build/mobile/inserter-button/index.native.js.map +1 -1
  235. package/build/mobile/link-picker/index.native.js +6 -7
  236. package/build/mobile/link-picker/index.native.js.map +1 -1
  237. package/build/mobile/link-settings/image-link-destinations-screen.native.js +140 -0
  238. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  239. package/build/mobile/link-settings/index.native.js +3 -2
  240. package/build/mobile/link-settings/index.native.js.map +1 -1
  241. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
  242. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  243. package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
  244. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  245. package/build/mobile/picker/index.android.js +4 -2
  246. package/build/mobile/picker/index.android.js.map +1 -1
  247. package/build/mobile/segmented-control/index.native.js +2 -1
  248. package/build/mobile/segmented-control/index.native.js.map +1 -1
  249. package/build/modal/index.js +111 -151
  250. package/build/modal/index.js.map +1 -1
  251. package/build/navigable-container/container.js +2 -0
  252. package/build/navigable-container/container.js.map +1 -1
  253. package/build/navigable-container/index.js.map +1 -1
  254. package/build/navigable-container/menu.js +2 -0
  255. package/build/navigable-container/menu.js.map +1 -1
  256. package/build/navigable-container/tabbable.js +2 -0
  257. package/build/navigable-container/tabbable.js.map +1 -1
  258. package/build/navigation/group/index.js +1 -2
  259. package/build/navigation/group/index.js.map +1 -1
  260. package/build/navigation/menu/index.js +1 -1
  261. package/build/navigation/menu/index.js.map +1 -1
  262. package/build/navigation/menu/menu-title-search.js +8 -27
  263. package/build/navigation/menu/menu-title-search.js.map +1 -1
  264. package/build/navigation/menu/menu-title.js +2 -2
  265. package/build/navigation/menu/menu-title.js.map +1 -1
  266. package/build/navigation/styles/navigation-styles.js +43 -30
  267. package/build/navigation/styles/navigation-styles.js.map +1 -1
  268. package/build/navigator/context.js +16 -0
  269. package/build/navigator/context.js.map +1 -0
  270. package/build/navigator/index.js +32 -0
  271. package/build/navigator/index.js.map +1 -0
  272. package/build/navigator/navigator-provider/component.js +106 -0
  273. package/build/navigator/navigator-provider/component.js.map +1 -0
  274. package/build/{ui/color-picker → navigator/navigator-provider}/index.js +1 -1
  275. package/build/navigator/navigator-provider/index.js.map +1 -0
  276. package/build/navigator/navigator-screen/component.js +160 -0
  277. package/build/navigator/navigator-screen/component.js.map +1 -0
  278. package/build/navigator/navigator-screen/index.js +16 -0
  279. package/build/navigator/navigator-screen/index.js.map +1 -0
  280. package/build/{ui/color-picker → navigator}/types.js +0 -0
  281. package/build/navigator/types.js.map +1 -0
  282. package/build/navigator/use-navigator.js +38 -0
  283. package/build/navigator/use-navigator.js.map +1 -0
  284. package/build/number-control/index.js +25 -30
  285. package/build/number-control/index.js.map +1 -1
  286. package/build/panel/body.native.js +1 -0
  287. package/build/panel/body.native.js.map +1 -1
  288. package/build/popover/index.js +14 -22
  289. package/build/popover/index.js.map +1 -1
  290. package/build/popover/utils.js +57 -35
  291. package/build/popover/utils.js.map +1 -1
  292. package/build/query-controls/index.native.js +2 -2
  293. package/build/query-controls/index.native.js.map +1 -1
  294. package/build/range-control/index.js +9 -2
  295. package/build/range-control/index.js.map +1 -1
  296. package/build/range-control/input-range.js +0 -17
  297. package/build/range-control/input-range.js.map +1 -1
  298. package/build/range-control/rail.js +4 -0
  299. package/build/range-control/rail.js.map +1 -1
  300. package/build/range-control/styles/range-control-styles.js +51 -51
  301. package/build/range-control/styles/range-control-styles.js.map +1 -1
  302. package/build/range-control/tooltip.js +11 -23
  303. package/build/range-control/tooltip.js.map +1 -1
  304. package/build/resizable-box/index.js +35 -32
  305. package/build/resizable-box/index.js.map +1 -1
  306. package/build/resizable-box/resize-tooltip/index.js +0 -2
  307. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  308. package/build/resizable-box/resize-tooltip/label.js +8 -4
  309. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  310. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -12
  311. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  312. package/build/resizable-box/resize-tooltip/utils.js +21 -30
  313. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  314. package/build/sandbox/index.js +3 -9
  315. package/build/sandbox/index.js.map +1 -1
  316. package/build/sandbox/index.native.js +75 -31
  317. package/build/sandbox/index.native.js.map +1 -1
  318. package/build/scrollable/component.js +24 -8
  319. package/build/scrollable/component.js.map +1 -1
  320. package/build/scrollable/hook.js +1 -1
  321. package/build/scrollable/hook.js.map +1 -1
  322. package/build/search-control/index.js +37 -14
  323. package/build/search-control/index.js.map +1 -1
  324. package/build/search-control/index.native.js +11 -2
  325. package/build/search-control/index.native.js.map +1 -1
  326. package/build/select-control/index.js +3 -2
  327. package/build/select-control/index.js.map +1 -1
  328. package/build/snackbar/index.js +5 -2
  329. package/build/snackbar/index.js.map +1 -1
  330. package/build/snackbar/list.js +6 -2
  331. package/build/snackbar/list.js.map +1 -1
  332. package/build/spacer/component.js +24 -8
  333. package/build/spacer/component.js.map +1 -1
  334. package/build/spacer/hook.js +1 -1
  335. package/build/spacer/hook.js.map +1 -1
  336. package/build/surface/component.js +22 -6
  337. package/build/surface/component.js.map +1 -1
  338. package/build/surface/hook.js +1 -1
  339. package/build/surface/hook.js.map +1 -1
  340. package/build/text/component.js +23 -7
  341. package/build/text/component.js.map +1 -1
  342. package/build/text/hook.js +5 -5
  343. package/build/text/hook.js.map +1 -1
  344. package/build/text/styles.js +7 -7
  345. package/build/text/styles.js.map +1 -1
  346. package/build/toggle-control/index.native.js +9 -3
  347. package/build/toggle-control/index.native.js.map +1 -1
  348. package/build/toggle-group-control/context.js +20 -0
  349. package/build/toggle-group-control/context.js.map +1 -0
  350. package/build/toggle-group-control/index.js +22 -0
  351. package/build/toggle-group-control/index.js.map +1 -0
  352. package/build/toggle-group-control/toggle-group-control/component.js +128 -0
  353. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -0
  354. package/build/toggle-group-control/toggle-group-control/index.js +16 -0
  355. package/build/toggle-group-control/toggle-group-control/index.js.map +1 -0
  356. package/build/toggle-group-control/toggle-group-control/styles.js +37 -0
  357. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -0
  358. package/build/{segmented-control/segmented-control-backdrop.js → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js} +21 -6
  359. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  360. package/build/toggle-group-control/toggle-group-control-option/component.js +104 -0
  361. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -0
  362. package/build/toggle-group-control/toggle-group-control-option/index.js +16 -0
  363. package/build/toggle-group-control/toggle-group-control-option/index.js.map +1 -0
  364. package/build/toggle-group-control/toggle-group-control-option/styles.js +73 -0
  365. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -0
  366. package/build/toggle-group-control/types.js +2 -0
  367. package/build/toggle-group-control/types.js.map +1 -0
  368. package/build/tools-panel/context.js +15 -1
  369. package/build/tools-panel/context.js.map +1 -1
  370. package/build/tools-panel/index.js +8 -0
  371. package/build/tools-panel/index.js.map +1 -1
  372. package/build/tools-panel/styles.js +69 -9
  373. package/build/tools-panel/styles.js.map +1 -1
  374. package/build/tools-panel/tools-panel/component.js +16 -10
  375. package/build/tools-panel/tools-panel/component.js.map +1 -1
  376. package/build/tools-panel/tools-panel/hook.js +123 -23
  377. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  378. package/build/tools-panel/tools-panel/index.js.map +1 -1
  379. package/build/tools-panel/tools-panel-header/component.js +99 -22
  380. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  381. package/build/tools-panel/tools-panel-header/hook.js +12 -2
  382. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  383. package/build/tools-panel/tools-panel-header/index.js.map +1 -1
  384. package/build/tools-panel/tools-panel-item/component.js +9 -1
  385. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  386. package/build/tools-panel/tools-panel-item/hook.js +56 -20
  387. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  388. package/build/tools-panel/tools-panel-item/index.js.map +1 -1
  389. package/build/tools-panel/types.js +2 -0
  390. package/build/tools-panel/types.js.map +1 -0
  391. package/build/tooltip/index.js +10 -4
  392. package/build/tooltip/index.js.map +1 -1
  393. package/build/tooltip/index.native.js +2 -1
  394. package/build/tooltip/index.native.js.map +1 -1
  395. package/build/tree-grid/index.js +3 -1
  396. package/build/tree-grid/index.js.map +1 -1
  397. package/build/truncate/component.js +23 -7
  398. package/build/truncate/component.js.map +1 -1
  399. package/build/truncate/hook.js +2 -2
  400. package/build/truncate/hook.js.map +1 -1
  401. package/build/ui/context/context-connect.js +3 -3
  402. package/build/ui/context/context-connect.js.map +1 -1
  403. package/build/ui/context/index.js +4 -4
  404. package/build/ui/context/index.js.map +1 -1
  405. package/build/ui/context/use-context-system.js +1 -1
  406. package/build/ui/context/use-context-system.js.map +1 -1
  407. package/build/ui/context/wordpress-component.js +2 -0
  408. package/build/ui/context/wordpress-component.js.map +1 -0
  409. package/build/ui/control-group/component.js +2 -2
  410. package/build/ui/control-group/component.js.map +1 -1
  411. package/build/ui/control-group/hook.js +1 -1
  412. package/build/ui/control-group/hook.js.map +1 -1
  413. package/build/ui/control-label/component.js +25 -7
  414. package/build/ui/control-label/component.js.map +1 -1
  415. package/build/ui/control-label/hook.js +1 -1
  416. package/build/ui/control-label/hook.js.map +1 -1
  417. package/build/ui/form-group/form-group-content.js +1 -1
  418. package/build/ui/form-group/form-group-content.js.map +1 -1
  419. package/build/ui/form-group/form-group-label.js +1 -1
  420. package/build/ui/form-group/form-group-label.js.map +1 -1
  421. package/build/ui/form-group/form-group.js +2 -2
  422. package/build/ui/form-group/form-group.js.map +1 -1
  423. package/build/ui/form-group/use-form-group.js +1 -1
  424. package/build/ui/form-group/use-form-group.js.map +1 -1
  425. package/build/ui/shortcut/component.js.map +1 -1
  426. package/build/ui/spinner/component.js +2 -2
  427. package/build/ui/spinner/component.js.map +1 -1
  428. package/build/ui/tooltip/component.js +2 -2
  429. package/build/ui/tooltip/component.js.map +1 -1
  430. package/build/ui/tooltip/content.js +2 -2
  431. package/build/ui/tooltip/content.js.map +1 -1
  432. package/build/ui/tooltip/styles.js +4 -4
  433. package/build/ui/tooltip/styles.js.map +1 -1
  434. package/build/ui/utils/colors.js +6 -6
  435. package/build/ui/utils/colors.js.map +1 -1
  436. package/build/ui/utils/index.js +0 -8
  437. package/build/ui/utils/index.js.map +1 -1
  438. package/build/ui/utils/space.js +2 -2
  439. package/build/ui/utils/space.js.map +1 -1
  440. package/build/ui/utils/use-responsive-value.js +0 -4
  441. package/build/ui/utils/use-responsive-value.js.map +1 -1
  442. package/build/unit-control/index.js +34 -18
  443. package/build/unit-control/index.js.map +1 -1
  444. package/build/unit-control/index.native.js +5 -1
  445. package/build/unit-control/index.native.js.map +1 -1
  446. package/build/unit-control/styles/unit-control-styles.js +17 -17
  447. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  448. package/build/unit-control/types.js +2 -0
  449. package/build/unit-control/types.js.map +1 -0
  450. package/build/unit-control/unit-select-control.js +11 -28
  451. package/build/unit-control/unit-select-control.js.map +1 -1
  452. package/build/unit-control/utils.js +73 -45
  453. package/build/unit-control/utils.js.map +1 -1
  454. package/build/utils/colors.js +6 -8
  455. package/build/utils/colors.js.map +1 -1
  456. package/build/utils/config-values.js +8 -8
  457. package/build/utils/config-values.js.map +1 -1
  458. package/build/utils/hooks/index.js +6 -6
  459. package/build/utils/hooks/index.js.map +1 -1
  460. package/build/utils/hooks/use-combined-ref.js +28 -0
  461. package/build/utils/hooks/use-combined-ref.js.map +1 -0
  462. package/build/v-stack/component.js +23 -7
  463. package/build/v-stack/component.js.map +1 -1
  464. package/build/v-stack/hook.js +1 -1
  465. package/build/v-stack/hook.js.map +1 -1
  466. package/build/view/component.js +2 -2
  467. package/build/view/component.js.map +1 -1
  468. package/build/visually-hidden/component.js +2 -2
  469. package/build/visually-hidden/component.js.map +1 -1
  470. package/build/z-stack/component.js.map +1 -1
  471. package/build-module/angle-picker-control/index.js +26 -21
  472. package/build-module/angle-picker-control/index.js.map +1 -1
  473. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +8 -13
  474. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  475. package/build-module/animate/index.js +1 -1
  476. package/build-module/animate/index.js.map +1 -1
  477. package/build-module/autocomplete/autocompleter-ui.native.js +5 -4
  478. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  479. package/build-module/base-control/index.js +2 -2
  480. package/build-module/base-control/index.js.map +1 -1
  481. package/build-module/base-field/hook.js +1 -1
  482. package/build-module/base-field/hook.js.map +1 -1
  483. package/build-module/button/index.js +4 -2
  484. package/build-module/button/index.js.map +1 -1
  485. package/build-module/card/card/component.js +3 -3
  486. package/build-module/card/card/component.js.map +1 -1
  487. package/build-module/card/card/hook.js +4 -5
  488. package/build-module/card/card/hook.js.map +1 -1
  489. package/build-module/card/card-body/component.js +2 -2
  490. package/build-module/card/card-body/component.js.map +1 -1
  491. package/build-module/card/card-body/hook.js +1 -1
  492. package/build-module/card/card-body/hook.js.map +1 -1
  493. package/build-module/card/card-divider/component.js +2 -2
  494. package/build-module/card/card-divider/component.js.map +1 -1
  495. package/build-module/card/card-divider/hook.js +1 -1
  496. package/build-module/card/card-divider/hook.js.map +1 -1
  497. package/build-module/card/card-footer/component.js +2 -2
  498. package/build-module/card/card-footer/component.js.map +1 -1
  499. package/build-module/card/card-footer/hook.js +1 -1
  500. package/build-module/card/card-footer/hook.js.map +1 -1
  501. package/build-module/card/card-header/component.js +2 -2
  502. package/build-module/card/card-header/component.js.map +1 -1
  503. package/build-module/card/card-header/hook.js +1 -1
  504. package/build-module/card/card-header/hook.js.map +1 -1
  505. package/build-module/card/card-media/component.js +19 -7
  506. package/build-module/card/card-media/component.js.map +1 -1
  507. package/build-module/card/card-media/hook.js +1 -1
  508. package/build-module/card/card-media/hook.js.map +1 -1
  509. package/build-module/color-edit/index.js +175 -202
  510. package/build-module/color-edit/index.js.map +1 -1
  511. package/build-module/color-edit/styles.js +90 -0
  512. package/build-module/color-edit/styles.js.map +1 -0
  513. package/build-module/color-list-picker/index.js +6 -1
  514. package/build-module/color-list-picker/index.js.map +1 -1
  515. package/build-module/color-palette/index.js +110 -42
  516. package/build-module/color-palette/index.js.map +1 -1
  517. package/build-module/color-palette/styles.js +27 -0
  518. package/build-module/color-palette/styles.js.map +1 -0
  519. package/build-module/{ui/color-picker → color-picker}/color-display.js +38 -20
  520. package/build-module/color-picker/color-display.js.map +1 -0
  521. package/build-module/{ui/color-picker → color-picker}/color-input.js +0 -0
  522. package/build-module/color-picker/color-input.js.map +1 -0
  523. package/build-module/{ui/color-picker → color-picker}/component.js +36 -49
  524. package/build-module/color-picker/component.js.map +1 -0
  525. package/build-module/color-picker/hex-input.js +48 -0
  526. package/build-module/color-picker/hex-input.js.map +1 -0
  527. package/build-module/{ui/color-picker → color-picker}/hsl-input.js +40 -31
  528. package/build-module/color-picker/hsl-input.js.map +1 -0
  529. package/build-module/color-picker/index.js +1 -264
  530. package/build-module/color-picker/index.js.map +1 -1
  531. package/build-module/color-picker/index.native.js +14 -8
  532. package/build-module/color-picker/index.native.js.map +1 -1
  533. package/build-module/{ui/color-picker → color-picker}/input-with-slider.js +11 -11
  534. package/build-module/color-picker/input-with-slider.js.map +1 -0
  535. package/build-module/color-picker/legacy-adapter.js +11 -0
  536. package/build-module/color-picker/legacy-adapter.js.map +1 -0
  537. package/build-module/color-picker/picker.js +27 -0
  538. package/build-module/color-picker/picker.js.map +1 -0
  539. package/build-module/{ui/color-picker → color-picker}/rgb-input.js +10 -10
  540. package/build-module/color-picker/rgb-input.js.map +1 -0
  541. package/build-module/color-picker/styles.js +84 -0
  542. package/build-module/color-picker/styles.js.map +1 -0
  543. package/build-module/{segmented-control → color-picker}/types.js +0 -0
  544. package/build-module/{segmented-control → color-picker}/types.js.map +0 -0
  545. package/build-module/color-picker/use-deprecated-props.js +73 -0
  546. package/build-module/color-picker/use-deprecated-props.js.map +1 -0
  547. package/build-module/combobox-control/index.js +25 -5
  548. package/build-module/combobox-control/index.js.map +1 -1
  549. package/build-module/custom-gradient-bar/constants.js +2 -2
  550. package/build-module/custom-gradient-bar/constants.js.map +1 -1
  551. package/build-module/custom-gradient-bar/control-points.js +25 -50
  552. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  553. package/build-module/custom-gradient-picker/index.js +5 -4
  554. package/build-module/custom-gradient-picker/index.js.map +1 -1
  555. package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
  556. package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
  557. package/build-module/custom-gradient-picker/utils.js +5 -3
  558. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  559. package/build-module/custom-select-control/index.js +31 -8
  560. package/build-module/custom-select-control/index.js.map +1 -1
  561. package/build-module/dashicon/index.native.js +24 -0
  562. package/build-module/dashicon/index.native.js.map +1 -0
  563. package/build-module/date-time/index.js +1 -1
  564. package/build-module/date-time/index.js.map +1 -1
  565. package/build-module/dimension-control/sizes.js +6 -6
  566. package/build-module/dimension-control/sizes.js.map +1 -1
  567. package/build-module/divider/component.js +1 -2
  568. package/build-module/divider/component.js.map +1 -1
  569. package/build-module/drop-zone/index.js +54 -4
  570. package/build-module/drop-zone/index.js.map +1 -1
  571. package/build-module/dropdown/index.js +6 -1
  572. package/build-module/dropdown/index.js.map +1 -1
  573. package/build-module/dropdown-menu/index.js +20 -34
  574. package/build-module/dropdown-menu/index.js.map +1 -1
  575. package/build-module/dropdown-menu/index.native.js +2 -21
  576. package/build-module/dropdown-menu/index.native.js.map +1 -1
  577. package/build-module/duotone-picker/custom-duotone-bar.js +0 -1
  578. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  579. package/build-module/duotone-picker/duotone-picker.js +1 -0
  580. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  581. package/build-module/duotone-picker/utils.js +4 -2
  582. package/build-module/duotone-picker/utils.js.map +1 -1
  583. package/build-module/elevation/component.js +19 -7
  584. package/build-module/elevation/component.js.map +1 -1
  585. package/build-module/elevation/hook.js +5 -5
  586. package/build-module/elevation/hook.js.map +1 -1
  587. package/build-module/flex/flex/component.js +2 -2
  588. package/build-module/flex/flex/component.js.map +1 -1
  589. package/build-module/flex/flex/hook.js +25 -31
  590. package/build-module/flex/flex/hook.js.map +1 -1
  591. package/build-module/flex/flex-block/component.js +19 -7
  592. package/build-module/flex/flex-block/component.js.map +1 -1
  593. package/build-module/flex/flex-block/hook.js +1 -1
  594. package/build-module/flex/flex-block/hook.js.map +1 -1
  595. package/build-module/flex/flex-item/component.js +19 -7
  596. package/build-module/flex/flex-item/component.js.map +1 -1
  597. package/build-module/flex/flex-item/hook.js +2 -2
  598. package/build-module/flex/flex-item/hook.js.map +1 -1
  599. package/build-module/flyout/flyout/component.js +2 -2
  600. package/build-module/flyout/flyout/component.js.map +1 -1
  601. package/build-module/flyout/flyout/hook.js +1 -1
  602. package/build-module/flyout/flyout/hook.js.map +1 -1
  603. package/build-module/flyout/flyout-content/component.js +2 -2
  604. package/build-module/flyout/flyout-content/component.js.map +1 -1
  605. package/build-module/focal-point-picker/controls.js +1 -1
  606. package/build-module/focal-point-picker/controls.js.map +1 -1
  607. package/build-module/focusable-iframe/index.js +6 -30
  608. package/build-module/focusable-iframe/index.js.map +1 -1
  609. package/build-module/font-size-picker/index.js +108 -74
  610. package/build-module/font-size-picker/index.js.map +1 -1
  611. package/build-module/font-size-picker/index.native.js +144 -0
  612. package/build-module/font-size-picker/index.native.js.map +1 -0
  613. package/build-module/font-size-picker/utils.js +104 -0
  614. package/build-module/font-size-picker/utils.js.map +1 -0
  615. package/build-module/gradient-picker/index.js +67 -9
  616. package/build-module/gradient-picker/index.js.map +1 -1
  617. package/build-module/grid/component.js +19 -7
  618. package/build-module/grid/component.js.map +1 -1
  619. package/build-module/grid/hook.js +2 -2
  620. package/build-module/grid/hook.js.map +1 -1
  621. package/build-module/guide/index.js +9 -8
  622. package/build-module/guide/index.js.map +1 -1
  623. package/build-module/h-stack/component.js +19 -7
  624. package/build-module/h-stack/component.js.map +1 -1
  625. package/build-module/h-stack/hook.js +1 -1
  626. package/build-module/h-stack/hook.js.map +1 -1
  627. package/build-module/heading/component.js +21 -8
  628. package/build-module/heading/component.js.map +1 -1
  629. package/build-module/heading/hook.js +2 -3
  630. package/build-module/heading/hook.js.map +1 -1
  631. package/build-module/higher-order/navigate-regions/index.js +44 -31
  632. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  633. package/build-module/index.js +5 -3
  634. package/build-module/index.js.map +1 -1
  635. package/build-module/index.native.js +4 -1
  636. package/build-module/index.native.js.map +1 -1
  637. package/build-module/input-control/input-field.js.map +1 -1
  638. package/build-module/input-control/label.js.map +1 -1
  639. package/build-module/input-control/reducer/actions.js.map +1 -1
  640. package/build-module/input-control/reducer/reducer.js.map +1 -1
  641. package/build-module/input-control/reducer/state.js.map +1 -1
  642. package/build-module/input-control/styles/input-control-styles.js +25 -25
  643. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  644. package/build-module/item-group/item/component.js.map +1 -1
  645. package/build-module/item-group/item/hook.js +9 -3
  646. package/build-module/item-group/item/hook.js.map +1 -1
  647. package/build-module/item-group/item-group/component.js.map +1 -1
  648. package/build-module/item-group/item-group/hook.js.map +1 -1
  649. package/build-module/item-group/styles.js +18 -10
  650. package/build-module/item-group/styles.js.map +1 -1
  651. package/build-module/menu-group/index.js +8 -6
  652. package/build-module/menu-group/index.js.map +1 -1
  653. package/build-module/menu-item/index.js +19 -29
  654. package/build-module/menu-item/index.js.map +1 -1
  655. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +14 -5
  656. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  657. package/build-module/mobile/bottom-sheet/cell.native.js +11 -3
  658. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  659. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -3
  660. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  661. package/build-module/mobile/bottom-sheet/index.native.js +16 -4
  662. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  663. package/build-module/mobile/bottom-sheet/link-cell.native.js +3 -2
  664. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  665. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +30 -0
  666. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -0
  667. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +43 -0
  668. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -0
  669. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +99 -0
  670. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -0
  671. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +30 -0
  672. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -0
  673. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +29 -0
  674. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -0
  675. package/build-module/mobile/bottom-sheet/range-cell.native.js +14 -2
  676. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  677. package/build-module/mobile/bottom-sheet/range-text-input.native.js +2 -1
  678. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  679. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +2 -2
  680. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  681. package/build-module/mobile/bottom-sheet-select-control/index.native.js +3 -4
  682. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  683. package/build-module/mobile/bottom-sheet-text-control/index.native.js +5 -8
  684. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  685. package/build-module/mobile/color-settings/gradient-picker-screen.native.js +4 -5
  686. package/build-module/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
  687. package/build-module/mobile/color-settings/palette.screen.native.js +11 -7
  688. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  689. package/build-module/mobile/color-settings/picker-screen.native.js +1 -1
  690. package/build-module/mobile/color-settings/picker-screen.native.js.map +1 -1
  691. package/build-module/mobile/dashicons/index.native.js +21 -0
  692. package/build-module/mobile/dashicons/index.native.js.map +1 -0
  693. package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
  694. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  695. package/build-module/mobile/global-styles-context/index.native.js +5 -3
  696. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  697. package/build-module/mobile/global-styles-context/utils.native.js +113 -11
  698. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  699. package/build-module/mobile/html-text-input/index.native.js +14 -4
  700. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  701. package/build-module/mobile/inserter-button/index.native.js +4 -4
  702. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  703. package/build-module/mobile/link-picker/index.native.js +6 -7
  704. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  705. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +121 -0
  706. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  707. package/build-module/mobile/link-settings/index.native.js +3 -2
  708. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  709. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
  710. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  711. package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
  712. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  713. package/build-module/mobile/picker/index.android.js +4 -2
  714. package/build-module/mobile/picker/index.android.js.map +1 -1
  715. package/build-module/mobile/segmented-control/index.native.js +2 -1
  716. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  717. package/build-module/modal/index.js +109 -151
  718. package/build-module/modal/index.js.map +1 -1
  719. package/build-module/navigable-container/container.js +1 -0
  720. package/build-module/navigable-container/container.js.map +1 -1
  721. package/build-module/navigable-container/index.js +2 -0
  722. package/build-module/navigable-container/index.js.map +1 -1
  723. package/build-module/navigable-container/menu.js +1 -0
  724. package/build-module/navigable-container/menu.js.map +1 -1
  725. package/build-module/navigable-container/tabbable.js +1 -0
  726. package/build-module/navigable-container/tabbable.js.map +1 -1
  727. package/build-module/navigation/group/index.js +1 -2
  728. package/build-module/navigation/group/index.js.map +1 -1
  729. package/build-module/navigation/menu/index.js +1 -1
  730. package/build-module/navigation/menu/index.js.map +1 -1
  731. package/build-module/navigation/menu/menu-title-search.js +8 -24
  732. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  733. package/build-module/navigation/menu/menu-title.js +3 -3
  734. package/build-module/navigation/menu/menu-title.js.map +1 -1
  735. package/build-module/navigation/styles/navigation-styles.js +41 -29
  736. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  737. package/build-module/navigator/context.js +11 -0
  738. package/build-module/navigator/context.js.map +1 -0
  739. package/build-module/navigator/index.js +4 -0
  740. package/build-module/navigator/index.js.map +1 -0
  741. package/build-module/navigator/navigator-provider/component.js +104 -0
  742. package/build-module/navigator/navigator-provider/component.js.map +1 -0
  743. package/build-module/navigator/navigator-provider/index.js +2 -0
  744. package/build-module/navigator/navigator-provider/index.js.map +1 -0
  745. package/build-module/navigator/navigator-screen/component.js +155 -0
  746. package/build-module/navigator/navigator-screen/component.js.map +1 -0
  747. package/build-module/navigator/navigator-screen/index.js +2 -0
  748. package/build-module/navigator/navigator-screen/index.js.map +1 -0
  749. package/build-module/{ui/color-picker → navigator}/types.js +0 -0
  750. package/build-module/{ui/color-picker → navigator}/types.js.map +0 -0
  751. package/build-module/navigator/use-navigator.js +28 -0
  752. package/build-module/navigator/use-navigator.js.map +1 -0
  753. package/build-module/number-control/index.js +25 -29
  754. package/build-module/number-control/index.js.map +1 -1
  755. package/build-module/panel/body.native.js +1 -0
  756. package/build-module/panel/body.native.js.map +1 -1
  757. package/build-module/popover/index.js +15 -22
  758. package/build-module/popover/index.js.map +1 -1
  759. package/build-module/popover/utils.js +57 -35
  760. package/build-module/popover/utils.js.map +1 -1
  761. package/build-module/query-controls/index.native.js +3 -3
  762. package/build-module/query-controls/index.native.js.map +1 -1
  763. package/build-module/range-control/index.js +9 -2
  764. package/build-module/range-control/index.js.map +1 -1
  765. package/build-module/range-control/input-range.js +0 -16
  766. package/build-module/range-control/input-range.js.map +1 -1
  767. package/build-module/range-control/rail.js +4 -0
  768. package/build-module/range-control/rail.js.map +1 -1
  769. package/build-module/range-control/styles/range-control-styles.js +51 -52
  770. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  771. package/build-module/range-control/tooltip.js +11 -22
  772. package/build-module/range-control/tooltip.js.map +1 -1
  773. package/build-module/resizable-box/index.js +35 -33
  774. package/build-module/resizable-box/index.js.map +1 -1
  775. package/build-module/resizable-box/resize-tooltip/index.js +2 -4
  776. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  777. package/build-module/resizable-box/resize-tooltip/label.js +8 -4
  778. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  779. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -12
  780. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  781. package/build-module/resizable-box/resize-tooltip/utils.js +20 -27
  782. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  783. package/build-module/sandbox/index.js +3 -7
  784. package/build-module/sandbox/index.js.map +1 -1
  785. package/build-module/sandbox/index.native.js +74 -31
  786. package/build-module/sandbox/index.native.js.map +1 -1
  787. package/build-module/scrollable/component.js +20 -8
  788. package/build-module/scrollable/component.js.map +1 -1
  789. package/build-module/scrollable/hook.js +1 -1
  790. package/build-module/scrollable/hook.js.map +1 -1
  791. package/build-module/search-control/index.js +36 -15
  792. package/build-module/search-control/index.js.map +1 -1
  793. package/build-module/search-control/index.native.js +11 -3
  794. package/build-module/search-control/index.native.js.map +1 -1
  795. package/build-module/select-control/index.js +3 -2
  796. package/build-module/select-control/index.js.map +1 -1
  797. package/build-module/snackbar/index.js +5 -2
  798. package/build-module/snackbar/index.js.map +1 -1
  799. package/build-module/snackbar/list.js +7 -2
  800. package/build-module/snackbar/list.js.map +1 -1
  801. package/build-module/spacer/component.js +20 -7
  802. package/build-module/spacer/component.js.map +1 -1
  803. package/build-module/spacer/hook.js +2 -3
  804. package/build-module/spacer/hook.js.map +1 -1
  805. package/build-module/surface/component.js +19 -6
  806. package/build-module/surface/component.js.map +1 -1
  807. package/build-module/surface/hook.js +1 -1
  808. package/build-module/surface/hook.js.map +1 -1
  809. package/build-module/text/component.js +21 -7
  810. package/build-module/text/component.js.map +1 -1
  811. package/build-module/text/hook.js +5 -5
  812. package/build-module/text/hook.js.map +1 -1
  813. package/build-module/text/styles.js +7 -7
  814. package/build-module/text/styles.js.map +1 -1
  815. package/build-module/toggle-control/index.native.js +8 -3
  816. package/build-module/toggle-control/index.native.js.map +1 -1
  817. package/build-module/toggle-group-control/context.js +12 -0
  818. package/build-module/toggle-group-control/context.js.map +1 -0
  819. package/build-module/toggle-group-control/index.js +3 -0
  820. package/build-module/toggle-group-control/index.js.map +1 -0
  821. package/build-module/toggle-group-control/toggle-group-control/component.js +111 -0
  822. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -0
  823. package/build-module/toggle-group-control/toggle-group-control/index.js +2 -0
  824. package/build-module/toggle-group-control/toggle-group-control/index.js.map +1 -0
  825. package/build-module/toggle-group-control/toggle-group-control/styles.js +30 -0
  826. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -0
  827. package/build-module/{segmented-control/segmented-control-backdrop.js → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js} +21 -6
  828. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  829. package/build-module/toggle-group-control/toggle-group-control-option/component.js +89 -0
  830. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -0
  831. package/build-module/toggle-group-control/toggle-group-control-option/index.js +2 -0
  832. package/build-module/toggle-group-control/toggle-group-control-option/index.js.map +1 -0
  833. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +61 -0
  834. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -0
  835. package/build-module/toggle-group-control/types.js +2 -0
  836. package/{build/segmented-control → build-module/toggle-group-control}/types.js.map +0 -0
  837. package/build-module/tools-panel/context.js +19 -1
  838. package/build-module/tools-panel/context.js.map +1 -1
  839. package/build-module/tools-panel/index.js +1 -0
  840. package/build-module/tools-panel/index.js.map +1 -1
  841. package/build-module/tools-panel/styles.js +60 -8
  842. package/build-module/tools-panel/styles.js.map +1 -1
  843. package/build-module/tools-panel/tools-panel/component.js +16 -9
  844. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  845. package/build-module/tools-panel/tools-panel/hook.js +124 -24
  846. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  847. package/build-module/tools-panel/tools-panel/index.js.map +1 -1
  848. package/build-module/tools-panel/tools-panel-header/component.js +99 -24
  849. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  850. package/build-module/tools-panel/tools-panel-header/hook.js +12 -2
  851. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  852. package/build-module/tools-panel/tools-panel-header/index.js.map +1 -1
  853. package/build-module/tools-panel/tools-panel-item/component.js +12 -3
  854. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  855. package/build-module/tools-panel/tools-panel-item/hook.js +57 -21
  856. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  857. package/build-module/tools-panel/tools-panel-item/index.js.map +1 -1
  858. package/build-module/tools-panel/types.js +2 -0
  859. package/{build/ui/color-picker → build-module/tools-panel}/types.js.map +0 -0
  860. package/build-module/tooltip/index.js +9 -4
  861. package/build-module/tooltip/index.js.map +1 -1
  862. package/build-module/tooltip/index.native.js +2 -1
  863. package/build-module/tooltip/index.native.js.map +1 -1
  864. package/build-module/tree-grid/index.js +3 -1
  865. package/build-module/tree-grid/index.js.map +1 -1
  866. package/build-module/truncate/component.js +21 -7
  867. package/build-module/truncate/component.js.map +1 -1
  868. package/build-module/truncate/hook.js +2 -2
  869. package/build-module/truncate/hook.js.map +1 -1
  870. package/build-module/ui/context/context-connect.js +3 -3
  871. package/build-module/ui/context/context-connect.js.map +1 -1
  872. package/build-module/ui/context/index.js +1 -1
  873. package/build-module/ui/context/index.js.map +1 -1
  874. package/build-module/ui/context/use-context-system.js +1 -1
  875. package/build-module/ui/context/use-context-system.js.map +1 -1
  876. package/build-module/ui/context/wordpress-component.js +2 -0
  877. package/build-module/ui/context/{polymorphic-component.js.map → wordpress-component.js.map} +0 -0
  878. package/build-module/ui/control-group/component.js +2 -2
  879. package/build-module/ui/control-group/component.js.map +1 -1
  880. package/build-module/ui/control-group/hook.js +1 -1
  881. package/build-module/ui/control-group/hook.js.map +1 -1
  882. package/build-module/ui/control-label/component.js +21 -7
  883. package/build-module/ui/control-label/component.js.map +1 -1
  884. package/build-module/ui/control-label/hook.js +1 -1
  885. package/build-module/ui/control-label/hook.js.map +1 -1
  886. package/build-module/ui/form-group/form-group-content.js +1 -1
  887. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  888. package/build-module/ui/form-group/form-group-label.js +1 -1
  889. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  890. package/build-module/ui/form-group/form-group.js +2 -2
  891. package/build-module/ui/form-group/form-group.js.map +1 -1
  892. package/build-module/ui/form-group/use-form-group.js +1 -1
  893. package/build-module/ui/form-group/use-form-group.js.map +1 -1
  894. package/build-module/ui/shortcut/component.js +1 -2
  895. package/build-module/ui/shortcut/component.js.map +1 -1
  896. package/build-module/ui/spinner/component.js +2 -2
  897. package/build-module/ui/spinner/component.js.map +1 -1
  898. package/build-module/ui/tooltip/component.js +2 -2
  899. package/build-module/ui/tooltip/component.js.map +1 -1
  900. package/build-module/ui/tooltip/content.js +2 -2
  901. package/build-module/ui/tooltip/content.js.map +1 -1
  902. package/build-module/ui/tooltip/styles.js +4 -4
  903. package/build-module/ui/tooltip/styles.js.map +1 -1
  904. package/build-module/ui/utils/colors.js +5 -4
  905. package/build-module/ui/utils/colors.js.map +1 -1
  906. package/build-module/ui/utils/index.js +0 -1
  907. package/build-module/ui/utils/index.js.map +1 -1
  908. package/build-module/ui/utils/space.js +2 -2
  909. package/build-module/ui/utils/space.js.map +1 -1
  910. package/build-module/ui/utils/use-responsive-value.js +0 -4
  911. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  912. package/build-module/unit-control/index.js +36 -16
  913. package/build-module/unit-control/index.js.map +1 -1
  914. package/build-module/unit-control/index.native.js +5 -1
  915. package/build-module/unit-control/index.native.js.map +1 -1
  916. package/build-module/unit-control/styles/unit-control-styles.js +17 -17
  917. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  918. package/build-module/unit-control/types.js +2 -0
  919. package/{build/ui/context/polymorphic-component.js.map → build-module/unit-control/types.js.map} +0 -0
  920. package/build-module/unit-control/unit-select-control.js +12 -28
  921. package/build-module/unit-control/unit-select-control.js.map +1 -1
  922. package/build-module/unit-control/utils.js +75 -44
  923. package/build-module/unit-control/utils.js.map +1 -1
  924. package/build-module/utils/colors.js +4 -7
  925. package/build-module/utils/colors.js.map +1 -1
  926. package/build-module/utils/config-values.js +8 -8
  927. package/build-module/utils/config-values.js.map +1 -1
  928. package/build-module/utils/hooks/index.js +1 -1
  929. package/build-module/utils/hooks/index.js.map +1 -1
  930. package/build-module/utils/hooks/use-combined-ref.js +25 -0
  931. package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
  932. package/build-module/v-stack/component.js +19 -7
  933. package/build-module/v-stack/component.js.map +1 -1
  934. package/build-module/v-stack/hook.js +1 -1
  935. package/build-module/v-stack/hook.js.map +1 -1
  936. package/build-module/view/component.js +2 -2
  937. package/build-module/view/component.js.map +1 -1
  938. package/build-module/visually-hidden/component.js +2 -2
  939. package/build-module/visually-hidden/component.js.map +1 -1
  940. package/build-module/z-stack/component.js +1 -2
  941. package/build-module/z-stack/component.js.map +1 -1
  942. package/build-style/style-rtl.css +136 -367
  943. package/build-style/style.css +136 -372
  944. package/build-types/animate/index.d.ts +4 -4
  945. package/build-types/animate/index.d.ts.map +1 -1
  946. package/build-types/base-control/index.d.ts +12 -3
  947. package/build-types/base-control/index.d.ts.map +1 -1
  948. package/build-types/base-control/styles/base-control-styles.d.ts +4 -4
  949. package/build-types/base-field/hook.d.ts +222 -222
  950. package/build-types/base-field/hook.d.ts.map +1 -1
  951. package/build-types/button/index.d.ts.map +1 -1
  952. package/build-types/card/card/component.d.ts +1 -1
  953. package/build-types/card/card/component.d.ts.map +1 -1
  954. package/build-types/card/card/hook.d.ts +222 -222
  955. package/build-types/card/card/hook.d.ts.map +1 -1
  956. package/build-types/card/card-body/component.d.ts +1 -1
  957. package/build-types/card/card-body/component.d.ts.map +1 -1
  958. package/build-types/card/card-body/hook.d.ts +222 -222
  959. package/build-types/card/card-body/hook.d.ts.map +1 -1
  960. package/build-types/card/card-divider/component.d.ts +1 -1
  961. package/build-types/card/card-divider/component.d.ts.map +1 -1
  962. package/build-types/card/card-divider/hook.d.ts +225 -225
  963. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  964. package/build-types/card/card-footer/component.d.ts +1 -1
  965. package/build-types/card/card-footer/component.d.ts.map +1 -1
  966. package/build-types/card/card-footer/hook.d.ts +223 -223
  967. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  968. package/build-types/card/card-header/component.d.ts +2 -2
  969. package/build-types/card/card-header/hook.d.ts +222 -222
  970. package/build-types/card/card-header/hook.d.ts.map +1 -1
  971. package/build-types/card/card-media/component.d.ts +3 -3
  972. package/build-types/card/card-media/component.d.ts.map +1 -1
  973. package/build-types/card/card-media/hook.d.ts +222 -222
  974. package/build-types/card/card-media/hook.d.ts.map +1 -1
  975. package/build-types/dashicon/index.d.ts +1 -1
  976. package/build-types/dashicon/index.d.ts.map +1 -1
  977. package/build-types/disabled/styles/disabled-styles.d.ts +1 -1
  978. package/build-types/divider/component.d.ts +1 -1
  979. package/build-types/divider/component.d.ts.map +1 -1
  980. package/build-types/divider/styles.d.ts +1 -1
  981. package/build-types/dropdown/index.d.ts +14 -0
  982. package/build-types/dropdown/index.d.ts.map +1 -0
  983. package/build-types/dropdown-menu/index.d.ts +3 -0
  984. package/build-types/dropdown-menu/index.d.ts.map +1 -0
  985. package/build-types/elevation/component.d.ts +2 -2
  986. package/build-types/elevation/component.d.ts.map +1 -1
  987. package/build-types/elevation/hook.d.ts +221 -221
  988. package/build-types/elevation/hook.d.ts.map +1 -1
  989. package/build-types/flex/flex/component.d.ts +1 -1
  990. package/build-types/flex/flex/component.d.ts.map +1 -1
  991. package/build-types/flex/flex/hook.d.ts +222 -222
  992. package/build-types/flex/flex/hook.d.ts.map +1 -1
  993. package/build-types/flex/flex-block/component.d.ts +2 -2
  994. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  995. package/build-types/flex/flex-block/hook.d.ts +222 -222
  996. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  997. package/build-types/flex/flex-item/component.d.ts +2 -2
  998. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  999. package/build-types/flex/flex-item/hook.d.ts +222 -222
  1000. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  1001. package/build-types/flex/types.d.ts +0 -1
  1002. package/build-types/flex/types.d.ts.map +1 -1
  1003. package/build-types/flyout/flyout/component.d.ts +1 -1
  1004. package/build-types/flyout/flyout/component.d.ts.map +1 -1
  1005. package/build-types/flyout/flyout/hook.d.ts +223 -223
  1006. package/build-types/flyout/flyout/hook.d.ts.map +1 -1
  1007. package/build-types/flyout/flyout-content/component.d.ts +1 -1
  1008. package/build-types/flyout/flyout-content/component.d.ts.map +1 -1
  1009. package/build-types/flyout/styles.d.ts +6 -6
  1010. package/build-types/grid/component.d.ts +2 -2
  1011. package/build-types/grid/component.d.ts.map +1 -1
  1012. package/build-types/grid/hook.d.ts +222 -222
  1013. package/build-types/grid/hook.d.ts.map +1 -1
  1014. package/build-types/h-stack/component.d.ts +2 -2
  1015. package/build-types/h-stack/component.d.ts.map +1 -1
  1016. package/build-types/h-stack/hook.d.ts +222 -222
  1017. package/build-types/h-stack/hook.d.ts.map +1 -1
  1018. package/build-types/heading/component.d.ts +4 -3
  1019. package/build-types/heading/component.d.ts.map +1 -1
  1020. package/build-types/heading/hook.d.ts +227 -224
  1021. package/build-types/heading/hook.d.ts.map +1 -1
  1022. package/build-types/input-control/index.d.ts +1 -1
  1023. package/build-types/input-control/input-field.d.ts +5 -5
  1024. package/build-types/input-control/input-field.d.ts.map +1 -1
  1025. package/build-types/input-control/label.d.ts +2 -2
  1026. package/build-types/input-control/label.d.ts.map +1 -1
  1027. package/build-types/input-control/reducer/actions.d.ts +1 -1
  1028. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  1029. package/build-types/input-control/reducer/reducer.d.ts +1 -1
  1030. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  1031. package/build-types/input-control/reducer/state.d.ts +1 -1
  1032. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  1033. package/build-types/input-control/styles/input-control-styles.d.ts +13 -13
  1034. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  1035. package/build-types/input-control/types.d.ts +8 -7
  1036. package/build-types/input-control/types.d.ts.map +1 -1
  1037. package/build-types/item-group/item/component.d.ts +1 -1
  1038. package/build-types/item-group/item/hook.d.ts +222 -225
  1039. package/build-types/item-group/item/hook.d.ts.map +1 -1
  1040. package/build-types/item-group/item-group/component.d.ts +1 -1
  1041. package/build-types/item-group/item-group/hook.d.ts +222 -222
  1042. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  1043. package/build-types/item-group/styles.d.ts.map +1 -1
  1044. package/build-types/item-group/types.d.ts +0 -6
  1045. package/build-types/item-group/types.d.ts.map +1 -1
  1046. package/build-types/menu-group/index.d.ts +3 -0
  1047. package/build-types/menu-group/index.d.ts.map +1 -0
  1048. package/build-types/menu-item/index.d.ts +4 -0
  1049. package/build-types/menu-item/index.d.ts.map +1 -0
  1050. package/build-types/navigable-container/container.d.ts +3 -0
  1051. package/build-types/navigable-container/container.d.ts.map +1 -0
  1052. package/build-types/navigable-container/index.d.ts +3 -0
  1053. package/build-types/navigable-container/index.d.ts.map +1 -0
  1054. package/build-types/navigable-container/menu.d.ts +12 -0
  1055. package/build-types/navigable-container/menu.d.ts.map +1 -0
  1056. package/build-types/navigable-container/tabbable.d.ts +10 -0
  1057. package/build-types/navigable-container/tabbable.d.ts.map +1 -0
  1058. package/build-types/navigator/context.d.ts +7 -0
  1059. package/build-types/navigator/context.d.ts.map +1 -0
  1060. package/build-types/navigator/index.d.ts +4 -0
  1061. package/build-types/navigator/index.d.ts.map +1 -0
  1062. package/build-types/navigator/navigator-provider/component.d.ts +49 -0
  1063. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -0
  1064. package/build-types/navigator/navigator-provider/index.d.ts +2 -0
  1065. package/build-types/navigator/navigator-provider/index.d.ts.map +1 -0
  1066. package/build-types/navigator/navigator-screen/component.d.ts +55 -0
  1067. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -0
  1068. package/build-types/navigator/navigator-screen/index.d.ts +2 -0
  1069. package/build-types/navigator/navigator-screen/index.d.ts.map +1 -0
  1070. package/build-types/navigator/types.d.ts +39 -0
  1071. package/build-types/navigator/types.d.ts.map +1 -0
  1072. package/build-types/navigator/use-navigator.d.ts +7 -0
  1073. package/build-types/navigator/use-navigator.d.ts.map +1 -0
  1074. package/build-types/number-control/index.d.ts.map +1 -1
  1075. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  1076. package/build-types/popover/index.d.ts +1 -1
  1077. package/build-types/popover/index.d.ts.map +1 -1
  1078. package/build-types/popover/utils.d.ts +29 -29
  1079. package/build-types/popover/utils.d.ts.map +1 -1
  1080. package/build-types/range-control/index.d.ts.map +1 -1
  1081. package/build-types/range-control/input-range.d.ts +0 -6
  1082. package/build-types/range-control/input-range.d.ts.map +1 -1
  1083. package/build-types/range-control/styles/range-control-styles.d.ts +14 -14
  1084. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  1085. package/build-types/range-control/tooltip.d.ts +2 -2
  1086. package/build-types/range-control/tooltip.d.ts.map +1 -1
  1087. package/build-types/range-control/utils.d.ts +5 -5
  1088. package/build-types/resizable-box/index.d.ts +29 -0
  1089. package/build-types/resizable-box/index.d.ts.map +1 -0
  1090. package/build-types/resizable-box/resize-tooltip/index.d.ts +22 -0
  1091. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -0
  1092. package/build-types/resizable-box/resize-tooltip/label.d.ts +12 -0
  1093. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -0
  1094. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +20 -0
  1095. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -0
  1096. package/build-types/resizable-box/resize-tooltip/utils.d.ts +39 -0
  1097. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -0
  1098. package/build-types/resizable-box/styles/resizable-box.styles.d.ts +1 -0
  1099. package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +1 -0
  1100. package/build-types/scrollable/component.d.ts +3 -3
  1101. package/build-types/scrollable/component.d.ts.map +1 -1
  1102. package/build-types/scrollable/hook.d.ts +222 -222
  1103. package/build-types/scrollable/hook.d.ts.map +1 -1
  1104. package/build-types/select-control/index.d.ts +6 -3
  1105. package/build-types/select-control/index.d.ts.map +1 -1
  1106. package/build-types/select-control/styles/select-control-styles.d.ts +2 -2
  1107. package/build-types/shortcut/index.d.ts.map +1 -1
  1108. package/build-types/spacer/component.d.ts +3 -2
  1109. package/build-types/spacer/component.d.ts.map +1 -1
  1110. package/build-types/spacer/hook.d.ts +225 -222
  1111. package/build-types/spacer/hook.d.ts.map +1 -1
  1112. package/build-types/spinner/styles/spinner-styles.d.ts +1 -1
  1113. package/build-types/surface/component.d.ts +22 -2
  1114. package/build-types/surface/component.d.ts.map +1 -1
  1115. package/build-types/surface/hook.d.ts +222 -222
  1116. package/build-types/surface/hook.d.ts.map +1 -1
  1117. package/build-types/surface/styles.d.ts +4 -4
  1118. package/build-types/text/component.d.ts +2 -2
  1119. package/build-types/text/component.d.ts.map +1 -1
  1120. package/build-types/text/hook.d.ts +223 -223
  1121. package/build-types/text/hook.d.ts.map +1 -1
  1122. package/build-types/text/utils.d.ts +1 -1
  1123. package/build-types/toggle-group-control/context.d.ts +9 -0
  1124. package/build-types/toggle-group-control/context.d.ts.map +1 -0
  1125. package/build-types/toggle-group-control/index.d.ts +3 -0
  1126. package/build-types/toggle-group-control/index.d.ts.map +1 -0
  1127. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +30 -0
  1128. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -0
  1129. package/build-types/toggle-group-control/toggle-group-control/index.d.ts +2 -0
  1130. package/build-types/toggle-group-control/toggle-group-control/index.d.ts.map +1 -0
  1131. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +8 -0
  1132. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -0
  1133. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +9 -0
  1134. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -0
  1135. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +25 -0
  1136. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -0
  1137. package/build-types/toggle-group-control/toggle-group-control-option/index.d.ts +2 -0
  1138. package/build-types/toggle-group-control/toggle-group-control-option/index.d.ts.map +1 -0
  1139. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +19 -0
  1140. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -0
  1141. package/build-types/toggle-group-control/types.d.ts +73 -0
  1142. package/build-types/toggle-group-control/types.d.ts.map +1 -0
  1143. package/build-types/tools-panel/context.d.ts +8 -0
  1144. package/build-types/tools-panel/context.d.ts.map +1 -0
  1145. package/build-types/tools-panel/index.d.ts +4 -0
  1146. package/build-types/tools-panel/index.d.ts.map +1 -0
  1147. package/build-types/tools-panel/styles.d.ts +14 -0
  1148. package/build-types/tools-panel/styles.d.ts.map +1 -0
  1149. package/build-types/tools-panel/tools-panel/component.d.ts +4 -0
  1150. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -0
  1151. package/build-types/tools-panel/tools-panel/hook.d.ts +279 -0
  1152. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -0
  1153. package/build-types/tools-panel/tools-panel/index.d.ts +3 -0
  1154. package/build-types/tools-panel/tools-panel/index.d.ts.map +1 -0
  1155. package/build-types/tools-panel/tools-panel-header/component.d.ts +4 -0
  1156. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -0
  1157. package/build-types/tools-panel/tools-panel-header/hook.d.ts +272 -0
  1158. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -0
  1159. package/build-types/tools-panel/tools-panel-header/index.d.ts +2 -0
  1160. package/build-types/tools-panel/tools-panel-header/index.d.ts.map +1 -0
  1161. package/build-types/tools-panel/tools-panel-item/component.d.ts +4 -0
  1162. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -0
  1163. package/build-types/tools-panel/tools-panel-item/hook.d.ts +266 -0
  1164. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -0
  1165. package/build-types/tools-panel/tools-panel-item/index.d.ts +3 -0
  1166. package/build-types/tools-panel/tools-panel-item/index.d.ts.map +1 -0
  1167. package/build-types/tools-panel/types.d.ts +135 -0
  1168. package/build-types/tools-panel/types.d.ts.map +1 -0
  1169. package/build-types/tooltip/index.d.ts +2 -1
  1170. package/build-types/tooltip/index.d.ts.map +1 -1
  1171. package/build-types/truncate/component.d.ts +2 -2
  1172. package/build-types/truncate/component.d.ts.map +1 -1
  1173. package/build-types/truncate/hook.d.ts +222 -222
  1174. package/build-types/truncate/hook.d.ts.map +1 -1
  1175. package/build-types/ui/context/context-connect.d.ts +5 -5
  1176. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  1177. package/build-types/ui/context/index.d.ts +1 -1
  1178. package/build-types/ui/context/use-context-system.d.ts +1 -1
  1179. package/build-types/ui/context/use-context-system.d.ts.map +1 -1
  1180. package/build-types/ui/context/{polymorphic-component.d.ts → wordpress-component.d.ts} +6 -6
  1181. package/build-types/ui/context/wordpress-component.d.ts.map +1 -0
  1182. package/build-types/ui/control-group/component.d.ts +1 -1
  1183. package/build-types/ui/control-group/component.d.ts.map +1 -1
  1184. package/build-types/ui/control-group/hook.d.ts +224 -224
  1185. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  1186. package/build-types/ui/control-label/component.d.ts +2 -2
  1187. package/build-types/ui/control-label/component.d.ts.map +1 -1
  1188. package/build-types/ui/control-label/hook.d.ts +224 -224
  1189. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  1190. package/build-types/ui/form-group/form-group-content.d.ts +2 -2
  1191. package/build-types/ui/form-group/form-group-content.d.ts.map +1 -1
  1192. package/build-types/ui/form-group/form-group-context.d.ts +1 -1
  1193. package/build-types/ui/form-group/form-group-context.d.ts.map +1 -1
  1194. package/build-types/ui/form-group/form-group-label.d.ts +2 -2
  1195. package/build-types/ui/form-group/form-group-label.d.ts.map +1 -1
  1196. package/build-types/ui/form-group/form-group.d.ts +14 -14
  1197. package/build-types/ui/form-group/use-form-group.d.ts +470 -470
  1198. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  1199. package/build-types/ui/shortcut/component.d.ts +1 -1
  1200. package/build-types/ui/shortcut/component.d.ts.map +1 -1
  1201. package/build-types/ui/spinner/component.d.ts +1 -1
  1202. package/build-types/ui/spinner/styles.d.ts +3 -3
  1203. package/build-types/ui/tooltip/component.d.ts +1 -1
  1204. package/build-types/ui/tooltip/component.d.ts.map +1 -1
  1205. package/build-types/ui/tooltip/content.d.ts +1 -1
  1206. package/build-types/ui/tooltip/context.d.ts +1 -1
  1207. package/build-types/ui/tooltip/styles.d.ts +4 -4
  1208. package/build-types/ui/utils/colors.d.ts.map +1 -1
  1209. package/build-types/ui/utils/index.d.ts +0 -1
  1210. package/build-types/ui/utils/space.d.ts.map +1 -1
  1211. package/build-types/ui/utils/use-responsive-value.d.ts.map +1 -1
  1212. package/build-types/unit-control/index.d.ts +35 -0
  1213. package/build-types/unit-control/index.d.ts.map +1 -0
  1214. package/build-types/unit-control/styles/unit-control-styles.d.ts +41 -0
  1215. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -0
  1216. package/build-types/unit-control/types.d.ts +106 -0
  1217. package/build-types/unit-control/types.d.ts.map +1 -0
  1218. package/build-types/unit-control/unit-select-control.d.ts +8 -0
  1219. package/build-types/unit-control/unit-select-control.d.ts.map +1 -0
  1220. package/build-types/unit-control/utils.d.ts +102 -0
  1221. package/build-types/unit-control/utils.d.ts.map +1 -0
  1222. package/build-types/utils/colors.d.ts.map +1 -1
  1223. package/build-types/utils/config-values.d.ts +9 -9
  1224. package/build-types/utils/hooks/index.d.ts +1 -1
  1225. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  1226. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  1227. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  1228. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  1229. package/build-types/utils/rtl.d.ts +12 -0
  1230. package/build-types/utils/rtl.d.ts.map +1 -1
  1231. package/build-types/v-stack/component.d.ts +2 -2
  1232. package/build-types/v-stack/component.d.ts.map +1 -1
  1233. package/build-types/v-stack/hook.d.ts +222 -222
  1234. package/build-types/v-stack/hook.d.ts.map +1 -1
  1235. package/build-types/view/component.d.ts +2 -2
  1236. package/build-types/view/component.d.ts.map +1 -1
  1237. package/build-types/visually-hidden/component.d.ts +1 -1
  1238. package/build-types/visually-hidden/component.d.ts.map +1 -1
  1239. package/build-types/z-stack/component.d.ts +1 -1
  1240. package/build-types/z-stack/component.d.ts.map +1 -1
  1241. package/build-types/z-stack/styles.d.ts +2 -2
  1242. package/package.json +18 -18
  1243. package/src/alignment-matrix-control/README.md +60 -2
  1244. package/src/alignment-matrix-control/stories/index.js +3 -0
  1245. package/src/angle-picker-control/index.js +42 -40
  1246. package/src/angle-picker-control/styles/angle-picker-control-styles.js +10 -7
  1247. package/src/animate/index.js +1 -1
  1248. package/src/autocomplete/autocompleter-ui.native.js +4 -3
  1249. package/src/base-control/index.js +2 -2
  1250. package/src/base-control/stories/index.js +7 -1
  1251. package/src/base-field/hook.js +1 -1
  1252. package/src/base-field/test/__snapshots__/index.js.snap +1 -1
  1253. package/src/button/index.js +7 -2
  1254. package/src/button/stories/index.js +14 -9
  1255. package/src/card/card/component.js +2 -2
  1256. package/src/card/card/hook.js +3 -5
  1257. package/src/card/card-body/component.js +2 -2
  1258. package/src/card/card-body/hook.js +1 -1
  1259. package/src/card/card-divider/component.js +2 -2
  1260. package/src/card/card-divider/hook.js +1 -1
  1261. package/src/card/card-footer/component.js +2 -2
  1262. package/src/card/card-footer/hook.js +1 -1
  1263. package/src/card/card-header/component.js +2 -2
  1264. package/src/card/card-header/hook.js +1 -1
  1265. package/src/card/card-media/component.js +14 -7
  1266. package/src/card/card-media/hook.js +1 -1
  1267. package/src/card/stories/index.js +3 -0
  1268. package/src/card/test/__snapshots__/index.js.snap +25 -25
  1269. package/src/checkbox-control/stories/index.js +3 -0
  1270. package/src/circular-option-picker/style.scss +3 -5
  1271. package/src/clipboard-button/README.md +41 -1
  1272. package/src/color-edit/index.js +248 -275
  1273. package/src/color-edit/style.scss +4 -45
  1274. package/src/color-edit/styles.js +97 -0
  1275. package/src/color-indicator/stories/index.js +3 -0
  1276. package/src/color-list-picker/index.js +5 -0
  1277. package/src/color-list-picker/style.scss +4 -0
  1278. package/src/color-palette/index.js +131 -59
  1279. package/src/color-palette/stories/index.js +7 -1
  1280. package/src/color-palette/style.native.scss +1 -1
  1281. package/src/color-palette/style.scss +18 -0
  1282. package/src/color-palette/styles.js +19 -0
  1283. package/src/color-palette/test/__snapshots__/index.js.snap +453 -496
  1284. package/src/color-picker/README.md +41 -12
  1285. package/src/{ui/color-picker → color-picker}/color-display.tsx +41 -27
  1286. package/src/{ui/color-picker → color-picker}/color-input.tsx +3 -3
  1287. package/src/color-picker/component.tsx +138 -0
  1288. package/src/color-picker/hex-input.tsx +54 -0
  1289. package/src/{ui/color-picker → color-picker}/hsl-input.tsx +42 -26
  1290. package/src/color-picker/index.native.js +14 -9
  1291. package/src/color-picker/index.ts +4 -0
  1292. package/src/{ui/color-picker → color-picker}/input-with-slider.tsx +13 -10
  1293. package/src/color-picker/legacy-adapter.tsx +11 -0
  1294. package/src/color-picker/picker.tsx +31 -0
  1295. package/src/{ui/color-picker → color-picker}/rgb-input.tsx +9 -9
  1296. package/src/color-picker/stories/index.js +63 -12
  1297. package/src/color-picker/styles.ts +123 -0
  1298. package/src/color-picker/test/index.js +114 -87
  1299. package/src/{ui/color-picker → color-picker}/types.ts +0 -0
  1300. package/src/color-picker/use-deprecated-props.ts +148 -0
  1301. package/src/combobox-control/index.js +27 -4
  1302. package/src/custom-gradient-bar/constants.js +2 -2
  1303. package/src/custom-gradient-bar/control-points.js +44 -56
  1304. package/src/custom-gradient-picker/index.js +5 -7
  1305. package/src/custom-gradient-picker/style.scss +41 -18
  1306. package/src/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
  1307. package/src/custom-gradient-picker/utils.js +6 -3
  1308. package/src/custom-select-control/README.md +7 -0
  1309. package/src/custom-select-control/index.js +28 -9
  1310. package/src/custom-select-control/style.scss +10 -4
  1311. package/src/dashicon/index.native.js +18 -0
  1312. package/src/date-time/README.md +0 -9
  1313. package/src/date-time/index.js +2 -1
  1314. package/src/date-time/stories/index.js +3 -0
  1315. package/src/date-time/stories/time.js +7 -1
  1316. package/src/date-time/style.scss +5 -0
  1317. package/src/dimension-control/sizes.js +6 -6
  1318. package/src/divider/component.tsx +6 -4
  1319. package/src/divider/stories/index.js +3 -0
  1320. package/src/drop-zone/index.js +63 -11
  1321. package/src/drop-zone/style.scss +11 -20
  1322. package/src/dropdown/README.md +13 -12
  1323. package/src/dropdown/index.js +5 -0
  1324. package/src/dropdown/style.scss +8 -2
  1325. package/src/dropdown-menu/index.js +18 -32
  1326. package/src/dropdown-menu/index.native.js +0 -19
  1327. package/src/dropdown-menu/stories/index.js +24 -10
  1328. package/src/dropdown-menu/style.scss +11 -10
  1329. package/src/duotone-picker/README.md +6 -6
  1330. package/src/duotone-picker/custom-duotone-bar.js +0 -1
  1331. package/src/duotone-picker/duotone-picker.js +1 -0
  1332. package/src/duotone-picker/utils.js +5 -2
  1333. package/src/elevation/component.js +14 -7
  1334. package/src/elevation/hook.js +1 -1
  1335. package/src/elevation/stories/index.js +3 -0
  1336. package/src/external-link/stories/index.js +7 -1
  1337. package/src/flex/flex/README.md +0 -3
  1338. package/src/flex/flex/component.js +2 -2
  1339. package/src/flex/flex/hook.js +41 -31
  1340. package/src/flex/flex-block/component.js +14 -7
  1341. package/src/flex/flex-block/hook.js +1 -1
  1342. package/src/flex/flex-item/component.js +14 -7
  1343. package/src/flex/flex-item/hook.js +1 -1
  1344. package/src/flex/stories/index.js +1 -1
  1345. package/src/flex/test/__snapshots__/index.js.snap +1 -1
  1346. package/src/flex/types.ts +0 -1
  1347. package/src/flyout/flyout/component.js +2 -2
  1348. package/src/flyout/flyout/hook.js +1 -1
  1349. package/src/flyout/flyout-content/component.js +2 -2
  1350. package/src/flyout/test/__snapshots__/index.js.snap +1 -1
  1351. package/src/focal-point-picker/controls.js +1 -1
  1352. package/src/focusable-iframe/README.md +2 -0
  1353. package/src/focusable-iframe/index.js +6 -29
  1354. package/src/font-size-picker/README.md +9 -0
  1355. package/src/font-size-picker/index.js +196 -108
  1356. package/src/font-size-picker/index.native.js +184 -0
  1357. package/src/font-size-picker/stories/index.js +55 -3
  1358. package/src/font-size-picker/style.native.scss +6 -0
  1359. package/src/font-size-picker/style.scss +16 -11
  1360. package/src/font-size-picker/test/index.js +8 -0
  1361. package/src/font-size-picker/utils.js +101 -0
  1362. package/src/form-token-field/stories/index.js +3 -0
  1363. package/src/gradient-picker/index.js +79 -11
  1364. package/src/gradient-picker/stories/index.js +3 -0
  1365. package/src/grid/component.js +14 -7
  1366. package/src/grid/hook.js +1 -1
  1367. package/src/grid/stories/index.js +3 -0
  1368. package/src/guide/index.js +8 -9
  1369. package/src/guide/stories/index.js +7 -1
  1370. package/src/h-stack/component.js +14 -7
  1371. package/src/h-stack/hook.js +1 -1
  1372. package/src/h-stack/stories/index.js +1 -1
  1373. package/src/h-stack/test/__snapshots__/index.js.snap +3 -3
  1374. package/src/heading/component.tsx +37 -0
  1375. package/src/heading/hook.ts +7 -8
  1376. package/src/heading/stories/index.js +1 -1
  1377. package/src/heading/test/__snapshots__/index.js.snap +1 -1
  1378. package/src/higher-order/navigate-regions/index.js +62 -36
  1379. package/src/icon/stories/index.js +17 -11
  1380. package/src/index.js +12 -5
  1381. package/src/index.native.js +4 -1
  1382. package/src/input-control/input-field.tsx +2 -2
  1383. package/src/input-control/label.tsx +2 -2
  1384. package/src/input-control/reducer/actions.ts +1 -4
  1385. package/src/input-control/reducer/reducer.ts +1 -1
  1386. package/src/input-control/reducer/state.ts +1 -1
  1387. package/src/input-control/stories/index.js +3 -0
  1388. package/src/input-control/styles/input-control-styles.tsx +2 -2
  1389. package/src/input-control/types.ts +10 -8
  1390. package/src/item-group/item/README.md +2 -3
  1391. package/src/item-group/item/component.tsx +2 -2
  1392. package/src/item-group/item/hook.ts +24 -12
  1393. package/src/item-group/item-group/component.tsx +2 -2
  1394. package/src/item-group/item-group/hook.ts +2 -2
  1395. package/src/item-group/stories/index.js +98 -15
  1396. package/src/item-group/styles.ts +5 -1
  1397. package/src/item-group/test/__snapshots__/index.js.snap +11 -32
  1398. package/src/item-group/test/index.js +28 -10
  1399. package/src/item-group/types.ts +0 -6
  1400. package/src/menu-group/index.js +3 -6
  1401. package/src/menu-group/style.scss +1 -0
  1402. package/src/menu-item/README.md +8 -0
  1403. package/src/menu-item/index.js +13 -24
  1404. package/src/menu-item/style.scss +17 -3
  1405. package/src/menu-item/test/__snapshots__/index.js.snap +2 -2
  1406. package/src/mobile/README.md +3 -0
  1407. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +17 -7
  1408. package/src/mobile/bottom-sheet/cell.native.js +29 -3
  1409. package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
  1410. package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
  1411. package/src/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +7 -6
  1412. package/src/mobile/bottom-sheet/index.native.js +18 -5
  1413. package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
  1414. package/src/mobile/bottom-sheet/nav-bar/README.md +63 -0
  1415. package/src/mobile/bottom-sheet/nav-bar/action-button.native.js +30 -0
  1416. package/src/mobile/bottom-sheet/nav-bar/apply-button.native.js +53 -0
  1417. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +94 -0
  1418. package/src/mobile/bottom-sheet/nav-bar/heading.native.js +33 -0
  1419. package/src/mobile/bottom-sheet/nav-bar/index.native.js +23 -0
  1420. package/src/mobile/bottom-sheet/nav-bar/styles.native.scss +69 -0
  1421. package/src/mobile/bottom-sheet/range-cell.native.js +12 -2
  1422. package/src/mobile/bottom-sheet/range-text-input.native.js +1 -0
  1423. package/src/mobile/bottom-sheet/stepper-cell/stepper.ios.js +2 -2
  1424. package/src/mobile/bottom-sheet/styles.native.scss +32 -14
  1425. package/src/mobile/bottom-sheet/sub-sheet/README.md +4 -4
  1426. package/src/mobile/bottom-sheet-select-control/index.native.js +6 -4
  1427. package/src/mobile/bottom-sheet-text-control/index.native.js +8 -9
  1428. package/src/mobile/color-settings/gradient-picker-screen.native.js +5 -5
  1429. package/src/mobile/color-settings/palette.screen.native.js +25 -11
  1430. package/src/mobile/color-settings/picker-screen.native.js +1 -1
  1431. package/src/mobile/color-settings/style.native.scss +11 -0
  1432. package/src/mobile/dashicons/index.native.js +22 -0
  1433. package/src/mobile/focal-point-settings-panel/index.native.js +12 -7
  1434. package/src/mobile/global-styles-context/index.native.js +15 -2
  1435. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +6 -0
  1436. package/src/mobile/global-styles-context/test/utils.native.js +3 -3
  1437. package/src/mobile/global-styles-context/utils.native.js +120 -7
  1438. package/src/mobile/html-text-input/index.native.js +17 -10
  1439. package/src/mobile/inserter-button/index.native.js +4 -7
  1440. package/src/mobile/inserter-button/style.native.scss +0 -5
  1441. package/src/mobile/link-picker/index.native.js +6 -7
  1442. package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
  1443. package/src/mobile/link-settings/index.native.js +3 -2
  1444. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1445. package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
  1446. package/src/mobile/link-settings/style.native.scss +17 -0
  1447. package/src/mobile/picker/index.android.js +2 -1
  1448. package/src/mobile/segmented-control/index.native.js +1 -0
  1449. package/src/modal/README.md +8 -0
  1450. package/src/modal/index.js +158 -150
  1451. package/src/modal/stories/index.js +11 -4
  1452. package/src/modal/style.scss +5 -0
  1453. package/src/navigable-container/container.js +1 -0
  1454. package/src/navigable-container/index.js +1 -0
  1455. package/src/navigable-container/menu.js +1 -0
  1456. package/src/navigable-container/tabbable.js +1 -0
  1457. package/src/navigation/README.md +9 -0
  1458. package/src/navigation/group/index.js +1 -2
  1459. package/src/navigation/menu/index.js +9 -7
  1460. package/src/navigation/menu/menu-title-search.js +11 -26
  1461. package/src/navigation/menu/menu-title.js +4 -4
  1462. package/src/navigation/styles/navigation-styles.js +59 -74
  1463. package/src/navigator/context.ts +12 -0
  1464. package/src/navigator/index.ts +3 -0
  1465. package/src/navigator/navigator-provider/README.md +75 -0
  1466. package/src/navigator/navigator-provider/component.tsx +107 -0
  1467. package/src/{tools-panel/tools-panel-header/index.js → navigator/navigator-provider/index.ts} +0 -0
  1468. package/src/navigator/navigator-screen/README.md +21 -0
  1469. package/src/navigator/navigator-screen/component.tsx +185 -0
  1470. package/src/navigator/navigator-screen/index.ts +1 -0
  1471. package/src/navigator/stories/index.js +188 -0
  1472. package/src/navigator/test/index.js +218 -0
  1473. package/src/navigator/types.ts +45 -0
  1474. package/src/navigator/use-navigator.ts +25 -0
  1475. package/src/notice/stories/index.js +3 -0
  1476. package/src/number-control/README.md +18 -2
  1477. package/src/number-control/index.js +32 -34
  1478. package/src/number-control/stories/index.js +4 -1
  1479. package/src/number-control/test/index.js +40 -0
  1480. package/src/panel/body.native.js +4 -1
  1481. package/src/panel/stories/index.js +13 -2
  1482. package/src/panel/style.scss +1 -2
  1483. package/src/placeholder/stories/index.js +7 -1
  1484. package/src/popover/index.js +14 -24
  1485. package/src/popover/stories/index.js +7 -1
  1486. package/src/popover/utils.js +69 -36
  1487. package/src/query-controls/index.native.js +33 -31
  1488. package/src/range-control/README.md +13 -7
  1489. package/src/range-control/index.js +9 -2
  1490. package/src/range-control/input-range.js +0 -17
  1491. package/src/range-control/rail.js +3 -0
  1492. package/src/range-control/stories/index.js +36 -8
  1493. package/src/range-control/styles/range-control-styles.js +29 -24
  1494. package/src/range-control/tooltip.js +11 -22
  1495. package/src/resizable-box/index.tsx +128 -0
  1496. package/src/resizable-box/resize-tooltip/{index.js → index.tsx} +19 -6
  1497. package/src/resizable-box/resize-tooltip/{label.js → label.tsx} +23 -9
  1498. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  1499. package/src/resizable-box/resize-tooltip/{utils.js → utils.ts} +51 -30
  1500. package/src/resizable-box/stories/index.js +7 -1
  1501. package/src/resizable-box/style.scss +9 -1
  1502. package/src/sandbox/index.js +3 -7
  1503. package/src/sandbox/index.native.js +75 -25
  1504. package/src/sandbox/style.native.scss +4 -0
  1505. package/src/scrollable/README.md +1 -1
  1506. package/src/scrollable/component.js +15 -8
  1507. package/src/scrollable/hook.js +1 -1
  1508. package/src/scrollable/stories/index.js +3 -0
  1509. package/src/search-control/index.js +47 -23
  1510. package/src/search-control/index.native.js +14 -5
  1511. package/src/search-control/platform-style.android.scss +1 -4
  1512. package/src/search-control/platform-style.ios.scss +0 -3
  1513. package/src/search-control/stories/index.js +3 -0
  1514. package/src/search-control/style.native.scss +1 -3
  1515. package/src/search-control/style.scss +1 -1
  1516. package/src/select-control/README.md +36 -4
  1517. package/src/select-control/index.tsx +21 -19
  1518. package/src/select-control/stories/index.js +38 -1
  1519. package/src/select-control/test/select-control.js +82 -0
  1520. package/src/slot-fill/stories/index.js +3 -0
  1521. package/src/snackbar/index.js +4 -0
  1522. package/src/snackbar/list.js +4 -1
  1523. package/src/snackbar/stories/index.js +7 -1
  1524. package/src/spacer/{component.ts → component.tsx} +20 -7
  1525. package/src/spacer/hook.ts +2 -4
  1526. package/src/spacer/stories/index.js +3 -0
  1527. package/src/style.scss +1 -1
  1528. package/src/surface/README.md +1 -1
  1529. package/src/surface/component.js +15 -6
  1530. package/src/surface/hook.js +1 -1
  1531. package/src/surface/stories/index.js +3 -0
  1532. package/src/tab-panel/stories/index.js +7 -1
  1533. package/src/text/component.js +14 -7
  1534. package/src/text/hook.js +1 -1
  1535. package/src/text/styles.js +1 -1
  1536. package/src/text/test/__snapshots__/index.js.snap +2 -2
  1537. package/src/text-control/stories/index.js +3 -0
  1538. package/src/text-highlight/stories/index.js +7 -1
  1539. package/src/textarea-control/stories/index.js +3 -0
  1540. package/src/tip/stories/index.js +7 -1
  1541. package/src/toggle-control/index.native.js +8 -2
  1542. package/src/toggle-control/stories/index.js +7 -1
  1543. package/src/toggle-group-control/context.ts +16 -0
  1544. package/src/toggle-group-control/index.ts +2 -0
  1545. package/src/toggle-group-control/stories/index.js +142 -0
  1546. package/src/{segmented-control → toggle-group-control}/test/__snapshots__/index.js.snap +95 -117
  1547. package/src/toggle-group-control/test/index.js +41 -0
  1548. package/src/toggle-group-control/toggle-group-control/README.md +76 -0
  1549. package/src/toggle-group-control/toggle-group-control/component.tsx +150 -0
  1550. package/src/toggle-group-control/toggle-group-control/index.ts +1 -0
  1551. package/src/toggle-group-control/toggle-group-control/styles.ts +52 -0
  1552. package/src/{segmented-control/segmented-control-backdrop.tsx → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx} +18 -7
  1553. package/src/toggle-group-control/toggle-group-control-option/README.md +40 -0
  1554. package/src/toggle-group-control/toggle-group-control-option/component.tsx +104 -0
  1555. package/src/toggle-group-control/toggle-group-control-option/index.ts +1 -0
  1556. package/src/{segmented-control → toggle-group-control/toggle-group-control-option}/styles.ts +2 -55
  1557. package/src/{segmented-control → toggle-group-control}/types.ts +19 -24
  1558. package/src/toolbar-button/stories/index.js +13 -3
  1559. package/src/tools-panel/context.ts +25 -0
  1560. package/src/tools-panel/{index.js → index.ts} +1 -0
  1561. package/src/tools-panel/stories/index.js +166 -8
  1562. package/src/tools-panel/stories/typography-panel.js +215 -0
  1563. package/src/tools-panel/styles.ts +118 -0
  1564. package/src/tools-panel/test/index.js +288 -38
  1565. package/src/tools-panel/tools-panel/README.md +23 -10
  1566. package/src/tools-panel/tools-panel/component.tsx +49 -0
  1567. package/src/tools-panel/tools-panel/hook.ts +220 -0
  1568. package/src/tools-panel/tools-panel/{index.js → index.ts} +0 -0
  1569. package/src/tools-panel/tools-panel-header/README.md +6 -11
  1570. package/src/tools-panel/tools-panel-header/component.tsx +194 -0
  1571. package/src/tools-panel/tools-panel-header/hook.ts +51 -0
  1572. package/src/tools-panel/tools-panel-header/index.ts +1 -0
  1573. package/src/tools-panel/tools-panel-item/README.md +38 -2
  1574. package/src/tools-panel/tools-panel-item/component.tsx +46 -0
  1575. package/src/tools-panel/tools-panel-item/hook.ts +129 -0
  1576. package/src/tools-panel/tools-panel-item/{index.js → index.ts} +0 -0
  1577. package/src/tools-panel/types.ts +142 -0
  1578. package/src/tooltip/README.md +8 -0
  1579. package/src/tooltip/index.js +14 -3
  1580. package/src/tooltip/index.native.js +1 -0
  1581. package/src/tooltip/stories/index.js +40 -2
  1582. package/src/tooltip/test/index.js +54 -0
  1583. package/src/tooltip/test/index.native.js +103 -0
  1584. package/src/tree-grid/index.js +3 -1
  1585. package/src/tree-select/stories/index.js +3 -0
  1586. package/src/truncate/component.js +14 -7
  1587. package/src/truncate/hook.js +1 -1
  1588. package/src/truncate/stories/index.js +4 -1
  1589. package/src/ui/context/context-connect.js +3 -3
  1590. package/src/ui/context/index.js +1 -1
  1591. package/src/ui/context/stories/ComponentsProvider.stories.js +1 -1
  1592. package/src/ui/context/use-context-system.js +1 -1
  1593. package/src/ui/context/{polymorphic-component.ts → wordpress-component.ts} +7 -7
  1594. package/src/ui/control-group/component.js +2 -2
  1595. package/src/ui/control-group/hook.js +1 -1
  1596. package/src/ui/control-group/test/__snapshots__/index.js.snap +1 -1
  1597. package/src/ui/control-label/component.js +14 -7
  1598. package/src/ui/control-label/hook.js +1 -1
  1599. package/src/ui/control-label/stories/index.js +1 -1
  1600. package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
  1601. package/src/ui/form-group/form-group-content.js +1 -1
  1602. package/src/ui/form-group/form-group-label.js +1 -1
  1603. package/src/ui/form-group/form-group.js +2 -2
  1604. package/src/ui/form-group/stories/index.js +1 -1
  1605. package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
  1606. package/src/ui/form-group/use-form-group.js +1 -1
  1607. package/src/ui/shortcut/component.tsx +6 -4
  1608. package/src/ui/spinner/component.js +2 -2
  1609. package/src/ui/spinner/stories/index.js +1 -1
  1610. package/src/ui/tooltip/component.js +2 -2
  1611. package/src/ui/tooltip/content.js +2 -2
  1612. package/src/ui/tooltip/stories/index.js +1 -1
  1613. package/src/ui/tooltip/styles.js +1 -1
  1614. package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -1
  1615. package/src/ui/utils/colors.js +6 -7
  1616. package/src/ui/utils/index.js +0 -1
  1617. package/src/ui/utils/space.ts +2 -1
  1618. package/src/ui/utils/use-responsive-value.ts +0 -3
  1619. package/src/unit-control/README.md +21 -24
  1620. package/src/unit-control/index.native.js +4 -0
  1621. package/src/unit-control/{index.js → index.tsx} +73 -28
  1622. package/src/unit-control/stories/index.js +47 -3
  1623. package/src/unit-control/styles/{unit-control-styles.js → unit-control-styles.ts} +18 -7
  1624. package/src/unit-control/test/index.js +18 -0
  1625. package/src/unit-control/test/utils.js +123 -1
  1626. package/src/unit-control/types.ts +115 -0
  1627. package/src/unit-control/unit-select-control.tsx +62 -0
  1628. package/src/unit-control/{utils.js → utils.ts} +121 -51
  1629. package/src/utils/colors.js +5 -3
  1630. package/src/utils/config-values.js +9 -8
  1631. package/src/utils/hooks/index.js +1 -1
  1632. package/src/utils/hooks/use-combined-ref.ts +29 -0
  1633. package/src/utils/test/colors.js +11 -0
  1634. package/src/v-stack/component.js +14 -7
  1635. package/src/v-stack/hook.js +1 -1
  1636. package/src/v-stack/test/__snapshots__/index.js.snap +3 -3
  1637. package/src/view/component.js +1 -1
  1638. package/src/visually-hidden/component.js +2 -2
  1639. package/src/z-stack/component.tsx +2 -3
  1640. package/src/z-stack/stories/index.js +3 -0
  1641. package/tsconfig.json +15 -2
  1642. package/tsconfig.tsbuildinfo +1 -10694
  1643. package/build/color-picker/alpha.js +0 -202
  1644. package/build/color-picker/alpha.js.map +0 -1
  1645. package/build/color-picker/hue.js +0 -202
  1646. package/build/color-picker/hue.js.map +0 -1
  1647. package/build/color-picker/inputs.js +0 -345
  1648. package/build/color-picker/inputs.js.map +0 -1
  1649. package/build/color-picker/saturation.js +0 -209
  1650. package/build/color-picker/saturation.js.map +0 -1
  1651. package/build/color-picker/utils.js +0 -253
  1652. package/build/color-picker/utils.js.map +0 -1
  1653. package/build/mobile/bottom-sheet/navigation-header.native.js +0 -106
  1654. package/build/mobile/bottom-sheet/navigation-header.native.js.map +0 -1
  1655. package/build/modal/frame.js +0 -109
  1656. package/build/modal/frame.js.map +0 -1
  1657. package/build/modal/header.js +0 -53
  1658. package/build/modal/header.js.map +0 -1
  1659. package/build/segmented-control/component.js +0 -94
  1660. package/build/segmented-control/component.js.map +0 -1
  1661. package/build/segmented-control/index.js +0 -24
  1662. package/build/segmented-control/index.js.map +0 -1
  1663. package/build/segmented-control/segmented-control-backdrop.js.map +0 -1
  1664. package/build/segmented-control/segmented-control-button.js +0 -85
  1665. package/build/segmented-control/segmented-control-button.js.map +0 -1
  1666. package/build/segmented-control/segmented-control-context.js +0 -20
  1667. package/build/segmented-control/segmented-control-context.js.map +0 -1
  1668. package/build/segmented-control/segmented-control-option.js +0 -70
  1669. package/build/segmented-control/segmented-control-option.js.map +0 -1
  1670. package/build/segmented-control/styles.js +0 -99
  1671. package/build/segmented-control/styles.js.map +0 -1
  1672. package/build/ui/color-picker/color-display.js.map +0 -1
  1673. package/build/ui/color-picker/color-input.js.map +0 -1
  1674. package/build/ui/color-picker/component.js.map +0 -1
  1675. package/build/ui/color-picker/hex-input.js +0 -65
  1676. package/build/ui/color-picker/hex-input.js.map +0 -1
  1677. package/build/ui/color-picker/hsl-input.js.map +0 -1
  1678. package/build/ui/color-picker/index.js.map +0 -1
  1679. package/build/ui/color-picker/input-with-slider.js.map +0 -1
  1680. package/build/ui/color-picker/picker.js +0 -36
  1681. package/build/ui/color-picker/picker.js.map +0 -1
  1682. package/build/ui/color-picker/rgb-input.js.map +0 -1
  1683. package/build/ui/color-picker/styles.js +0 -51
  1684. package/build/ui/color-picker/styles.js.map +0 -1
  1685. package/build/ui/context/polymorphic-component.js +0 -2
  1686. package/build/ui/utils/create-component.js +0 -59
  1687. package/build/ui/utils/create-component.js.map +0 -1
  1688. package/build/utils/hooks/use-jump-step.js +0 -57
  1689. package/build/utils/hooks/use-jump-step.js.map +0 -1
  1690. package/build-module/color-picker/alpha.js +0 -183
  1691. package/build-module/color-picker/alpha.js.map +0 -1
  1692. package/build-module/color-picker/hue.js +0 -182
  1693. package/build-module/color-picker/hue.js.map +0 -1
  1694. package/build-module/color-picker/inputs.js +0 -320
  1695. package/build-module/color-picker/inputs.js.map +0 -1
  1696. package/build-module/color-picker/saturation.js +0 -188
  1697. package/build-module/color-picker/saturation.js.map +0 -1
  1698. package/build-module/color-picker/utils.js +0 -232
  1699. package/build-module/color-picker/utils.js.map +0 -1
  1700. package/build-module/mobile/bottom-sheet/navigation-header.native.js +0 -91
  1701. package/build-module/mobile/bottom-sheet/navigation-header.native.js.map +0 -1
  1702. package/build-module/modal/frame.js +0 -96
  1703. package/build-module/modal/frame.js.map +0 -1
  1704. package/build-module/modal/header.js +0 -41
  1705. package/build-module/modal/header.js.map +0 -1
  1706. package/build-module/segmented-control/component.js +0 -77
  1707. package/build-module/segmented-control/component.js.map +0 -1
  1708. package/build-module/segmented-control/index.js +0 -3
  1709. package/build-module/segmented-control/index.js.map +0 -1
  1710. package/build-module/segmented-control/segmented-control-backdrop.js.map +0 -1
  1711. package/build-module/segmented-control/segmented-control-button.js +0 -68
  1712. package/build-module/segmented-control/segmented-control-button.js.map +0 -1
  1713. package/build-module/segmented-control/segmented-control-context.js +0 -12
  1714. package/build-module/segmented-control/segmented-control-context.js.map +0 -1
  1715. package/build-module/segmented-control/segmented-control-option.js +0 -55
  1716. package/build-module/segmented-control/segmented-control-option.js.map +0 -1
  1717. package/build-module/segmented-control/styles.js +0 -83
  1718. package/build-module/segmented-control/styles.js.map +0 -1
  1719. package/build-module/ui/color-picker/color-display.js.map +0 -1
  1720. package/build-module/ui/color-picker/color-input.js.map +0 -1
  1721. package/build-module/ui/color-picker/component.js.map +0 -1
  1722. package/build-module/ui/color-picker/hex-input.js +0 -48
  1723. package/build-module/ui/color-picker/hex-input.js.map +0 -1
  1724. package/build-module/ui/color-picker/hsl-input.js.map +0 -1
  1725. package/build-module/ui/color-picker/index.js +0 -2
  1726. package/build-module/ui/color-picker/index.js.map +0 -1
  1727. package/build-module/ui/color-picker/input-with-slider.js.map +0 -1
  1728. package/build-module/ui/color-picker/picker.js +0 -26
  1729. package/build-module/ui/color-picker/picker.js.map +0 -1
  1730. package/build-module/ui/color-picker/rgb-input.js.map +0 -1
  1731. package/build-module/ui/color-picker/styles.js +0 -42
  1732. package/build-module/ui/color-picker/styles.js.map +0 -1
  1733. package/build-module/ui/context/polymorphic-component.js +0 -2
  1734. package/build-module/ui/utils/create-component.js +0 -46
  1735. package/build-module/ui/utils/create-component.js.map +0 -1
  1736. package/build-module/utils/hooks/use-jump-step.js +0 -48
  1737. package/build-module/utils/hooks/use-jump-step.js.map +0 -1
  1738. package/build-types/segmented-control/component.d.ts +0 -4
  1739. package/build-types/segmented-control/component.d.ts.map +0 -1
  1740. package/build-types/segmented-control/index.d.ts +0 -3
  1741. package/build-types/segmented-control/index.d.ts.map +0 -1
  1742. package/build-types/segmented-control/segmented-control-backdrop.d.ts +0 -9
  1743. package/build-types/segmented-control/segmented-control-backdrop.d.ts.map +0 -1
  1744. package/build-types/segmented-control/segmented-control-button.d.ts +0 -6
  1745. package/build-types/segmented-control/segmented-control-button.d.ts.map +0 -1
  1746. package/build-types/segmented-control/segmented-control-context.d.ts +0 -9
  1747. package/build-types/segmented-control/segmented-control-context.d.ts.map +0 -1
  1748. package/build-types/segmented-control/segmented-control-option.d.ts +0 -4
  1749. package/build-types/segmented-control/segmented-control-option.d.ts.map +0 -1
  1750. package/build-types/segmented-control/styles.d.ts +0 -29
  1751. package/build-types/segmented-control/styles.d.ts.map +0 -1
  1752. package/build-types/segmented-control/types.d.ts +0 -77
  1753. package/build-types/segmented-control/types.d.ts.map +0 -1
  1754. package/build-types/ui/color-picker/color-display.d.ts +0 -14
  1755. package/build-types/ui/color-picker/color-display.d.ts.map +0 -1
  1756. package/build-types/ui/color-picker/color-input.d.ts +0 -14
  1757. package/build-types/ui/color-picker/color-input.d.ts.map +0 -1
  1758. package/build-types/ui/color-picker/component.d.ts +0 -12
  1759. package/build-types/ui/color-picker/component.d.ts.map +0 -1
  1760. package/build-types/ui/color-picker/hex-input.d.ts +0 -13
  1761. package/build-types/ui/color-picker/hex-input.d.ts.map +0 -1
  1762. package/build-types/ui/color-picker/hsl-input.d.ts +0 -13
  1763. package/build-types/ui/color-picker/hsl-input.d.ts.map +0 -1
  1764. package/build-types/ui/color-picker/index.d.ts +0 -2
  1765. package/build-types/ui/color-picker/index.d.ts.map +0 -1
  1766. package/build-types/ui/color-picker/input-with-slider.d.ts +0 -12
  1767. package/build-types/ui/color-picker/input-with-slider.d.ts.map +0 -1
  1768. package/build-types/ui/color-picker/picker.d.ts +0 -13
  1769. package/build-types/ui/color-picker/picker.d.ts.map +0 -1
  1770. package/build-types/ui/color-picker/rgb-input.d.ts +0 -13
  1771. package/build-types/ui/color-picker/rgb-input.d.ts.map +0 -1
  1772. package/build-types/ui/color-picker/styles.d.ts +0 -43
  1773. package/build-types/ui/color-picker/styles.d.ts.map +0 -1
  1774. package/build-types/ui/color-picker/types.d.ts +0 -2
  1775. package/build-types/ui/color-picker/types.d.ts.map +0 -1
  1776. package/build-types/ui/context/polymorphic-component.d.ts.map +0 -1
  1777. package/build-types/ui/utils/create-component.d.ts +0 -22
  1778. package/build-types/ui/utils/create-component.d.ts.map +0 -1
  1779. package/build-types/utils/hooks/use-jump-step.d.ts +0 -25
  1780. package/build-types/utils/hooks/use-jump-step.d.ts.map +0 -1
  1781. package/src/color-picker/alpha.js +0 -184
  1782. package/src/color-picker/hue.js +0 -184
  1783. package/src/color-picker/index.js +0 -264
  1784. package/src/color-picker/inputs.js +0 -305
  1785. package/src/color-picker/saturation.js +0 -190
  1786. package/src/color-picker/style.scss +0 -269
  1787. package/src/color-picker/test/__snapshots__/index.js.snap +0 -817
  1788. package/src/color-picker/test/input.js +0 -174
  1789. package/src/color-picker/utils.js +0 -214
  1790. package/src/focusable-iframe/stories/index.js +0 -19
  1791. package/src/heading/component.ts +0 -25
  1792. package/src/mobile/bottom-sheet/navigation-header.native.js +0 -137
  1793. package/src/modal/frame.js +0 -111
  1794. package/src/modal/header.js +0 -53
  1795. package/src/resizable-box/index.js +0 -114
  1796. package/src/segmented-control/README.md +0 -70
  1797. package/src/segmented-control/component.tsx +0 -103
  1798. package/src/segmented-control/index.ts +0 -2
  1799. package/src/segmented-control/segmented-control-button.tsx +0 -72
  1800. package/src/segmented-control/segmented-control-context.ts +0 -16
  1801. package/src/segmented-control/segmented-control-option.tsx +0 -71
  1802. package/src/segmented-control/stories/index.js +0 -59
  1803. package/src/segmented-control/test/index.js +0 -42
  1804. package/src/tools-panel/context.js +0 -7
  1805. package/src/tools-panel/styles.js +0 -64
  1806. package/src/tools-panel/tools-panel/component.js +0 -38
  1807. package/src/tools-panel/tools-panel/hook.js +0 -79
  1808. package/src/tools-panel/tools-panel-header/component.js +0 -81
  1809. package/src/tools-panel/tools-panel-header/hook.js +0 -34
  1810. package/src/tools-panel/tools-panel-item/component.js +0 -31
  1811. package/src/tools-panel/tools-panel-item/hook.js +0 -67
  1812. package/src/ui/color-picker/README.md +0 -57
  1813. package/src/ui/color-picker/component.tsx +0 -141
  1814. package/src/ui/color-picker/hex-input.tsx +0 -55
  1815. package/src/ui/color-picker/index.ts +0 -1
  1816. package/src/ui/color-picker/picker.tsx +0 -26
  1817. package/src/ui/color-picker/stories/index.js +0 -59
  1818. package/src/ui/color-picker/styles.ts +0 -61
  1819. package/src/ui/utils/create-component.tsx +0 -59
  1820. package/src/ui/utils/test/create-component.js +0 -70
  1821. package/src/unit-control/unit-select-control.js +0 -70
  1822. package/src/utils/hooks/test/use-jump-step.js +0 -127
  1823. package/src/utils/hooks/use-jump-step.js +0 -51
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { usePrevious } from '@wordpress/compose';
5
- import { useEffect, useMemo } from '@wordpress/element';
5
+ import { useCallback, useEffect, useMemo } from '@wordpress/element';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
@@ -12,50 +12,86 @@ import { useToolsPanelContext } from '../context';
12
12
  import { useContextSystem } from '../../ui/context';
13
13
  import { useCx } from '../../utils/hooks/use-cx';
14
14
  export function useToolsPanelItem(props) {
15
+ var _menuItems$menuGroup, _menuItems$menuGroup2;
16
+
15
17
  const {
16
18
  className,
17
19
  hasValue,
18
20
  isShownByDefault,
19
21
  label,
20
- onDeselect = () => undefined,
21
- onSelect = () => undefined,
22
+ panelId,
23
+ resetAllFilter,
24
+ onDeselect,
25
+ onSelect,
22
26
  ...otherProps
23
27
  } = useContextSystem(props, 'ToolsPanelItem');
24
- const cx = useCx();
25
- const classes = useMemo(() => {
26
- return cx(styles.ToolsPanelItem, className);
27
- });
28
28
  const {
29
+ panelId: currentPanelId,
29
30
  menuItems,
30
- registerPanelItem
31
- } = useToolsPanelContext(); // Registering the panel item allows the panel to include it in its
31
+ registerPanelItem,
32
+ deregisterPanelItem,
33
+ flagItemCustomization,
34
+ isResetting,
35
+ shouldRenderPlaceholderItems: shouldRenderPlaceholder
36
+ } = useToolsPanelContext();
37
+ const hasValueCallback = useCallback(hasValue, [panelId]);
38
+ const resetAllFilterCallback = useCallback(resetAllFilter, [panelId]); // Registering the panel item allows the panel to include it in its
32
39
  // automatically generated menu and determine its initial checked status.
33
40
 
34
41
  useEffect(() => {
35
- registerPanelItem({
36
- hasValue,
37
- isShownByDefault,
38
- label
39
- });
40
- }, []);
41
- const isValueSet = hasValue(); // Note: `label` is used as a key when building menu item state in
42
+ if (currentPanelId === panelId) {
43
+ registerPanelItem({
44
+ hasValue: hasValueCallback,
45
+ isShownByDefault,
46
+ label,
47
+ resetAllFilter: resetAllFilterCallback,
48
+ panelId
49
+ });
50
+ }
51
+
52
+ return () => deregisterPanelItem(label);
53
+ }, [currentPanelId, panelId, isShownByDefault, label, hasValueCallback, resetAllFilterCallback]);
54
+ const isValueSet = hasValue();
55
+ const wasValueSet = usePrevious(isValueSet); // If this item represents a default control it will need to notify the
56
+ // panel when a custom value has been set.
57
+
58
+ useEffect(() => {
59
+ if (isShownByDefault && isValueSet && !wasValueSet) {
60
+ flagItemCustomization(label);
61
+ }
62
+ }, [isValueSet, wasValueSet, isShownByDefault, label]); // Note: `label` is used as a key when building menu item state in
42
63
  // `ToolsPanel`.
43
64
 
44
- const isMenuItemChecked = menuItems[label];
65
+ const menuGroup = isShownByDefault ? 'default' : 'optional';
66
+ const isMenuItemChecked = menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$menuGroup = menuItems[menuGroup]) === null || _menuItems$menuGroup === void 0 ? void 0 : _menuItems$menuGroup[label];
45
67
  const wasMenuItemChecked = usePrevious(isMenuItemChecked); // Determine if the panel item's corresponding menu is being toggled and
46
68
  // trigger appropriate callback if it is.
47
69
 
48
70
  useEffect(() => {
71
+ if (isResetting || currentPanelId !== panelId) {
72
+ return;
73
+ }
74
+
49
75
  if (isMenuItemChecked && !isValueSet && !wasMenuItemChecked) {
50
- onSelect();
76
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect();
51
77
  }
52
78
 
53
79
  if (!isMenuItemChecked && wasMenuItemChecked) {
54
- onDeselect();
80
+ onDeselect === null || onDeselect === void 0 ? void 0 : onDeselect();
55
81
  }
56
- }, [isMenuItemChecked, wasMenuItemChecked, isValueSet]);
82
+ }, [currentPanelId, isMenuItemChecked, isResetting, isValueSet, panelId, wasMenuItemChecked]); // The item is shown if it is a default control regardless of whether it
83
+ // has a value. Optional items are shown when they are checked or have
84
+ // a value.
85
+
86
+ const isShown = isShownByDefault ? (menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$menuGroup2 = menuItems[menuGroup]) === null || _menuItems$menuGroup2 === void 0 ? void 0 : _menuItems$menuGroup2[label]) !== undefined : isMenuItemChecked;
87
+ const cx = useCx();
88
+ const classes = useMemo(() => {
89
+ const placeholderStyle = shouldRenderPlaceholder && !isShown && styles.ToolsPanelItemPlaceholder;
90
+ return cx(styles.ToolsPanelItem, placeholderStyle, className);
91
+ }, [isShown, shouldRenderPlaceholder, className]);
57
92
  return { ...otherProps,
58
- isShown: isMenuItemChecked,
93
+ isShown,
94
+ shouldRenderPlaceholder,
59
95
  className: classes
60
96
  };
61
97
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.js"],"names":["usePrevious","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","onDeselect","undefined","onSelect","otherProps","cx","classes","ToolsPanelItem","menuItems","registerPanelItem","isValueSet","isMenuItemChecked","wasMenuItemChecked","isShown"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,oBAA5B;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,oBAAnC;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,oBAAT,QAAqC,YAArC;AACA,SAASC,gBAAT,QAAiC,kBAAjC;AACA,SAASC,KAAT,QAAsB,0BAAtB;AAEA,OAAO,SAASC,iBAAT,CAA4BC,KAA5B,EAAoC;AAC1C,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,gBAHK;AAILC,IAAAA,KAJK;AAKLC,IAAAA,UAAU,GAAG,MAAMC,SALd;AAMLC,IAAAA,QAAQ,GAAG,MAAMD,SANZ;AAOL,OAAGE;AAPE,MAQFX,gBAAgB,CAAEG,KAAF,EAAS,gBAAT,CARpB;AAUA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AACA,QAAMY,OAAO,GAAGhB,OAAO,CAAE,MAAM;AAC9B,WAAOe,EAAE,CAAEd,MAAM,CAACgB,cAAT,EAAyBV,SAAzB,CAAT;AACA,GAFsB,CAAvB;AAIA,QAAM;AAAEW,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAAmCjB,oBAAoB,EAA7D,CAhB0C,CAkB1C;AACA;;AACAH,EAAAA,SAAS,CAAE,MAAM;AAChBoB,IAAAA,iBAAiB,CAAE;AAClBX,MAAAA,QADkB;AAElBC,MAAAA,gBAFkB;AAGlBC,MAAAA;AAHkB,KAAF,CAAjB;AAKA,GANQ,EAMN,EANM,CAAT;AAQA,QAAMU,UAAU,GAAGZ,QAAQ,EAA3B,CA5B0C,CA8B1C;AACA;;AACA,QAAMa,iBAAiB,GAAGH,SAAS,CAAER,KAAF,CAAnC;AACA,QAAMY,kBAAkB,GAAGxB,WAAW,CAAEuB,iBAAF,CAAtC,CAjC0C,CAmC1C;AACA;;AACAtB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKsB,iBAAiB,IAAI,CAAED,UAAvB,IAAqC,CAAEE,kBAA5C,EAAiE;AAChET,MAAAA,QAAQ;AACR;;AAED,QAAK,CAAEQ,iBAAF,IAAuBC,kBAA5B,EAAiD;AAChDX,MAAAA,UAAU;AACV;AACD,GARQ,EAQN,CAAEU,iBAAF,EAAqBC,kBAArB,EAAyCF,UAAzC,CARM,CAAT;AAUA,SAAO,EACN,GAAGN,UADG;AAENS,IAAAA,OAAO,EAAEF,iBAFH;AAGNd,IAAAA,SAAS,EAAES;AAHL,GAAP;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport { useEffect, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nexport function useToolsPanelItem( props ) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\tonDeselect = () => undefined,\n\t\tonSelect = () => undefined,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.ToolsPanelItem, className );\n\t} );\n\n\tconst { menuItems, registerPanelItem } = useToolsPanelContext();\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\tuseEffect( () => {\n\t\tregisterPanelItem( {\n\t\t\thasValue,\n\t\t\tisShownByDefault,\n\t\t\tlabel,\n\t\t} );\n\t}, [] );\n\n\tconst isValueSet = hasValue();\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst isMenuItemChecked = menuItems[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect();\n\t\t}\n\t}, [ isMenuItemChecked, wasMenuItemChecked, isValueSet ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown: isMenuItemChecked,\n\t\tclassName: classes,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"names":["usePrevious","useCallback","useEffect","useMemo","styles","useToolsPanelContext","useContextSystem","useCx","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","currentPanelId","menuItems","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","hasValueCallback","resetAllFilterCallback","isValueSet","wasValueSet","menuGroup","isMenuItemChecked","wasMenuItemChecked","isShown","undefined","cx","classes","placeholderStyle","ToolsPanelItemPlaceholder","ToolsPanelItem"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport { useCallback, useEffect, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelItemProps } from '../types';\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter,\n\t\tonDeselect,\n\t\tonSelect,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst {\n\t\tpanelId: currentPanelId,\n\t\tmenuItems,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [ panelId ] );\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\tuseEffect( () => {\n\t\tif ( currentPanelId === panelId ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tresetAllFilter: resetAllFilterCallback,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => deregisterPanelItem( label );\n\t}, [\n\t\tcurrentPanelId,\n\t\tpanelId,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tresetAllFilterCallback,\n\t] );\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\n\t// If this item represents a default control it will need to notify the\n\t// panel when a custom value has been set.\n\tuseEffect( () => {\n\t\tif ( isShownByDefault && isValueSet && ! wasValueSet ) {\n\t\t\tflagItemCustomization( label );\n\t\t}\n\t}, [ isValueSet, wasValueSet, isShownByDefault, label ] );\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst menuGroup = isShownByDefault ? 'default' : 'optional';\n\tconst isMenuItemChecked = menuItems?.[ menuGroup ]?.[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\tif ( isResetting || currentPanelId !== panelId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect?.();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect?.();\n\t\t}\n\t}, [\n\t\tcurrentPanelId,\n\t\tisMenuItemChecked,\n\t\tisResetting,\n\t\tisValueSet,\n\t\tpanelId,\n\t\twasMenuItemChecked,\n\t] );\n\n\t// The item is shown if it is a default control regardless of whether it\n\t// has a value. Optional items are shown when they are checked or have\n\t// a value.\n\tconst isShown = isShownByDefault\n\t\t? menuItems?.[ menuGroup ]?.[ label ] !== undefined\n\t\t: isMenuItemChecked;\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst placeholderStyle =\n\t\t\tshouldRenderPlaceholder &&\n\t\t\t! isShown &&\n\t\t\tstyles.ToolsPanelItemPlaceholder;\n\t\treturn cx( styles.ToolsPanelItem, placeholderStyle, className );\n\t}, [ isShown, shouldRenderPlaceholder, className ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/index.js"],"names":["default","useToolsPanelItem"],"mappings":"AAAA,SAASA,OAAT,QAAwB,aAAxB;AACA,SAASC,iBAAT,QAAkC,QAAlC","sourcesContent":["export { default } from './component';\nexport { useToolsPanelItem } from './hook';\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-item/index.ts"],"names":["default","useToolsPanelItem"],"mappings":"AAAA,SAASA,OAAT,QAAwB,aAAxB;AACA,SAASC,iBAAT,QAAkC,QAAlC","sourcesContent":["export { default } from './component';\nexport { useToolsPanelItem } from './hook';\n"]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -36,7 +36,7 @@ const getDisabledElement = ({
36
36
  className: "disabled-element-wrapper"
37
37
  }, cloneElement(eventCatcher, eventHandlers), cloneElement(child, {
38
38
  children: childrenWithPopover
39
- }), ","), eventHandlers);
39
+ })), eventHandlers);
40
40
 
41
41
  const getRegularElement = ({
42
42
  child,
@@ -69,7 +69,11 @@ const emitToChild = (children, eventName, event) => {
69
69
  return;
70
70
  }
71
71
 
72
- const child = Children.only(children);
72
+ const child = Children.only(children); // If the underlying element is disabled, do not emit the event.
73
+
74
+ if (child.props.disabled) {
75
+ return;
76
+ }
73
77
 
74
78
  if (typeof child.props[eventName] === 'function') {
75
79
  child.props[eventName](event);
@@ -80,7 +84,8 @@ function Tooltip({
80
84
  children,
81
85
  position,
82
86
  text,
83
- shortcut
87
+ shortcut,
88
+ delay = TOOLTIP_DELAY
84
89
  }) {
85
90
  /**
86
91
  * Whether a mouse is currently pressed, used in determining whether
@@ -90,7 +95,7 @@ function Tooltip({
90
95
  */
91
96
  const [isMouseDown, setIsMouseDown] = useState(false);
92
97
  const [isOver, setIsOver] = useState(false);
93
- const delayedSetIsOver = useDebounce(setIsOver, TOOLTIP_DELAY);
98
+ const delayedSetIsOver = useDebounce(setIsOver, delay);
94
99
 
95
100
  const createMouseDown = event => {
96
101
  // Preserve original child callback behavior
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["includes","Children","cloneElement","concatChildren","useEffect","useState","useDebounce","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","children","getRegularElement","addPopoverToGrandchildren","grandchildren","isOver","position","text","shortcut","emitToChild","eventName","event","count","only","props","Tooltip","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","createMouseDown","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","disabled","cancel","_isOver","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 * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce } 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 = ( { eventHandlers, child, childrenWithPopover } ) =>\n\tcloneElement(\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} ) }\n\t\t\t,\n\t\t</span>,\n\t\teventHandlers\n\t);\n\nconst getRegularElement = ( { child, eventHandlers, childrenWithPopover } ) =>\n\tcloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t} );\n\nconst addPopoverToGrandchildren = ( {\n\tgrandchildren,\n\tisOver,\n\tposition,\n\ttext,\n\tshortcut,\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=\"components-tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\tnoArrow={ true }\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\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\tchild.props[ eventName ]( event );\n\t}\n};\n\nfunction Tooltip( { children, position, text, shortcut } ) {\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, TOOLTIP_DELAY );\n\n\tconst createMouseDown = ( event ) => {\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\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 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 = includes( [ 'focus', 'mouseenter' ], 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\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\tisOver,\n\t\tposition,\n\t\ttext,\n\t\tshortcut,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t} );\n}\n\nexport default Tooltip;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/tooltip/index.js"],"names":["includes","Children","cloneElement","concatChildren","useEffect","useState","useDebounce","Popover","Shortcut","TOOLTIP_DELAY","eventCatcher","getDisabledElement","eventHandlers","child","childrenWithPopover","children","getRegularElement","addPopoverToGrandchildren","grandchildren","isOver","position","text","shortcut","emitToChild","eventName","event","count","only","props","disabled","Tooltip","delay","isMouseDown","setIsMouseDown","setIsOver","delayedSetIsOver","createMouseDown","document","addEventListener","cancelIsMouseDown","createMouseUp","removeEventListener","createMouseEvent","type","createToggleIsOver","isDelayed","currentTarget","cancel","_isOver","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 * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebounce } 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 = ( { eventHandlers, child, childrenWithPopover } ) =>\n\tcloneElement(\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} ) }\n\t\t</span>,\n\t\teventHandlers\n\t);\n\nconst getRegularElement = ( { child, eventHandlers, childrenWithPopover } ) =>\n\tcloneElement( child, {\n\t\t...eventHandlers,\n\t\tchildren: childrenWithPopover,\n\t} );\n\nconst addPopoverToGrandchildren = ( {\n\tgrandchildren,\n\tisOver,\n\tposition,\n\ttext,\n\tshortcut,\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=\"components-tooltip\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tanimate={ false }\n\t\t\t\tnoArrow={ true }\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( {\n\tchildren,\n\tposition,\n\ttext,\n\tshortcut,\n\tdelay = TOOLTIP_DELAY,\n} ) {\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\n\tconst createMouseDown = ( event ) => {\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\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 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 = includes( [ 'focus', 'mouseenter' ], 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\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\tisOver,\n\t\tposition,\n\t\ttext,\n\t\tshortcut,\n\t};\n\tconst childrenWithPopover = addPopoverToGrandchildren( {\n\t\tgrandchildren,\n\t\t...popoverData,\n\t} );\n\n\treturn getElementWithPopover( {\n\t\tchild,\n\t\teventHandlers,\n\t\tchildrenWithPopover,\n\t} );\n}\n\nexport default Tooltip;\n"]}
@@ -241,7 +241,8 @@ const TooltipSlot = ({
241
241
  }, createElement(View, {
242
242
  onTouchStart: typeof handleScreenTouch === 'function' ? handleTouchStart : undefined,
243
243
  pointerEvents: "box-none",
244
- style: StyleSheet.absoluteFill
244
+ style: StyleSheet.absoluteFill,
245
+ testID: "tooltip-overlay"
245
246
  }, children, createElement(Slot, rest)));
246
247
  };
247
248
 
@@ -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":"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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}, [] );\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}, [ 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}, [ 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}, [ 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\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>\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}, [] );\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}, [ 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}, [ 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}, [ 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\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"]}
@@ -27,7 +27,9 @@ import RovingTabIndexContainer from './roving-tab-index';
27
27
  */
28
28
 
29
29
  function getRowFocusables(rowElement) {
30
- const focusablesInRow = focus.focusable.find(rowElement);
30
+ const focusablesInRow = focus.focusable.find(rowElement, {
31
+ sequential: true
32
+ });
31
33
 
32
34
  if (!focusablesInRow || !focusablesInRow.length) {
33
35
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/tree-grid/index.js"],"names":["includes","focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","length","filter","closest","TreeGrid","children","onExpandRow","onCollapseRow","props","ref","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","shiftKey","hasModifierKeyPressed","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","nextIndex","Math","max","min","ariaExpanded","preventDefault","level","parseInt","ariaLevel","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","focusableItems","nextRowIndex","focusablesInNextRow","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param {Element} rowElement The DOM element representing the row.\n *\n * @return {?Array} The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement );\n\n\tif ( ! focusablesInRow || ! focusablesInRow.length ) {\n\t\treturn;\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 * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n * @param {Object} props Component props.\n * @param {WPElement} props.children Children to be rendered.\n * @param {Function} props.onExpandRow Callback to fire when row is expanded.\n * @param {Function} props.onCollapseRow Callback to fire when row is collapsed.\n * @param {Object} ref A ref to the underlying DOM table element.\n */\nfunction TreeGrid(\n\t{ children, onExpandRow = () => {}, onCollapseRow = () => {}, ...props },\n\tref\n) {\n\tconst onKeyDown = useCallback( ( event ) => {\n\t\tconst { keyCode, metaKey, ctrlKey, altKey, shiftKey } = event;\n\n\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey || shiftKey;\n\n\t\tif (\n\t\t\thasModifierKeyPressed ||\n\t\t\t! includes( [ UP, DOWN, LEFT, RIGHT ], keyCode )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The event will be handled, stop propagation.\n\t\tevent.stopPropagation();\n\n\t\tconst { activeElement } = document;\n\t\tconst { currentTarget: treeGridElement } = event;\n\t\tif ( ! treeGridElement.contains( activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate the columnIndex of the active element.\n\t\tconst activeRow = activeElement.closest( '[role=\"row\"]' );\n\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\tconst currentColumnIndex = focusablesInRow.indexOf( activeElement );\n\n\t\tif ( includes( [ LEFT, RIGHT ], keyCode ) ) {\n\t\t\t// Calculate to the next element.\n\t\t\tlet nextIndex;\n\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Focus is either at the left or right edge of the grid.\n\t\t\tif ( nextIndex === currentColumnIndex ) {\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t// Left:\n\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'true' ) {\n\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\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\tconst level = Math.max(\n\t\t\t\t\t\tparseInt( activeRow?.ariaLevel ?? 1, 10 ) - 1,\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t\t);\n\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tif ( parseInt( rows[ i ].ariaLevel, 10 ) === level ) {\n\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// Right:\n\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'false' ) {\n\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// If a row is focused, and it is expanded, focuses the rightmost cell in the row.\n\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\tfocusableItems[ focusableItems.length - 1 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t// keys.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Focus the next element.\n\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t} else if ( includes( [ UP, DOWN ], keyCode ) ) {\n\t\t\t// Calculate the rowIndex of the next row.\n\t\t\tconst rows = Array.from(\n\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t);\n\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\tlet nextRowIndex;\n\n\t\t\tif ( keyCode === UP ) {\n\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextRowIndex = Math.min( currentRowIndex + 1, rows.length - 1 );\n\t\t\t}\n\n\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t// bounds of a table.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the focusables in the next row.\n\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\trows[ nextRowIndex ]\n\t\t\t);\n\n\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\tconst nextIndex = Math.min(\n\t\t\t\tcurrentColumnIndex,\n\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t);\n\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t}\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<table\n\t\t\t\t{ ...props }\n\t\t\t\trole=\"treegrid\"\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t</table>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( 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.js"],"names":["includes","focus","forwardRef","useCallback","UP","DOWN","LEFT","RIGHT","RovingTabIndexContainer","getRowFocusables","rowElement","focusablesInRow","focusable","find","sequential","length","filter","closest","TreeGrid","children","onExpandRow","onCollapseRow","props","ref","onKeyDown","event","keyCode","metaKey","ctrlKey","altKey","shiftKey","hasModifierKeyPressed","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","nextIndex","Math","max","min","ariaExpanded","preventDefault","level","parseInt","ariaLevel","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","focusableItems","nextRowIndex","focusablesInNextRow","default","TreeGridRow","TreeGridCell","TreeGridItem"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param {Element} rowElement The DOM element representing the row.\n *\n * @return {?Array} The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\tif ( ! focusablesInRow || ! focusablesInRow.length ) {\n\t\treturn;\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 * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/components/src/tree-grid/README.md\n * @param {Object} props Component props.\n * @param {WPElement} props.children Children to be rendered.\n * @param {Function} props.onExpandRow Callback to fire when row is expanded.\n * @param {Function} props.onCollapseRow Callback to fire when row is collapsed.\n * @param {Object} ref A ref to the underlying DOM table element.\n */\nfunction TreeGrid(\n\t{ children, onExpandRow = () => {}, onCollapseRow = () => {}, ...props },\n\tref\n) {\n\tconst onKeyDown = useCallback( ( event ) => {\n\t\tconst { keyCode, metaKey, ctrlKey, altKey, shiftKey } = event;\n\n\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey || shiftKey;\n\n\t\tif (\n\t\t\thasModifierKeyPressed ||\n\t\t\t! includes( [ UP, DOWN, LEFT, RIGHT ], keyCode )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The event will be handled, stop propagation.\n\t\tevent.stopPropagation();\n\n\t\tconst { activeElement } = document;\n\t\tconst { currentTarget: treeGridElement } = event;\n\t\tif ( ! treeGridElement.contains( activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate the columnIndex of the active element.\n\t\tconst activeRow = activeElement.closest( '[role=\"row\"]' );\n\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\tconst currentColumnIndex = focusablesInRow.indexOf( activeElement );\n\n\t\tif ( includes( [ LEFT, RIGHT ], keyCode ) ) {\n\t\t\t// Calculate to the next element.\n\t\t\tlet nextIndex;\n\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Focus is either at the left or right edge of the grid.\n\t\t\tif ( nextIndex === currentColumnIndex ) {\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t// Left:\n\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'true' ) {\n\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\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\tconst level = Math.max(\n\t\t\t\t\t\tparseInt( activeRow?.ariaLevel ?? 1, 10 ) - 1,\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t\t\t);\n\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tif ( parseInt( rows[ i ].ariaLevel, 10 ) === level ) {\n\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t} else {\n\t\t\t\t\t// Right:\n\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\tif ( activeRow?.ariaExpanded === 'false' ) {\n\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// If a row is focused, and it is expanded, focuses the rightmost cell in the row.\n\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\tfocusableItems[ focusableItems.length - 1 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t// keys.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Focus the next element.\n\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t} else if ( includes( [ UP, DOWN ], keyCode ) ) {\n\t\t\t// Calculate the rowIndex of the next row.\n\t\t\tconst rows = Array.from(\n\t\t\t\ttreeGridElement.querySelectorAll( '[role=\"row\"]' )\n\t\t\t);\n\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\tlet nextRowIndex;\n\n\t\t\tif ( keyCode === UP ) {\n\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t} else {\n\t\t\t\tnextRowIndex = Math.min( currentRowIndex + 1, rows.length - 1 );\n\t\t\t}\n\n\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t// bounds of a table.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get the focusables in the next row.\n\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\trows[ nextRowIndex ]\n\t\t\t);\n\n\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\tconst nextIndex = Math.min(\n\t\t\t\tcurrentColumnIndex,\n\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t);\n\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t// doesn't try to handle key navigation.\n\t\t\tevent.preventDefault();\n\t\t}\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<table\n\t\t\t\t{ ...props }\n\t\t\t\trole=\"treegrid\"\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t</table>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( TreeGrid );\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"]}
@@ -1,8 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { createElement } from "@wordpress/element";
3
+
1
4
  /**
2
5
  * Internal dependencies
3
6
  */
4
- import { createComponent } from '../ui/utils';
7
+ import { contextConnect } from '../ui/context';
8
+ import { View } from '../view';
5
9
  import useTruncate from './hook';
10
+ /**
11
+ * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props
12
+ * @param {import('react').Ref<any>} forwardedRef
13
+ */
14
+
15
+ function Truncate(props, forwardedRef) {
16
+ const truncateProps = useTruncate(props);
17
+ return createElement(View, _extends({
18
+ as: "span"
19
+ }, truncateProps, {
20
+ ref: forwardedRef
21
+ }));
22
+ }
6
23
  /**
7
24
  * `Truncate` is a typography primitive that trims text content.
8
25
  * For almost all cases, it is recommended that `Text`, `Heading`, or
@@ -25,10 +42,7 @@ import useTruncate from './hook';
25
42
  * ```
26
43
  */
27
44
 
28
- const Truncate = createComponent({
29
- as: 'span',
30
- useHook: useTruncate,
31
- name: 'Truncate'
32
- });
33
- export default Truncate;
45
+
46
+ const ConnectedTruncate = contextConnect(Truncate, 'Truncate');
47
+ export default ConnectedTruncate;
34
48
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/truncate/component.js"],"names":["createComponent","useTruncate","Truncate","as","useHook","name"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAT,QAAgC,aAAhC;AACA,OAAOC,WAAP,MAAwB,QAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAGF,eAAe,CAAE;AACjCG,EAAAA,EAAE,EAAE,MAD6B;AAEjCC,EAAAA,OAAO,EAAEH,WAFwB;AAGjCI,EAAAA,IAAI,EAAE;AAH2B,CAAF,CAAhC;AAMA,eAAeH,QAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { createComponent } from '../ui/utils';\nimport useTruncate from './hook';\n\n/**\n * `Truncate` is a typography primitive that trims text content.\n * For almost all cases, it is recommended that `Text`, `Heading`, or\n * `Subheading` is used to render text content. However,`Truncate` is\n * available for custom implementations.\n *\n * @example\n * ```jsx\n * import { __experimentalTruncate as Truncate } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Truncate>\n * \t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ex\n * \t\t\tneque, vulputate a diam et, luctus convallis lacus. Vestibulum ac\n * \t\t\tmollis mi. Morbi id elementum massa.\n * \t\t</Truncate>\n * \t);\n * }\n * ```\n */\nconst Truncate = createComponent( {\n\tas: 'span',\n\tuseHook: useTruncate,\n\tname: 'Truncate',\n} );\n\nexport default Truncate;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/truncate/component.js"],"names":["contextConnect","View","useTruncate","Truncate","props","forwardedRef","truncateProps","ConnectedTruncate"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,eAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,OAAOC,WAAP,MAAwB,QAAxB;AAEA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAyC;AACxC,QAAMC,aAAa,GAAGJ,WAAW,CAAEE,KAAF,CAAjC;AAEA,SAAO,cAAC,IAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAAqBE,aAArB;AAAqC,IAAA,GAAG,EAAGD;AAA3C,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,iBAAiB,GAAGP,cAAc,CAAEG,QAAF,EAAY,UAAZ,CAAxC;AAEA,eAAeI,iBAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport useTruncate from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction Truncate( props, forwardedRef ) {\n\tconst truncateProps = useTruncate( props );\n\n\treturn <View as=\"span\" { ...truncateProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Truncate` is a typography primitive that trims text content.\n * For almost all cases, it is recommended that `Text`, `Heading`, or\n * `Subheading` is used to render text content. However,`Truncate` is\n * available for custom implementations.\n *\n * @example\n * ```jsx\n * import { __experimentalTruncate as Truncate } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Truncate>\n * \t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ex\n * \t\t\tneque, vulputate a diam et, luctus convallis lacus. Vestibulum ac\n * \t\t\tmollis mi. Morbi id elementum massa.\n * \t\t</Truncate>\n * \t);\n * }\n * ```\n */\nconst ConnectedTruncate = contextConnect( Truncate, 'Truncate' );\n\nexport default ConnectedTruncate;\n"]}
@@ -16,7 +16,7 @@ import * as styles from './styles';
16
16
  import { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';
17
17
  import { useCx } from '../utils/hooks/use-cx';
18
18
  /**
19
- * @param {import('../ui/context').PolymorphicComponentProps<import('./types').Props, 'span'>} props
19
+ * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props
20
20
  */
21
21
 
22
22
  export default function useTruncate(props) {
@@ -41,7 +41,7 @@ export default function useTruncate(props) {
41
41
  const shouldTruncate = ellipsizeMode === TRUNCATE_TYPE.auto;
42
42
  const classes = useMemo(() => {
43
43
  const sx = {};
44
- sx.numberOfLines = /*#__PURE__*/css("-webkit-box-orient:vertical;-webkit-line-clamp:", numberOfLines, ";display:-webkit-box;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:sx-numberOfLines;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRHdCIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgVFJVTkNBVEVfRUxMSVBTSVMsIFRSVU5DQVRFX1RZUEUsIHRydW5jYXRlQ29udGVudCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi91dGlscy9ob29rcy91c2UtY3gnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi91aS9jb250ZXh0JykuUG9seW1vcnBoaWNDb21wb25lbnRQcm9wczxpbXBvcnQoJy4vdHlwZXMnKS5Qcm9wcywgJ3NwYW4nPn0gcHJvcHNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlVHJ1bmNhdGUoIHByb3BzICkge1xuXHRjb25zdCB7XG5cdFx0Y2xhc3NOYW1lLFxuXHRcdGNoaWxkcmVuLFxuXHRcdGVsbGlwc2lzID0gVFJVTkNBVEVfRUxMSVBTSVMsXG5cdFx0ZWxsaXBzaXplTW9kZSA9IFRSVU5DQVRFX1RZUEUuYXV0byxcblx0XHRsaW1pdCA9IDAsXG5cdFx0bnVtYmVyT2ZMaW5lcyA9IDAsXG5cdFx0Li4ub3RoZXJQcm9wc1xuXHR9ID0gdXNlQ29udGV4dFN5c3RlbSggcHJvcHMsICdUcnVuY2F0ZScgKTtcblxuXHRjb25zdCBjeCA9IHVzZUN4KCk7XG5cblx0Y29uc3QgdHJ1bmNhdGVkQ29udGVudCA9IHRydW5jYXRlQ29udGVudChcblx0XHR0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnID8gLyoqIEB0eXBlIHtzdHJpbmd9ICovICggY2hpbGRyZW4gKSA6ICcnLFxuXHRcdHtcblx0XHRcdGVsbGlwc2lzLFxuXHRcdFx0ZWxsaXBzaXplTW9kZSxcblx0XHRcdGxpbWl0LFxuXHRcdFx0bnVtYmVyT2ZMaW5lcyxcblx0XHR9XG5cdCk7XG5cblx0Y29uc3Qgc2hvdWxkVHJ1bmNhdGUgPSBlbGxpcHNpemVNb2RlID09PSBUUlVOQ0FURV9UWVBFLmF1dG87XG5cblx0Y29uc3QgY2xhc3NlcyA9IHVzZU1lbW8oICgpID0+IHtcblx0XHRjb25zdCBzeCA9IHt9O1xuXG5cdFx0c3gubnVtYmVyT2ZMaW5lcyA9IGNzc2Bcblx0XHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdFx0XHQtd2Via2l0LWxpbmUtY2xhbXA6ICR7IG51bWJlck9mTGluZXMgfTtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRgO1xuXG5cdFx0cmV0dXJuIGN4KFxuXHRcdFx0c2hvdWxkVHJ1bmNhdGUgJiYgISBudW1iZXJPZkxpbmVzICYmIHN0eWxlcy5UcnVuY2F0ZSxcblx0XHRcdHNob3VsZFRydW5jYXRlICYmICEhIG51bWJlck9mTGluZXMgJiYgc3gubnVtYmVyT2ZMaW5lcyxcblx0XHRcdGNsYXNzTmFtZVxuXHRcdCk7XG5cdH0sIFsgY2xhc3NOYW1lLCBudW1iZXJPZkxpbmVzLCBzaG91bGRUcnVuY2F0ZSBdICk7XG5cblx0cmV0dXJuIHsgLi4ub3RoZXJQcm9wcywgY2xhc3NOYW1lOiBjbGFzc2VzLCBjaGlsZHJlbjogdHJ1bmNhdGVkQ29udGVudCB9O1xufVxuIl19 */");
44
+ sx.numberOfLines = /*#__PURE__*/css("-webkit-box-orient:vertical;-webkit-line-clamp:", numberOfLines, ";display:-webkit-box;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:sx-numberOfLines;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRHdCIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgVFJVTkNBVEVfRUxMSVBTSVMsIFRSVU5DQVRFX1RZUEUsIHRydW5jYXRlQ29udGVudCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi91dGlscy9ob29rcy91c2UtY3gnO1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi91aS9jb250ZXh0JykuV29yZFByZXNzQ29tcG9uZW50UHJvcHM8aW1wb3J0KCcuL3R5cGVzJykuUHJvcHMsICdzcGFuJz59IHByb3BzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVRydW5jYXRlKCBwcm9wcyApIHtcblx0Y29uc3Qge1xuXHRcdGNsYXNzTmFtZSxcblx0XHRjaGlsZHJlbixcblx0XHRlbGxpcHNpcyA9IFRSVU5DQVRFX0VMTElQU0lTLFxuXHRcdGVsbGlwc2l6ZU1vZGUgPSBUUlVOQ0FURV9UWVBFLmF1dG8sXG5cdFx0bGltaXQgPSAwLFxuXHRcdG51bWJlck9mTGluZXMgPSAwLFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVHJ1bmNhdGUnICk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXG5cdGNvbnN0IHRydW5jYXRlZENvbnRlbnQgPSB0cnVuY2F0ZUNvbnRlbnQoXG5cdFx0dHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJyA/IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoIGNoaWxkcmVuICkgOiAnJyxcblx0XHR7XG5cdFx0XHRlbGxpcHNpcyxcblx0XHRcdGVsbGlwc2l6ZU1vZGUsXG5cdFx0XHRsaW1pdCxcblx0XHRcdG51bWJlck9mTGluZXMsXG5cdFx0fVxuXHQpO1xuXG5cdGNvbnN0IHNob3VsZFRydW5jYXRlID0gZWxsaXBzaXplTW9kZSA9PT0gVFJVTkNBVEVfVFlQRS5hdXRvO1xuXG5cdGNvbnN0IGNsYXNzZXMgPSB1c2VNZW1vKCAoKSA9PiB7XG5cdFx0Y29uc3Qgc3ggPSB7fTtcblxuXHRcdHN4Lm51bWJlck9mTGluZXMgPSBjc3NgXG5cdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAkeyBudW1iZXJPZkxpbmVzIH07XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YDtcblxuXHRcdHJldHVybiBjeChcblx0XHRcdHNob3VsZFRydW5jYXRlICYmICEgbnVtYmVyT2ZMaW5lcyAmJiBzdHlsZXMuVHJ1bmNhdGUsXG5cdFx0XHRzaG91bGRUcnVuY2F0ZSAmJiAhISBudW1iZXJPZkxpbmVzICYmIHN4Lm51bWJlck9mTGluZXMsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbIGNsYXNzTmFtZSwgbnVtYmVyT2ZMaW5lcywgc2hvdWxkVHJ1bmNhdGUgXSApO1xuXG5cdHJldHVybiB7IC4uLm90aGVyUHJvcHMsIGNsYXNzTmFtZTogY2xhc3NlcywgY2hpbGRyZW46IHRydW5jYXRlZENvbnRlbnQgfTtcbn1cbiJdfQ== */");
45
45
  return cx(shouldTruncate && !numberOfLines && styles.Truncate, shouldTruncate && !!numberOfLines && sx.numberOfLines, className);
46
46
  }, [className, numberOfLines, shouldTruncate]);
47
47
  return { ...otherProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/truncate/hook.js"],"names":["css","useMemo","useContextSystem","styles","TRUNCATE_ELLIPSIS","TRUNCATE_TYPE","truncateContent","useCx","useTruncate","props","className","children","ellipsis","ellipsizeMode","auto","limit","numberOfLines","otherProps","cx","truncatedContent","shouldTruncate","classes","sx","Truncate"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,EAA2CC,eAA3C,QAAkE,SAAlE;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC5C,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,QAAQ,GAAGR,iBAHN;AAILS,IAAAA,aAAa,GAAGR,aAAa,CAACS,IAJzB;AAKLC,IAAAA,KAAK,GAAG,CALH;AAMLC,IAAAA,aAAa,GAAG,CANX;AAOL,OAAGC;AAPE,MAQFf,gBAAgB,CAAEO,KAAF,EAAS,UAAT,CARpB;AAUA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AAEA,QAAMY,gBAAgB,GAAGb,eAAe,CACvC,OAAOK,QAAP,KAAoB,QAApB;AAA+B;AAAwBA,EAAAA,QAAvD,GAAoE,EAD7B,EAEvC;AACCC,IAAAA,QADD;AAECC,IAAAA,aAFD;AAGCE,IAAAA,KAHD;AAICC,IAAAA;AAJD,GAFuC,CAAxC;AAUA,QAAMI,cAAc,GAAGP,aAAa,KAAKR,aAAa,CAACS,IAAvD;AAEA,QAAMO,OAAO,GAAGpB,OAAO,CAAE,MAAM;AAC9B,UAAMqB,EAAE,GAAG,EAAX;AAEAA,IAAAA,EAAE,CAACN,aAAH,gBAAmBhB,GAAnB,oDAEwBgB,aAFxB;AAOA,WAAOE,EAAE,CACRE,cAAc,IAAI,CAAEJ,aAApB,IAAqCb,MAAM,CAACoB,QADpC,EAERH,cAAc,IAAI,CAAC,CAAEJ,aAArB,IAAsCM,EAAE,CAACN,aAFjC,EAGRN,SAHQ,CAAT;AAKA,GAfsB,EAepB,CAAEA,SAAF,EAAaM,aAAb,EAA4BI,cAA5B,CAfoB,CAAvB;AAiBA,SAAO,EAAE,GAAGH,UAAL;AAAiBP,IAAAA,SAAS,EAAEW,OAA5B;AAAqCV,IAAAA,QAAQ,EAAEQ;AAA/C,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').PolymorphicComponentProps<import('./types').Props, 'span'>} props\n */\nexport default function useTruncate( props ) {\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tellipsis = TRUNCATE_ELLIPSIS,\n\t\tellipsizeMode = TRUNCATE_TYPE.auto,\n\t\tlimit = 0,\n\t\tnumberOfLines = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Truncate' );\n\n\tconst cx = useCx();\n\n\tconst truncatedContent = truncateContent(\n\t\ttypeof children === 'string' ? /** @type {string} */ ( children ) : '',\n\t\t{\n\t\t\tellipsis,\n\t\t\tellipsizeMode,\n\t\t\tlimit,\n\t\t\tnumberOfLines,\n\t\t}\n\t);\n\n\tconst shouldTruncate = ellipsizeMode === TRUNCATE_TYPE.auto;\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tsx.numberOfLines = css`\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: ${ numberOfLines };\n\t\t\tdisplay: -webkit-box;\n\t\t\toverflow: hidden;\n\t\t`;\n\n\t\treturn cx(\n\t\t\tshouldTruncate && ! numberOfLines && styles.Truncate,\n\t\t\tshouldTruncate && !! numberOfLines && sx.numberOfLines,\n\t\t\tclassName\n\t\t);\n\t}, [ className, numberOfLines, shouldTruncate ] );\n\n\treturn { ...otherProps, className: classes, children: truncatedContent };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/truncate/hook.js"],"names":["css","useMemo","useContextSystem","styles","TRUNCATE_ELLIPSIS","TRUNCATE_TYPE","truncateContent","useCx","useTruncate","props","className","children","ellipsis","ellipsizeMode","auto","limit","numberOfLines","otherProps","cx","truncatedContent","shouldTruncate","classes","sx","Truncate"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,EAA2CC,eAA3C,QAAkE,SAAlE;AACA,SAASC,KAAT,QAAsB,uBAAtB;AAEA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC5C,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,QAAQ,GAAGR,iBAHN;AAILS,IAAAA,aAAa,GAAGR,aAAa,CAACS,IAJzB;AAKLC,IAAAA,KAAK,GAAG,CALH;AAMLC,IAAAA,aAAa,GAAG,CANX;AAOL,OAAGC;AAPE,MAQFf,gBAAgB,CAAEO,KAAF,EAAS,UAAT,CARpB;AAUA,QAAMS,EAAE,GAAGX,KAAK,EAAhB;AAEA,QAAMY,gBAAgB,GAAGb,eAAe,CACvC,OAAOK,QAAP,KAAoB,QAApB;AAA+B;AAAwBA,EAAAA,QAAvD,GAAoE,EAD7B,EAEvC;AACCC,IAAAA,QADD;AAECC,IAAAA,aAFD;AAGCE,IAAAA,KAHD;AAICC,IAAAA;AAJD,GAFuC,CAAxC;AAUA,QAAMI,cAAc,GAAGP,aAAa,KAAKR,aAAa,CAACS,IAAvD;AAEA,QAAMO,OAAO,GAAGpB,OAAO,CAAE,MAAM;AAC9B,UAAMqB,EAAE,GAAG,EAAX;AAEAA,IAAAA,EAAE,CAACN,aAAH,gBAAmBhB,GAAnB,oDAEwBgB,aAFxB;AAOA,WAAOE,EAAE,CACRE,cAAc,IAAI,CAAEJ,aAApB,IAAqCb,MAAM,CAACoB,QADpC,EAERH,cAAc,IAAI,CAAC,CAAEJ,aAArB,IAAsCM,EAAE,CAACN,aAFjC,EAGRN,SAHQ,CAAT;AAKA,GAfsB,EAepB,CAAEA,SAAF,EAAaM,aAAb,EAA4BI,cAA5B,CAfoB,CAAvB;AAiBA,SAAO,EAAE,GAAGH,UAAL;AAAiBP,IAAAA,SAAS,EAAEW,OAA5B;AAAqCV,IAAAA,QAAQ,EAAEQ;AAA/C,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'span'>} props\n */\nexport default function useTruncate( props ) {\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tellipsis = TRUNCATE_ELLIPSIS,\n\t\tellipsizeMode = TRUNCATE_TYPE.auto,\n\t\tlimit = 0,\n\t\tnumberOfLines = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Truncate' );\n\n\tconst cx = useCx();\n\n\tconst truncatedContent = truncateContent(\n\t\ttypeof children === 'string' ? /** @type {string} */ ( children ) : '',\n\t\t{\n\t\t\tellipsis,\n\t\t\tellipsizeMode,\n\t\t\tlimit,\n\t\t\tnumberOfLines,\n\t\t}\n\t);\n\n\tconst shouldTruncate = ellipsizeMode === TRUNCATE_TYPE.auto;\n\n\tconst classes = useMemo( () => {\n\t\tconst sx = {};\n\n\t\tsx.numberOfLines = css`\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: ${ numberOfLines };\n\t\t\tdisplay: -webkit-box;\n\t\t\toverflow: hidden;\n\t\t`;\n\n\t\treturn cx(\n\t\t\tshouldTruncate && ! numberOfLines && styles.Truncate,\n\t\t\tshouldTruncate && !! numberOfLines && sx.numberOfLines,\n\t\t\tclassName\n\t\t);\n\t}, [ className, numberOfLines, shouldTruncate ] );\n\n\treturn { ...otherProps, className: classes, children: truncatedContent };\n}\n"]}
@@ -24,12 +24,12 @@ import { getStyledClassNameFromKey } from './get-styled-class-name-from-key';
24
24
  * The hope is that we can improve render performance by removing functional
25
25
  * component wrappers.
26
26
  *
27
- * @template {import('./polymorphic-component').PolymorphicComponentProps<{}, any, any>} P
27
+ * @template {import('./wordpress-component').WordPressComponentProps<{}, any, any>} P
28
28
  * @param {(props: P, ref: import('react').Ref<any>) => JSX.Element | null} Component The component to register into the Context system.
29
29
  * @param {string} namespace The namespace to register the component under.
30
30
  * @param {Object} options
31
31
  * @param {boolean} [options.memo=false]
32
- * @return {import('./polymorphic-component').PolymorphicComponentFromProps<P>} The connected PolymorphicComponent
32
+ * @return {import('./wordpress-component').WordPressComponentFromProps<P>} The connected WordPressComponent
33
33
  */
34
34
 
35
35
  export function contextConnect(Component, namespace, options = {}) {
@@ -64,7 +64,7 @@ export function contextConnect(Component, namespace, options = {}) {
64
64
 
65
65
  WrappedComponent.displayName = namespace; // @ts-ignore internal property
66
66
 
67
- WrappedComponent[CONNECT_STATIC_NAMESPACE] = uniq(mergedNamespace); // @ts-ignore PolymorphicComponent property
67
+ WrappedComponent[CONNECT_STATIC_NAMESPACE] = uniq(mergedNamespace); // @ts-ignore WordPressComponent property
68
68
 
69
69
  WrappedComponent.selector = `.${getStyledClassNameFromKey(namespace)}`; // @ts-ignore
70
70