@wordpress/components 19.4.1-next.f435e9e01b.0 → 19.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (944) hide show
  1. package/CHANGELOG.md +37 -4
  2. package/CONTRIBUTING.md +69 -2
  3. package/build/alignment-matrix-control/utils.js +1 -1
  4. package/build/alignment-matrix-control/utils.js.map +1 -1
  5. package/build/angle-picker-control/angle-circle.js +1 -1
  6. package/build/angle-picker-control/angle-circle.js.map +1 -1
  7. package/build/animation/index.js +0 -6
  8. package/build/animation/index.js.map +1 -1
  9. package/build/autocomplete/get-default-use-items.js +3 -3
  10. package/build/autocomplete/get-default-use-items.js.map +1 -1
  11. package/build/base-field/hook.js +1 -1
  12. package/build/base-field/hook.js.map +1 -1
  13. package/build/box-control/icon.js +1 -1
  14. package/build/box-control/icon.js.map +1 -1
  15. package/build/box-control/index.js +4 -4
  16. package/build/box-control/index.js.map +1 -1
  17. package/build/box-control/unit-control.js +2 -2
  18. package/build/box-control/unit-control.js.map +1 -1
  19. package/build/box-control/utils.js +12 -8
  20. package/build/box-control/utils.js.map +1 -1
  21. package/build/button/index.js +5 -5
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/index.native.js +7 -7
  24. package/build/button/index.native.js.map +1 -1
  25. package/build/card/card/component.js +2 -2
  26. package/build/card/card/component.js.map +1 -1
  27. package/build/card/card-body/component.js +1 -1
  28. package/build/card/card-body/component.js.map +1 -1
  29. package/build/card/card-divider/component.js +1 -1
  30. package/build/card/card-divider/component.js.map +1 -1
  31. package/build/card/card-footer/component.js +1 -1
  32. package/build/card/card-footer/component.js.map +1 -1
  33. package/build/card/card-header/component.js +1 -1
  34. package/build/card/card-header/component.js.map +1 -1
  35. package/build/card/card-media/component.js +1 -1
  36. package/build/card/card-media/component.js.map +1 -1
  37. package/build/color-palette/index.native.js +35 -30
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-picker/color-display.js +1 -1
  40. package/build/color-picker/color-display.js.map +1 -1
  41. package/build/color-picker/component.js.map +1 -1
  42. package/build/color-picker/hex-input.js +6 -9
  43. package/build/color-picker/hex-input.js.map +1 -1
  44. package/build/color-picker/styles.js +8 -8
  45. package/build/color-picker/styles.js.map +1 -1
  46. package/build/combobox-control/index.js +1 -1
  47. package/build/combobox-control/index.js.map +1 -1
  48. package/build/confirm-dialog/component.js +4 -2
  49. package/build/confirm-dialog/component.js.map +1 -1
  50. package/build/date-time/time.js +7 -4
  51. package/build/date-time/time.js.map +1 -1
  52. package/build/divider/component.js +5 -4
  53. package/build/divider/component.js.map +1 -1
  54. package/build/draggable/index.js +3 -3
  55. package/build/draggable/index.js.map +1 -1
  56. package/build/elevation/component.js +1 -1
  57. package/build/elevation/component.js.map +1 -1
  58. package/build/flex/flex/component.js +1 -1
  59. package/build/flex/flex/component.js.map +1 -1
  60. package/build/flex/flex-block/component.js +1 -1
  61. package/build/flex/flex-block/component.js.map +1 -1
  62. package/build/flex/flex-item/component.js +1 -1
  63. package/build/flex/flex-item/component.js.map +1 -1
  64. package/build/flyout/flyout/component.js +1 -1
  65. package/build/flyout/flyout/component.js.map +1 -1
  66. package/build/flyout/flyout-content/component.js +1 -1
  67. package/build/flyout/flyout-content/component.js.map +1 -1
  68. package/build/focal-point-picker/index.js +18 -12
  69. package/build/focal-point-picker/index.js.map +1 -1
  70. package/build/focal-point-picker/index.native.js +7 -7
  71. package/build/focal-point-picker/index.native.js.map +1 -1
  72. package/build/focal-point-picker/tooltip/index.native.js +1 -1
  73. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  74. package/build/font-size-picker/index.js +1 -2
  75. package/build/font-size-picker/index.js.map +1 -1
  76. package/build/form-token-field/index.js +6 -6
  77. package/build/form-token-field/index.js.map +1 -1
  78. package/build/form-token-field/suggestions-list.js +2 -2
  79. package/build/form-token-field/suggestions-list.js.map +1 -1
  80. package/build/grid/component.js +1 -1
  81. package/build/grid/component.js.map +1 -1
  82. package/build/h-stack/component.js +1 -1
  83. package/build/h-stack/component.js.map +1 -1
  84. package/build/heading/component.js +6 -5
  85. package/build/heading/component.js.map +1 -1
  86. package/build/heading/hook.js +1 -1
  87. package/build/heading/hook.js.map +1 -1
  88. package/build/higher-order/with-notices/index.js +1 -1
  89. package/build/higher-order/with-notices/index.js.map +1 -1
  90. package/build/index.js +14 -2
  91. package/build/index.js.map +1 -1
  92. package/build/index.native.js +15 -1
  93. package/build/index.native.js.map +1 -1
  94. package/build/input-control/index.js.map +1 -1
  95. package/build/input-control/input-base.js +1 -1
  96. package/build/input-control/input-base.js.map +1 -1
  97. package/build/input-control/input-field.js +19 -17
  98. package/build/input-control/input-field.js.map +1 -1
  99. package/build/input-control/reducer/reducer.js +3 -0
  100. package/build/input-control/reducer/reducer.js.map +1 -1
  101. package/build/input-control/styles/input-control-styles.js +25 -25
  102. package/build/input-control/styles/input-control-styles.js.map +1 -1
  103. package/build/isolated-event-container/index.js +1 -1
  104. package/build/isolated-event-container/index.js.map +1 -1
  105. package/build/item-group/item/component.js.map +1 -1
  106. package/build/item-group/item-group/component.js.map +1 -1
  107. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  108. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  109. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  110. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  111. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  112. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  113. package/build/mobile/bottom-sheet/cell.native.js +1 -1
  114. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  115. package/build/mobile/bottom-sheet/index.native.js +11 -11
  116. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  117. package/build/mobile/bottom-sheet/link-cell.native.js +1 -1
  118. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  119. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  120. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  121. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  122. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  123. package/build/mobile/color-settings/palette.screen.native.js +26 -9
  124. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  125. package/build/mobile/global-styles-context/utils.native.js +73 -19
  126. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  127. package/build/mobile/gradient/index.native.js +2 -2
  128. package/build/mobile/gradient/index.native.js.map +1 -1
  129. package/build/mobile/html-text-input/container.ios.js +3 -3
  130. package/build/mobile/html-text-input/container.ios.js.map +1 -1
  131. package/build/mobile/html-text-input/index.native.js +1 -1
  132. package/build/mobile/html-text-input/index.native.js.map +1 -1
  133. package/build/mobile/image/index.native.js +1 -1
  134. package/build/mobile/image/index.native.js.map +1 -1
  135. package/build/mobile/inserter-button/index.native.js +3 -3
  136. package/build/mobile/inserter-button/index.native.js.map +1 -1
  137. package/build/mobile/inserter-button/sparkles.js +25 -0
  138. package/build/mobile/inserter-button/sparkles.js.map +1 -0
  139. package/build/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  140. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  141. package/build/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  142. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  143. package/build/mobile/link-picker/index.native.js +3 -3
  144. package/build/mobile/link-picker/index.native.js.map +1 -1
  145. package/build/mobile/link-picker/link-picker-results.native.js +8 -8
  146. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  147. package/build/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  148. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  149. package/build/mobile/link-settings/index.native.js +1 -1
  150. package/build/mobile/link-settings/index.native.js.map +1 -1
  151. package/build/modal/aria-helper.js +1 -1
  152. package/build/modal/aria-helper.js.map +1 -1
  153. package/build/modal/index.js +2 -2
  154. package/build/modal/index.js.map +1 -1
  155. package/build/navigable-container/container.js +2 -2
  156. package/build/navigable-container/container.js.map +1 -1
  157. package/build/navigable-container/tabbable.js +1 -1
  158. package/build/navigable-container/tabbable.js.map +1 -1
  159. package/build/navigation/item/index.js +1 -1
  160. package/build/navigation/item/index.js.map +1 -1
  161. package/build/navigation/menu/index.js +1 -1
  162. package/build/navigation/menu/index.js.map +1 -1
  163. package/build/navigator/index.js +16 -0
  164. package/build/navigator/index.js.map +1 -1
  165. package/build/navigator/navigator-back-button/component.js +72 -0
  166. package/build/navigator/navigator-back-button/component.js.map +1 -0
  167. package/build/navigator/navigator-back-button/hook.js +49 -0
  168. package/build/navigator/navigator-back-button/hook.js.map +1 -0
  169. package/build/navigator/navigator-back-button/index.js +16 -0
  170. package/build/navigator/navigator-back-button/index.js.map +1 -0
  171. package/build/navigator/navigator-button/component.js +71 -0
  172. package/build/navigator/navigator-button/component.js.map +1 -0
  173. package/build/navigator/navigator-button/hook.js +59 -0
  174. package/build/navigator/navigator-button/hook.js.map +1 -0
  175. package/build/navigator/navigator-button/index.js +16 -0
  176. package/build/navigator/navigator-button/index.js.map +1 -0
  177. package/build/navigator/navigator-provider/component.js +12 -22
  178. package/build/navigator/navigator-provider/component.js.map +1 -1
  179. package/build/navigator/navigator-screen/component.js +14 -22
  180. package/build/navigator/navigator-screen/component.js.map +1 -1
  181. package/build/number-control/index.js +1 -1
  182. package/build/number-control/index.js.map +1 -1
  183. package/build/panel/body.js +2 -2
  184. package/build/panel/body.js.map +1 -1
  185. package/build/popover/index.js +3 -3
  186. package/build/popover/index.js.map +1 -1
  187. package/build/popover/utils.js +6 -6
  188. package/build/popover/utils.js.map +1 -1
  189. package/build/radio-group/index.js +1 -1
  190. package/build/radio-group/index.js.map +1 -1
  191. package/build/range-control/styles/range-control-styles.js +29 -29
  192. package/build/range-control/styles/range-control-styles.js.map +1 -1
  193. package/build/resizable-box/index.js.map +1 -1
  194. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  195. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  196. package/build/sandbox/index.js +5 -5
  197. package/build/sandbox/index.js.map +1 -1
  198. package/build/sandbox/index.native.js +1 -1
  199. package/build/sandbox/index.native.js.map +1 -1
  200. package/build/scrollable/component.js +1 -1
  201. package/build/scrollable/component.js.map +1 -1
  202. package/build/select-control/index.js +1 -1
  203. package/build/select-control/index.js.map +1 -1
  204. package/build/select-control/styles/select-control-styles.js +5 -5
  205. package/build/select-control/styles/select-control-styles.js.map +1 -1
  206. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  207. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  208. package/build/slot-fill/bubbles-virtually/slot.js +1 -1
  209. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  210. package/build/slot-fill/fill.js +1 -1
  211. package/build/slot-fill/fill.js.map +1 -1
  212. package/build/slot-fill/provider.js +1 -1
  213. package/build/slot-fill/provider.js.map +1 -1
  214. package/build/snackbar/index.js +1 -1
  215. package/build/snackbar/index.js.map +1 -1
  216. package/build/snackbar/list.js +1 -1
  217. package/build/snackbar/list.js.map +1 -1
  218. package/build/spacer/component.js.map +1 -1
  219. package/build/style-provider/index.js +2 -2
  220. package/build/style-provider/index.js.map +1 -1
  221. package/build/surface/component.js +1 -1
  222. package/build/surface/component.js.map +1 -1
  223. package/build/text/component.js +1 -1
  224. package/build/text/component.js.map +1 -1
  225. package/build/text-control/index.js +2 -2
  226. package/build/text-control/index.js.map +1 -1
  227. package/build/toggle-group-control/toggle-group-control/component.js +2 -2
  228. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  229. package/build/toggle-group-control/toggle-group-control-option/component.js +1 -4
  230. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  231. package/build/toggle-group-control/toggle-group-control-option/styles.js +12 -19
  232. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  233. package/build/toolbar/index.js +1 -1
  234. package/build/toolbar/index.js.map +1 -1
  235. package/build/tools-panel/tools-panel/component.js.map +1 -1
  236. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  237. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  238. package/build/tooltip/index.js +3 -3
  239. package/build/tooltip/index.js.map +1 -1
  240. package/build/tooltip/index.native.js +7 -7
  241. package/build/tooltip/index.native.js.map +1 -1
  242. package/build/tree-grid/index.js +54 -7
  243. package/build/tree-grid/index.js.map +1 -1
  244. package/build/truncate/component.js +1 -1
  245. package/build/truncate/component.js.map +1 -1
  246. package/build/truncate/utils.js +1 -1
  247. package/build/truncate/utils.js.map +1 -1
  248. package/build/ui/context/context-connect.js +8 -15
  249. package/build/ui/context/context-connect.js.map +1 -1
  250. package/build/ui/context/context-system-provider.js +2 -2
  251. package/build/ui/context/context-system-provider.js.map +1 -1
  252. package/build/ui/context/index.js.map +1 -1
  253. package/build/ui/control-group/component.js +1 -1
  254. package/build/ui/control-group/component.js.map +1 -1
  255. package/build/ui/control-label/component.js +1 -1
  256. package/build/ui/control-label/component.js.map +1 -1
  257. package/build/ui/form-group/form-group.js +1 -1
  258. package/build/ui/form-group/form-group.js.map +1 -1
  259. package/build/ui/shortcut/component.js.map +1 -1
  260. package/build/ui/spinner/component.js +1 -1
  261. package/build/ui/spinner/component.js.map +1 -1
  262. package/build/ui/tooltip/component.js +1 -1
  263. package/build/ui/tooltip/component.js.map +1 -1
  264. package/build/ui/tooltip/content.js +1 -1
  265. package/build/ui/tooltip/content.js.map +1 -1
  266. package/build/ui/utils/colors.js +2 -2
  267. package/build/ui/utils/colors.js.map +1 -1
  268. package/build/ui/utils/space.js +2 -2
  269. package/build/ui/utils/space.js.map +1 -1
  270. package/build/unit-control/index.js +38 -29
  271. package/build/unit-control/index.js.map +1 -1
  272. package/build/unit-control/index.native.js +4 -2
  273. package/build/unit-control/index.native.js.map +1 -1
  274. package/build/unit-control/unit-select-control.js +1 -1
  275. package/build/unit-control/unit-select-control.js.map +1 -1
  276. package/build/unit-control/utils.js +96 -104
  277. package/build/unit-control/utils.js.map +1 -1
  278. package/build/utils/breakpoint-values.js +1 -1
  279. package/build/utils/breakpoint-values.js.map +1 -1
  280. package/build/utils/colors-values.js +1 -1
  281. package/build/utils/colors-values.js.map +1 -1
  282. package/build/v-stack/component.js +1 -1
  283. package/build/v-stack/component.js.map +1 -1
  284. package/build/visually-hidden/component.js +1 -1
  285. package/build/visually-hidden/component.js.map +1 -1
  286. package/build/z-stack/component.js.map +1 -1
  287. package/build-module/alignment-matrix-control/utils.js +1 -1
  288. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  289. package/build-module/angle-picker-control/angle-circle.js +1 -1
  290. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  291. package/build-module/animation/index.js +1 -1
  292. package/build-module/animation/index.js.map +1 -1
  293. package/build-module/autocomplete/get-default-use-items.js +3 -3
  294. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  295. package/build-module/base-field/hook.js +1 -1
  296. package/build-module/base-field/hook.js.map +1 -1
  297. package/build-module/box-control/icon.js +1 -1
  298. package/build-module/box-control/icon.js.map +1 -1
  299. package/build-module/box-control/index.js +5 -5
  300. package/build-module/box-control/index.js.map +1 -1
  301. package/build-module/box-control/unit-control.js +1 -1
  302. package/build-module/box-control/unit-control.js.map +1 -1
  303. package/build-module/box-control/utils.js +13 -9
  304. package/build-module/box-control/utils.js.map +1 -1
  305. package/build-module/button/index.js +5 -5
  306. package/build-module/button/index.js.map +1 -1
  307. package/build-module/button/index.native.js +7 -7
  308. package/build-module/button/index.native.js.map +1 -1
  309. package/build-module/card/card/component.js +2 -2
  310. package/build-module/card/card/component.js.map +1 -1
  311. package/build-module/card/card-body/component.js +1 -1
  312. package/build-module/card/card-body/component.js.map +1 -1
  313. package/build-module/card/card-divider/component.js +1 -1
  314. package/build-module/card/card-divider/component.js.map +1 -1
  315. package/build-module/card/card-footer/component.js +1 -1
  316. package/build-module/card/card-footer/component.js.map +1 -1
  317. package/build-module/card/card-header/component.js +1 -1
  318. package/build-module/card/card-header/component.js.map +1 -1
  319. package/build-module/card/card-media/component.js +1 -1
  320. package/build-module/card/card-media/component.js.map +1 -1
  321. package/build-module/color-palette/index.native.js +36 -31
  322. package/build-module/color-palette/index.native.js.map +1 -1
  323. package/build-module/color-picker/color-display.js +1 -1
  324. package/build-module/color-picker/color-display.js.map +1 -1
  325. package/build-module/color-picker/component.js.map +1 -1
  326. package/build-module/color-picker/hex-input.js +6 -9
  327. package/build-module/color-picker/hex-input.js.map +1 -1
  328. package/build-module/color-picker/styles.js +8 -8
  329. package/build-module/color-picker/styles.js.map +1 -1
  330. package/build-module/combobox-control/index.js +1 -1
  331. package/build-module/combobox-control/index.js.map +1 -1
  332. package/build-module/confirm-dialog/component.js +4 -5
  333. package/build-module/confirm-dialog/component.js.map +1 -1
  334. package/build-module/date-time/time.js +7 -4
  335. package/build-module/date-time/time.js.map +1 -1
  336. package/build-module/divider/component.js +3 -3
  337. package/build-module/divider/component.js.map +1 -1
  338. package/build-module/draggable/index.js +3 -3
  339. package/build-module/draggable/index.js.map +1 -1
  340. package/build-module/elevation/component.js +1 -1
  341. package/build-module/elevation/component.js.map +1 -1
  342. package/build-module/flex/flex/component.js +1 -1
  343. package/build-module/flex/flex/component.js.map +1 -1
  344. package/build-module/flex/flex-block/component.js +1 -1
  345. package/build-module/flex/flex-block/component.js.map +1 -1
  346. package/build-module/flex/flex-item/component.js +1 -1
  347. package/build-module/flex/flex-item/component.js.map +1 -1
  348. package/build-module/flyout/flyout/component.js +1 -1
  349. package/build-module/flyout/flyout/component.js.map +1 -1
  350. package/build-module/flyout/flyout-content/component.js +1 -1
  351. package/build-module/flyout/flyout-content/component.js.map +1 -1
  352. package/build-module/focal-point-picker/index.js +18 -12
  353. package/build-module/focal-point-picker/index.js.map +1 -1
  354. package/build-module/focal-point-picker/index.native.js +7 -7
  355. package/build-module/focal-point-picker/index.native.js.map +1 -1
  356. package/build-module/focal-point-picker/tooltip/index.native.js +1 -1
  357. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  358. package/build-module/font-size-picker/index.js +1 -2
  359. package/build-module/font-size-picker/index.js.map +1 -1
  360. package/build-module/form-token-field/index.js +6 -6
  361. package/build-module/form-token-field/index.js.map +1 -1
  362. package/build-module/form-token-field/suggestions-list.js +2 -2
  363. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  364. package/build-module/grid/component.js +1 -1
  365. package/build-module/grid/component.js.map +1 -1
  366. package/build-module/h-stack/component.js +1 -1
  367. package/build-module/h-stack/component.js.map +1 -1
  368. package/build-module/heading/component.js +4 -4
  369. package/build-module/heading/component.js.map +1 -1
  370. package/build-module/heading/hook.js +1 -1
  371. package/build-module/heading/hook.js.map +1 -1
  372. package/build-module/higher-order/with-notices/index.js +1 -1
  373. package/build-module/higher-order/with-notices/index.js.map +1 -1
  374. package/build-module/index.js +5 -5
  375. package/build-module/index.js.map +1 -1
  376. package/build-module/index.native.js +5 -5
  377. package/build-module/index.native.js.map +1 -1
  378. package/build-module/input-control/index.js.map +1 -1
  379. package/build-module/input-control/input-base.js +1 -1
  380. package/build-module/input-control/input-base.js.map +1 -1
  381. package/build-module/input-control/input-field.js +19 -16
  382. package/build-module/input-control/input-field.js.map +1 -1
  383. package/build-module/input-control/reducer/reducer.js +3 -0
  384. package/build-module/input-control/reducer/reducer.js.map +1 -1
  385. package/build-module/input-control/styles/input-control-styles.js +25 -25
  386. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  387. package/build-module/isolated-event-container/index.js +1 -1
  388. package/build-module/isolated-event-container/index.js.map +1 -1
  389. package/build-module/item-group/item/component.js.map +1 -1
  390. package/build-module/item-group/item-group/component.js.map +1 -1
  391. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  392. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  393. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  394. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  395. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  396. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  397. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  398. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  399. package/build-module/mobile/bottom-sheet/index.native.js +11 -11
  400. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  401. package/build-module/mobile/bottom-sheet/link-cell.native.js +1 -1
  402. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  403. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  404. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  405. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  406. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  407. package/build-module/mobile/color-settings/palette.screen.native.js +27 -10
  408. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  409. package/build-module/mobile/global-styles-context/utils.native.js +70 -20
  410. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  411. package/build-module/mobile/gradient/index.native.js +2 -2
  412. package/build-module/mobile/gradient/index.native.js.map +1 -1
  413. package/build-module/mobile/html-text-input/container.ios.js +3 -3
  414. package/build-module/mobile/html-text-input/container.ios.js.map +1 -1
  415. package/build-module/mobile/html-text-input/index.native.js +1 -1
  416. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  417. package/build-module/mobile/image/index.native.js +1 -1
  418. package/build-module/mobile/image/index.native.js.map +1 -1
  419. package/build-module/mobile/inserter-button/index.native.js +1 -1
  420. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  421. package/build-module/mobile/inserter-button/sparkles.js +16 -0
  422. package/build-module/mobile/inserter-button/sparkles.js.map +1 -0
  423. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  424. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  425. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  426. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  427. package/build-module/mobile/link-picker/index.native.js +3 -3
  428. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  429. package/build-module/mobile/link-picker/link-picker-results.native.js +8 -8
  430. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  431. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  432. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  433. package/build-module/mobile/link-settings/index.native.js +1 -1
  434. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  435. package/build-module/modal/aria-helper.js +1 -1
  436. package/build-module/modal/aria-helper.js.map +1 -1
  437. package/build-module/modal/index.js +2 -2
  438. package/build-module/modal/index.js.map +1 -1
  439. package/build-module/navigable-container/container.js +2 -2
  440. package/build-module/navigable-container/container.js.map +1 -1
  441. package/build-module/navigable-container/tabbable.js +1 -1
  442. package/build-module/navigable-container/tabbable.js.map +1 -1
  443. package/build-module/navigation/item/index.js +1 -1
  444. package/build-module/navigation/item/index.js.map +1 -1
  445. package/build-module/navigation/menu/index.js +1 -1
  446. package/build-module/navigation/menu/index.js.map +1 -1
  447. package/build-module/navigator/index.js +2 -0
  448. package/build-module/navigator/index.js.map +1 -1
  449. package/build-module/navigator/navigator-back-button/component.js +59 -0
  450. package/build-module/navigator/navigator-back-button/component.js.map +1 -0
  451. package/build-module/navigator/navigator-back-button/hook.js +36 -0
  452. package/build-module/navigator/navigator-back-button/hook.js.map +1 -0
  453. package/build-module/navigator/navigator-back-button/index.js +2 -0
  454. package/build-module/navigator/navigator-back-button/index.js.map +1 -0
  455. package/build-module/navigator/navigator-button/component.js +58 -0
  456. package/build-module/navigator/navigator-button/component.js.map +1 -0
  457. package/build-module/navigator/navigator-button/hook.js +46 -0
  458. package/build-module/navigator/navigator-button/hook.js.map +1 -0
  459. package/build-module/navigator/navigator-button/index.js +2 -0
  460. package/build-module/navigator/navigator-button/index.js.map +1 -0
  461. package/build-module/navigator/navigator-provider/component.js +12 -22
  462. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  463. package/build-module/navigator/navigator-screen/component.js +13 -22
  464. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  465. package/build-module/number-control/index.js +1 -1
  466. package/build-module/number-control/index.js.map +1 -1
  467. package/build-module/panel/body.js +2 -2
  468. package/build-module/panel/body.js.map +1 -1
  469. package/build-module/popover/index.js +3 -3
  470. package/build-module/popover/index.js.map +1 -1
  471. package/build-module/popover/utils.js +6 -6
  472. package/build-module/popover/utils.js.map +1 -1
  473. package/build-module/radio-group/index.js +1 -1
  474. package/build-module/radio-group/index.js.map +1 -1
  475. package/build-module/range-control/styles/range-control-styles.js +29 -29
  476. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  477. package/build-module/resizable-box/index.js.map +1 -1
  478. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  479. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  480. package/build-module/sandbox/index.js +5 -5
  481. package/build-module/sandbox/index.js.map +1 -1
  482. package/build-module/sandbox/index.native.js +1 -1
  483. package/build-module/sandbox/index.native.js.map +1 -1
  484. package/build-module/scrollable/component.js +1 -1
  485. package/build-module/scrollable/component.js.map +1 -1
  486. package/build-module/select-control/index.js +2 -2
  487. package/build-module/select-control/index.js.map +1 -1
  488. package/build-module/select-control/styles/select-control-styles.js +5 -5
  489. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  490. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  491. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  492. package/build-module/slot-fill/bubbles-virtually/slot.js +1 -1
  493. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  494. package/build-module/slot-fill/fill.js +1 -1
  495. package/build-module/slot-fill/fill.js.map +1 -1
  496. package/build-module/slot-fill/provider.js +1 -1
  497. package/build-module/slot-fill/provider.js.map +1 -1
  498. package/build-module/snackbar/index.js +1 -1
  499. package/build-module/snackbar/index.js.map +1 -1
  500. package/build-module/snackbar/list.js +1 -1
  501. package/build-module/snackbar/list.js.map +1 -1
  502. package/build-module/spacer/component.js.map +1 -1
  503. package/build-module/style-provider/index.js +2 -2
  504. package/build-module/style-provider/index.js.map +1 -1
  505. package/build-module/surface/component.js +1 -1
  506. package/build-module/surface/component.js.map +1 -1
  507. package/build-module/text/component.js +1 -1
  508. package/build-module/text/component.js.map +1 -1
  509. package/build-module/text-control/index.js +2 -2
  510. package/build-module/text-control/index.js.map +1 -1
  511. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -2
  512. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  513. package/build-module/toggle-group-control/toggle-group-control-option/component.js +1 -4
  514. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  515. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +11 -17
  516. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  517. package/build-module/toolbar/index.js +1 -1
  518. package/build-module/toolbar/index.js.map +1 -1
  519. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  520. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  521. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  522. package/build-module/tooltip/index.js +3 -3
  523. package/build-module/tooltip/index.js.map +1 -1
  524. package/build-module/tooltip/index.native.js +7 -7
  525. package/build-module/tooltip/index.native.js.map +1 -1
  526. package/build-module/tree-grid/index.js +55 -8
  527. package/build-module/tree-grid/index.js.map +1 -1
  528. package/build-module/truncate/component.js +1 -1
  529. package/build-module/truncate/component.js.map +1 -1
  530. package/build-module/truncate/utils.js +1 -1
  531. package/build-module/truncate/utils.js.map +1 -1
  532. package/build-module/ui/context/context-connect.js +9 -16
  533. package/build-module/ui/context/context-connect.js.map +1 -1
  534. package/build-module/ui/context/context-system-provider.js +2 -2
  535. package/build-module/ui/context/context-system-provider.js.map +1 -1
  536. package/build-module/ui/context/index.js.map +1 -1
  537. package/build-module/ui/control-group/component.js +1 -1
  538. package/build-module/ui/control-group/component.js.map +1 -1
  539. package/build-module/ui/control-label/component.js +1 -1
  540. package/build-module/ui/control-label/component.js.map +1 -1
  541. package/build-module/ui/form-group/form-group.js +1 -1
  542. package/build-module/ui/form-group/form-group.js.map +1 -1
  543. package/build-module/ui/shortcut/component.js.map +1 -1
  544. package/build-module/ui/spinner/component.js +1 -1
  545. package/build-module/ui/spinner/component.js.map +1 -1
  546. package/build-module/ui/tooltip/component.js +1 -1
  547. package/build-module/ui/tooltip/component.js.map +1 -1
  548. package/build-module/ui/tooltip/content.js +1 -1
  549. package/build-module/ui/tooltip/content.js.map +1 -1
  550. package/build-module/ui/utils/colors.js +2 -2
  551. package/build-module/ui/utils/colors.js.map +1 -1
  552. package/build-module/ui/utils/space.js +2 -2
  553. package/build-module/ui/utils/space.js.map +1 -1
  554. package/build-module/unit-control/index.js +39 -30
  555. package/build-module/unit-control/index.js.map +1 -1
  556. package/build-module/unit-control/index.native.js +5 -3
  557. package/build-module/unit-control/index.native.js.map +1 -1
  558. package/build-module/unit-control/unit-select-control.js +1 -1
  559. package/build-module/unit-control/unit-select-control.js.map +1 -1
  560. package/build-module/unit-control/utils.js +92 -100
  561. package/build-module/unit-control/utils.js.map +1 -1
  562. package/build-module/utils/breakpoint-values.js +1 -1
  563. package/build-module/utils/breakpoint-values.js.map +1 -1
  564. package/build-module/utils/colors-values.js +1 -1
  565. package/build-module/utils/colors-values.js.map +1 -1
  566. package/build-module/v-stack/component.js +1 -1
  567. package/build-module/v-stack/component.js.map +1 -1
  568. package/build-module/visually-hidden/component.js +1 -1
  569. package/build-module/visually-hidden/component.js.map +1 -1
  570. package/build-module/z-stack/component.js.map +1 -1
  571. package/build-style/style-rtl.css +8 -0
  572. package/build-style/style.css +8 -0
  573. package/build-types/base-field/hook.d.ts +2 -1
  574. package/build-types/base-field/hook.d.ts.map +1 -1
  575. package/build-types/card/card/hook.d.ts +2 -1
  576. package/build-types/card/card/hook.d.ts.map +1 -1
  577. package/build-types/card/card-body/hook.d.ts +2 -1
  578. package/build-types/card/card-body/hook.d.ts.map +1 -1
  579. package/build-types/card/card-divider/hook.d.ts +2 -3
  580. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  581. package/build-types/card/card-footer/hook.d.ts +2 -1
  582. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  583. package/build-types/card/card-header/hook.d.ts +2 -1
  584. package/build-types/card/card-header/hook.d.ts.map +1 -1
  585. package/build-types/card/card-media/hook.d.ts +2 -1
  586. package/build-types/card/card-media/hook.d.ts.map +1 -1
  587. package/build-types/color-picker/styles.d.ts +2 -4
  588. package/build-types/color-picker/styles.d.ts.map +1 -1
  589. package/build-types/confirm-dialog/component.d.ts +10 -6
  590. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  591. package/build-types/confirm-dialog/types.d.ts +2 -0
  592. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  593. package/build-types/divider/component.d.ts +2 -2
  594. package/build-types/divider/component.d.ts.map +1 -1
  595. package/build-types/divider/stories/index.d.ts +10 -0
  596. package/build-types/divider/stories/index.d.ts.map +1 -0
  597. package/build-types/divider/types.d.ts +1 -1
  598. package/build-types/divider/types.d.ts.map +1 -1
  599. package/build-types/elevation/hook.d.ts +2 -1
  600. package/build-types/elevation/hook.d.ts.map +1 -1
  601. package/build-types/flex/flex/hook.d.ts +2 -1
  602. package/build-types/flex/flex/hook.d.ts.map +1 -1
  603. package/build-types/flex/flex-block/hook.d.ts +2 -1
  604. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  605. package/build-types/flex/flex-item/hook.d.ts +2 -1
  606. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  607. package/build-types/flyout/flyout/hook.d.ts +2 -2
  608. package/build-types/grid/hook.d.ts +2 -1
  609. package/build-types/grid/hook.d.ts.map +1 -1
  610. package/build-types/h-stack/hook.d.ts +3 -2
  611. package/build-types/h-stack/hook.d.ts.map +1 -1
  612. package/build-types/heading/component.d.ts +3 -3
  613. package/build-types/heading/component.d.ts.map +1 -1
  614. package/build-types/heading/hook.d.ts +2 -1
  615. package/build-types/heading/hook.d.ts.map +1 -1
  616. package/build-types/heading/stories/index.d.ts +12 -0
  617. package/build-types/heading/stories/index.d.ts.map +1 -0
  618. package/build-types/input-control/index.d.ts +3 -3
  619. package/build-types/input-control/index.d.ts.map +1 -1
  620. package/build-types/input-control/input-base.d.ts +2 -2
  621. package/build-types/input-control/input-base.d.ts.map +1 -1
  622. package/build-types/input-control/input-field.d.ts +1 -3
  623. package/build-types/input-control/input-field.d.ts.map +1 -1
  624. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  625. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  626. package/build-types/input-control/types.d.ts +1 -1
  627. package/build-types/input-control/types.d.ts.map +1 -1
  628. package/build-types/item-group/item/hook.d.ts +2 -1
  629. package/build-types/item-group/item/hook.d.ts.map +1 -1
  630. package/build-types/item-group/item-group/hook.d.ts +2 -1
  631. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  632. package/build-types/navigator/index.d.ts +2 -0
  633. package/build-types/navigator/index.d.ts.map +1 -1
  634. package/build-types/navigator/navigator-back-button/component.d.ts +38 -0
  635. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -0
  636. package/build-types/navigator/navigator-back-button/hook.d.ts +283 -0
  637. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -0
  638. package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
  639. package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
  640. package/build-types/navigator/navigator-button/component.d.ts +37 -0
  641. package/build-types/navigator/navigator-button/component.d.ts.map +1 -0
  642. package/build-types/navigator/navigator-button/hook.d.ts +283 -0
  643. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -0
  644. package/build-types/navigator/navigator-button/index.d.ts +2 -0
  645. package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
  646. package/build-types/navigator/navigator-provider/component.d.ts +10 -20
  647. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  648. package/build-types/navigator/navigator-screen/component.d.ts +10 -20
  649. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  650. package/build-types/navigator/types.d.ts +21 -0
  651. package/build-types/navigator/types.d.ts.map +1 -1
  652. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  653. package/build-types/resizable-box/index.d.ts +2 -2
  654. package/build-types/resizable-box/index.d.ts.map +1 -1
  655. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  656. package/build-types/scrollable/hook.d.ts +2 -1
  657. package/build-types/scrollable/hook.d.ts.map +1 -1
  658. package/build-types/select-control/index.d.ts +1 -3
  659. package/build-types/select-control/index.d.ts.map +1 -1
  660. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  661. package/build-types/spacer/hook.d.ts +2 -1
  662. package/build-types/spacer/hook.d.ts.map +1 -1
  663. package/build-types/surface/hook.d.ts +2 -1
  664. package/build-types/surface/hook.d.ts.map +1 -1
  665. package/build-types/text/hook.d.ts +2 -1
  666. package/build-types/text/hook.d.ts.map +1 -1
  667. package/build-types/text/types.d.ts +1 -2
  668. package/build-types/text/types.d.ts.map +1 -1
  669. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  670. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -4
  671. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  672. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
  673. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  674. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
  675. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  676. package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -1
  677. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  678. package/build-types/truncate/hook.d.ts +2 -1
  679. package/build-types/truncate/hook.d.ts.map +1 -1
  680. package/build-types/ui/context/context-connect.d.ts +18 -16
  681. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  682. package/build-types/ui/context/index.d.ts +4 -4
  683. package/build-types/ui/context/index.d.ts.map +1 -1
  684. package/build-types/ui/context/wordpress-component.d.ts +3 -6
  685. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  686. package/build-types/ui/control-group/hook.d.ts +2 -1
  687. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  688. package/build-types/ui/control-label/hook.d.ts +2 -1
  689. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  690. package/build-types/ui/form-group/use-form-group.d.ts +6 -4
  691. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  692. package/build-types/unit-control/index.d.ts +3 -5
  693. package/build-types/unit-control/index.d.ts.map +1 -1
  694. package/build-types/unit-control/types.d.ts +4 -6
  695. package/build-types/unit-control/types.d.ts.map +1 -1
  696. package/build-types/unit-control/utils.d.ts +47 -38
  697. package/build-types/unit-control/utils.d.ts.map +1 -1
  698. package/build-types/v-stack/hook.d.ts +2 -1
  699. package/build-types/v-stack/hook.d.ts.map +1 -1
  700. package/build-types/z-stack/component.d.ts.map +1 -1
  701. package/package.json +19 -18
  702. package/src/alignment-matrix-control/README.md +4 -0
  703. package/src/alignment-matrix-control/stories/index.js +1 -1
  704. package/src/alignment-matrix-control/utils.js +1 -1
  705. package/src/angle-picker-control/angle-circle.js +1 -1
  706. package/src/animation/index.js +0 -1
  707. package/src/autocomplete/get-default-use-items.js +3 -3
  708. package/src/base-control/stories/index.js +65 -22
  709. package/src/base-field/hook.js +1 -1
  710. package/src/box-control/icon.js +1 -1
  711. package/src/box-control/index.js +5 -5
  712. package/src/box-control/stories/index.js +4 -1
  713. package/src/box-control/test/index.js +27 -7
  714. package/src/box-control/unit-control.js +1 -1
  715. package/src/box-control/utils.js +13 -9
  716. package/src/button/index.js +5 -5
  717. package/src/button/index.native.js +7 -7
  718. package/src/button/style.scss +1 -0
  719. package/src/card/card/component.js +1 -1
  720. package/src/card/card-body/component.js +1 -1
  721. package/src/card/card-divider/component.js +1 -1
  722. package/src/card/card-footer/component.js +1 -1
  723. package/src/card/card-header/component.js +1 -1
  724. package/src/card/card-media/component.js +1 -1
  725. package/src/color-palette/index.native.js +92 -75
  726. package/src/color-palette/style.native.scss +10 -5
  727. package/src/color-palette/style.scss +1 -0
  728. package/src/color-picker/color-display.tsx +1 -1
  729. package/src/color-picker/component.tsx +2 -2
  730. package/src/color-picker/hex-input.tsx +9 -9
  731. package/src/color-picker/styles.ts +1 -1
  732. package/src/color-picker/test/index.js +1 -1
  733. package/src/combobox-control/index.js +1 -1
  734. package/src/combobox-control/style.scss +1 -0
  735. package/src/confirm-dialog/README.md +56 -45
  736. package/src/confirm-dialog/component.tsx +6 -4
  737. package/src/confirm-dialog/stories/index.js +19 -0
  738. package/src/confirm-dialog/test/index.js +28 -0
  739. package/src/confirm-dialog/types.ts +2 -0
  740. package/src/date-time/style.scss +4 -0
  741. package/src/date-time/time.js +16 -5
  742. package/src/dimension-control/test/index.test.js +1 -1
  743. package/src/disabled/test/index.js +1 -1
  744. package/src/divider/component.tsx +5 -5
  745. package/src/divider/stories/index.tsx +70 -0
  746. package/src/divider/types.ts +3 -1
  747. package/src/draggable/index.js +3 -3
  748. package/src/draggable/stories/index.js +1 -1
  749. package/src/elevation/component.js +1 -1
  750. package/src/flex/flex/component.js +1 -1
  751. package/src/flex/flex-block/component.js +1 -1
  752. package/src/flex/flex-item/component.js +1 -1
  753. package/src/flyout/flyout/README.md +1 -1
  754. package/src/flyout/flyout/component.js +1 -1
  755. package/src/flyout/flyout-content/component.js +1 -1
  756. package/src/flyout/test/index.js +1 -1
  757. package/src/focal-point-picker/README.md +7 -0
  758. package/src/focal-point-picker/index.js +12 -7
  759. package/src/focal-point-picker/index.native.js +7 -7
  760. package/src/focal-point-picker/stories/index.js +30 -0
  761. package/src/focal-point-picker/test/index.js +44 -0
  762. package/src/focal-point-picker/tooltip/index.native.js +1 -1
  763. package/src/font-size-picker/README.md +1 -2
  764. package/src/font-size-picker/index.js +1 -2
  765. package/src/font-size-picker/stories/index.js +87 -108
  766. package/src/font-size-picker/test/index.js +0 -2
  767. package/src/form-file-upload/README.md +1 -1
  768. package/src/form-file-upload/stories/index.js +51 -0
  769. package/src/form-token-field/index.js +6 -6
  770. package/src/form-token-field/style.scss +1 -0
  771. package/src/form-token-field/suggestions-list.js +2 -2
  772. package/src/form-token-field/test/index.js +6 -6
  773. package/src/grid/component.js +1 -1
  774. package/src/h-stack/component.js +1 -1
  775. package/src/heading/component.tsx +6 -6
  776. package/src/heading/hook.ts +1 -1
  777. package/src/heading/stories/index.tsx +37 -0
  778. package/src/higher-order/with-filters/test/index.js +1 -1
  779. package/src/higher-order/with-focus-outside/test/index.js +1 -1
  780. package/src/higher-order/with-notices/index.js +1 -1
  781. package/src/higher-order/with-notices/test/index.js +3 -3
  782. package/src/index.js +6 -4
  783. package/src/index.native.js +9 -5
  784. package/src/input-control/index.tsx +2 -2
  785. package/src/input-control/input-base.tsx +3 -3
  786. package/src/input-control/input-field.tsx +16 -15
  787. package/src/input-control/reducer/reducer.ts +3 -0
  788. package/src/input-control/stories/index.js +1 -1
  789. package/src/input-control/styles/input-control-styles.tsx +1 -0
  790. package/src/input-control/test/index.js +4 -4
  791. package/src/input-control/types.ts +1 -1
  792. package/src/isolated-event-container/index.js +1 -1
  793. package/src/item-group/item/component.tsx +2 -2
  794. package/src/item-group/item-group/component.tsx +2 -2
  795. package/src/item-group/test/index.js +0 -1
  796. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  797. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  798. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -1
  799. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  800. package/src/mobile/bottom-sheet/index.native.js +11 -11
  801. package/src/mobile/bottom-sheet/link-cell.native.js +1 -1
  802. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  803. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  804. package/src/mobile/color-settings/palette.screen.native.js +39 -9
  805. package/src/mobile/color-settings/style.native.scss +4 -0
  806. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +27 -0
  807. package/src/mobile/global-styles-context/test/utils.native.js +2 -2
  808. package/src/mobile/global-styles-context/utils.native.js +85 -16
  809. package/src/mobile/gradient/index.native.js +2 -2
  810. package/src/mobile/html-text-input/container.ios.js +3 -3
  811. package/src/mobile/html-text-input/index.native.js +1 -1
  812. package/src/mobile/html-text-input/test/index.native.js +14 -14
  813. package/src/mobile/image/index.native.js +1 -1
  814. package/src/mobile/image/style.native.scss +1 -0
  815. package/src/mobile/inserter-button/index.native.js +1 -2
  816. package/src/mobile/inserter-button/sparkles.js +15 -0
  817. package/src/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  818. package/src/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  819. package/src/mobile/link-picker/index.native.js +3 -3
  820. package/src/mobile/link-picker/link-picker-results.native.js +8 -8
  821. package/src/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  822. package/src/mobile/link-settings/index.native.js +1 -2
  823. package/src/mobile/link-settings/test/edit.native.js +15 -15
  824. package/src/modal/aria-helper.js +1 -1
  825. package/src/modal/index.js +2 -2
  826. package/src/navigable-container/container.js +2 -2
  827. package/src/navigable-container/tabbable.js +1 -1
  828. package/src/navigable-container/test/menu.js +5 -5
  829. package/src/navigable-container/test/tabbable.js +2 -2
  830. package/src/navigation/item/index.js +1 -1
  831. package/src/navigation/menu/index.js +1 -1
  832. package/src/navigation/stories/controlled-state.js +2 -2
  833. package/src/navigation/stories/index.js +1 -1
  834. package/src/navigator/index.ts +2 -0
  835. package/src/navigator/navigator-back-button/README.md +31 -0
  836. package/src/navigator/navigator-back-button/component.tsx +62 -0
  837. package/src/navigator/navigator-back-button/hook.ts +40 -0
  838. package/src/navigator/navigator-back-button/index.ts +1 -0
  839. package/src/navigator/navigator-button/README.md +38 -0
  840. package/src/navigator/navigator-button/component.tsx +61 -0
  841. package/src/navigator/navigator-button/hook.ts +55 -0
  842. package/src/navigator/navigator-button/index.ts +1 -0
  843. package/src/navigator/navigator-provider/README.md +20 -33
  844. package/src/navigator/navigator-provider/component.tsx +13 -23
  845. package/src/navigator/navigator-screen/README.md +1 -1
  846. package/src/navigator/navigator-screen/component.tsx +16 -25
  847. package/src/navigator/stories/index.js +24 -37
  848. package/src/navigator/test/index.js +105 -51
  849. package/src/navigator/types.ts +27 -1
  850. package/src/number-control/index.js +1 -1
  851. package/src/number-control/stories/index.js +1 -1
  852. package/src/panel/body.js +2 -2
  853. package/src/popover/index.js +3 -3
  854. package/src/popover/utils.js +6 -6
  855. package/src/radio/stories/index.js +1 -1
  856. package/src/radio-group/index.js +1 -1
  857. package/src/radio-group/stories/index.js +4 -1
  858. package/src/range-control/stories/index.js +1 -1
  859. package/src/range-control/styles/range-control-styles.js +1 -1
  860. package/src/range-control/test/index.js +2 -2
  861. package/src/resizable-box/index.tsx +2 -2
  862. package/src/resizable-box/resize-tooltip/index.tsx +2 -2
  863. package/src/resizable-box/resize-tooltip/label.tsx +2 -2
  864. package/src/sandbox/index.js +5 -5
  865. package/src/sandbox/index.native.js +1 -1
  866. package/src/scrollable/component.js +1 -1
  867. package/src/select-control/index.tsx +3 -4
  868. package/src/select-control/styles/select-control-styles.ts +1 -0
  869. package/src/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  870. package/src/slot-fill/bubbles-virtually/slot.js +1 -2
  871. package/src/slot-fill/fill.js +1 -1
  872. package/src/slot-fill/provider.js +1 -1
  873. package/src/snackbar/index.js +1 -1
  874. package/src/snackbar/list.js +1 -1
  875. package/src/spacer/component.tsx +2 -2
  876. package/src/style-provider/index.js +2 -2
  877. package/src/surface/component.js +1 -1
  878. package/src/tab-panel/test/index.js +1 -1
  879. package/src/text/component.js +1 -1
  880. package/src/text/test/index.js +2 -2
  881. package/src/text/types.ts +6 -8
  882. package/src/text-control/index.js +2 -2
  883. package/src/text-highlight/test/index.js +4 -4
  884. package/src/toggle-control/test/index.js +3 -3
  885. package/src/toggle-group-control/stories/index.js +1 -1
  886. package/src/toggle-group-control/test/__snapshots__/index.js.snap +1 -27
  887. package/src/toggle-group-control/toggle-group-control/component.tsx +4 -4
  888. package/src/toggle-group-control/toggle-group-control-option/component.tsx +3 -6
  889. package/src/toggle-group-control/toggle-group-control-option/styles.ts +1 -12
  890. package/src/toolbar/index.js +1 -1
  891. package/src/toolbar-group/test/index.js +2 -2
  892. package/src/tools-panel/stories/index.js +0 -1
  893. package/src/tools-panel/tools-panel/component.tsx +2 -2
  894. package/src/tools-panel/tools-panel-header/component.tsx +2 -2
  895. package/src/tools-panel/tools-panel-item/component.tsx +2 -2
  896. package/src/tooltip/index.js +3 -3
  897. package/src/tooltip/index.native.js +7 -7
  898. package/src/tooltip/test/index.js +2 -2
  899. package/src/tooltip/test/index.native.js +2 -2
  900. package/src/tree-grid/README.md +24 -1
  901. package/src/tree-grid/index.js +70 -7
  902. package/src/tree-grid/stories/index.js +4 -1
  903. package/src/tree-grid/test/__snapshots__/index.js.snap +1 -14
  904. package/src/tree-grid/test/index.js +303 -8
  905. package/src/truncate/component.js +1 -1
  906. package/src/truncate/utils.js +1 -1
  907. package/src/ui/context/{context-connect.js → context-connect.ts} +27 -16
  908. package/src/ui/context/context-system-provider.js +2 -2
  909. package/src/ui/context/{index.js → index.ts} +0 -0
  910. package/src/ui/context/wordpress-component.ts +3 -2
  911. package/src/ui/control-group/component.js +1 -1
  912. package/src/ui/control-label/component.js +1 -1
  913. package/src/ui/form-group/form-group.js +1 -1
  914. package/src/ui/shortcut/component.tsx +2 -2
  915. package/src/ui/spinner/component.js +1 -1
  916. package/src/ui/tooltip/component.js +1 -1
  917. package/src/ui/tooltip/content.js +1 -1
  918. package/src/ui/tooltip/test/index.js +4 -4
  919. package/src/ui/utils/colors.js +2 -2
  920. package/src/ui/utils/space.ts +2 -2
  921. package/src/unit-control/README.md +1 -1
  922. package/src/unit-control/index.native.js +5 -3
  923. package/src/unit-control/index.tsx +66 -37
  924. package/src/unit-control/stories/index.js +1 -1
  925. package/src/unit-control/test/index.js +102 -3
  926. package/src/unit-control/test/utils.js +56 -15
  927. package/src/unit-control/types.ts +5 -8
  928. package/src/unit-control/unit-select-control.tsx +1 -1
  929. package/src/unit-control/utils.ts +128 -125
  930. package/src/utils/breakpoint-values.js +1 -1
  931. package/src/utils/colors-values.js +1 -1
  932. package/src/utils/hooks/test/use-controlled-state.js +1 -1
  933. package/src/utils/hooks/test/use-controlled-value.js +3 -3
  934. package/src/utils/hooks/test/use-latest-ref.js +1 -1
  935. package/src/utils/test/math.js +2 -2
  936. package/src/utils/test/rtl.js +12 -12
  937. package/src/v-stack/component.js +1 -1
  938. package/src/visually-hidden/component.js +1 -1
  939. package/src/z-stack/component.tsx +2 -2
  940. package/tsconfig.json +1 -1
  941. package/tsconfig.tsbuildinfo +1 -1
  942. package/src/divider/stories/index.js +0 -64
  943. package/src/heading/stories/index.js +0 -24
  944. package/src/tools-panel/stories/typography-panel.js +0 -215
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.Divider = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
@@ -25,7 +25,7 @@ var _styles = require("./styles");
25
25
  /**
26
26
  * Internal dependencies
27
27
  */
28
- function Divider(props, forwardedRef) {
28
+ function UnconnectedDivider(props, forwardedRef) {
29
29
  const contextProps = (0, _context.useContextSystem)(props, 'Divider');
30
30
  return (0, _element.createElement)(_reakit.Separator, (0, _extends2.default)({
31
31
  as: _styles.DividerView
@@ -57,7 +57,8 @@ function Divider(props, forwardedRef) {
57
57
  */
58
58
 
59
59
 
60
- const ConnectedDivider = (0, _context.contextConnect)(Divider, 'Divider');
61
- var _default = ConnectedDivider;
60
+ const Divider = (0, _context.contextConnect)(UnconnectedDivider, 'Divider');
61
+ exports.Divider = Divider;
62
+ var _default = Divider;
62
63
  exports.default = _default;
63
64
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/divider/component.tsx"],"names":["Divider","props","forwardedRef","contextProps","DividerView","ConnectedDivider"],"mappings":";;;;;;;;;;;;;AAIA;;AAMA;;AAKA;;AAfA;AACA;AACA;AACA;;AAIA;AACA;AACA;AASA,SAASA,OAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAMC,YAAY,GAAG,+BAAkBF,KAAlB,EAAyB,SAAzB,CAArB;AAEA,SACC,4BAAC,iBAAD;AACC,IAAA,EAAE,EAAGG;AADN,KAEMD,YAFN;AAGC,IAAA,GAAG,EAAGD;AAHP,KADD;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,gBAAgB,GAAG,6BAAgBL,OAAhB,EAAyB,SAAzB,CAAzB;eAEeK,gB","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport { Separator } from 'reakit';\nimport type { Ref } from 'react';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../ui/context';\nimport { DividerView } from './styles';\nimport type { Props } from './types';\n\nfunction Divider(\n\tprops: WordPressComponentProps< Props, 'hr', false >,\n\tforwardedRef: Ref< any >\n) {\n\tconst contextProps = useContextSystem( props, 'Divider' );\n\n\treturn (\n\t\t<Separator\n\t\t\tas={ DividerView }\n\t\t\t{ ...contextProps }\n\t\t\tref={ forwardedRef }\n\t\t/>\n\t);\n}\n\n/**\n * `Divider` is a layout component that separates groups of related content.\n *\n * @example\n * ```js\n * import {\n * \t\t__experimentalDivider as Divider,\n * \t\t__experimentalText as Text,\n * \t\t__experimentalVStack as VStack,\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<VStack spacing={4}>\n * \t\t\t<Text>Some text here</Text>\n * \t\t\t<Divider />\n * \t\t\t<Text>Some more text here</Text>\n * \t\t</VStack>\n * \t);\n * }\n * ```\n */\nconst ConnectedDivider = contextConnect( Divider, 'Divider' );\n\nexport default ConnectedDivider;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/divider/component.tsx"],"names":["UnconnectedDivider","props","forwardedRef","contextProps","DividerView","Divider"],"mappings":";;;;;;;;;;;;;AAIA;;AAMA;;AAKA;;AAfA;AACA;AACA;AACA;;AAIA;AACA;AACA;AASA,SAASA,kBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAMC,YAAY,GAAG,+BAAkBF,KAAlB,EAAyB,SAAzB,CAArB;AAEA,SACC,4BAAC,iBAAD;AACC,IAAA,EAAE,EAAGG;AADN,KAEMD,YAFN;AAGC,IAAA,GAAG,EAAGD;AAHP,KADD;AAOA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMG,OAAO,GAAG,6BAAgBL,kBAAhB,EAAoC,SAApC,CAAhB;;eAEQK,O","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport { Separator } from 'reakit';\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../ui/context';\nimport { DividerView } from './styles';\nimport type { Props } from './types';\n\nfunction UnconnectedDivider(\n\tprops: WordPressComponentProps< Props, 'hr', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst contextProps = useContextSystem( props, 'Divider' );\n\n\treturn (\n\t\t<Separator\n\t\t\tas={ DividerView }\n\t\t\t{ ...contextProps }\n\t\t\tref={ forwardedRef }\n\t\t/>\n\t);\n}\n\n/**\n * `Divider` is a layout component that separates groups of related content.\n *\n * @example\n * ```js\n * import {\n * \t\t__experimentalDivider as Divider,\n * \t\t__experimentalText as Text,\n * \t\t__experimentalVStack as VStack,\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<VStack spacing={4}>\n * \t\t\t<Text>Some text here</Text>\n * \t\t\t<Divider />\n * \t\t\t<Text>Some more text here</Text>\n * \t\t</VStack>\n * \t);\n * }\n * ```\n */\nexport const Divider = contextConnect( UnconnectedDivider, 'Divider' );\n\nexport default Divider;\n"]}
@@ -139,7 +139,7 @@ function Draggable(_ref) {
139
139
 
140
140
  x = elementLeftOffset - clonePadding;
141
141
  y = elementTopOffset - clonePadding;
142
- cloneWrapper.style.transform = `translate( ${x}px, ${y}px )`; // Hack: Remove iFrames as it's causing the embeds drag clone to freeze
142
+ cloneWrapper.style.transform = `translate( ${x}px, ${y}px )`; // Hack: Remove iFrames as it's causing the embeds drag clone to freeze.
143
143
 
144
144
  Array.from(clone.querySelectorAll('iframe')).forEach(child => child.parentNode.removeChild(child));
145
145
  cloneWrapper.appendChild(clone); // Inject the cloneWrapper into the DOM.
@@ -155,7 +155,7 @@ function Draggable(_ref) {
155
155
  */
156
156
 
157
157
  function over(e) {
158
- //Skip doing any work if mouse has not moved.
158
+ // Skip doing any work if mouse has not moved.
159
159
  if (cursorLeft === e.clientX && cursorTop === e.clientY) {
160
160
  return;
161
161
  }
@@ -191,7 +191,7 @@ function Draggable(_ref) {
191
191
  }
192
192
 
193
193
  cleanup.current = () => {
194
- // Remove drag clone
194
+ // Remove drag clone.
195
195
  if (cloneWrapper && cloneWrapper.parentNode) {
196
196
  cloneWrapper.parentNode.removeChild(cloneWrapper);
197
197
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/draggable/index.js"],"names":["dragImageClass","cloneWrapperClass","clonePadding","bodyClass","Draggable","children","onDragStart","onDragOver","onDragEnd","cloneClassname","elementId","transferData","__experimentalTransferDataType","transferDataType","__experimentalDragComponent","dragComponent","dragComponentRef","cleanup","end","event","preventDefault","current","start","ownerDocument","target","dataTransfer","setData","JSON","stringify","cloneWrapper","createElement","style","top","left","dragImage","setDragImage","classList","add","body","appendChild","x","y","clientX","clientY","transform","clonedDragComponent","innerHTML","element","getElementById","elementRect","getBoundingClientRect","elementWrapper","parentNode","elementTopOffset","parseInt","elementLeftOffset","width","clone","cloneNode","id","Array","from","querySelectorAll","forEach","child","removeChild","cursorLeft","cursorTop","over","e","nextX","nextY","throttledDragOver","addEventListener","persist","timerId","setTimeout","remove","removeEventListener","clearTimeout","onDraggableStart","onDraggableEnd","display"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport { throttle } from 'lodash';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst clonePadding = 0;\nconst bodyClass = 'is-dragging-components-draggable';\n\n/**\n * @typedef RenderProp\n * @property {(event: import('react').DragEvent) => void} onDraggableStart `onDragStart` handler.\n * @property {(event: import('react').DragEvent) => void} onDraggableEnd `onDragEnd` handler.\n */\n\n/**\n * @typedef Props\n * @property {(props: RenderProp) => JSX.Element | null} children Children.\n * @property {(event: import('react').DragEvent) => void} [onDragStart] Callback when dragging starts.\n * @property {(event: import('react').DragEvent) => void} [onDragOver] Callback when dragging happens over the document.\n * @property {(event: import('react').DragEvent) => void} [onDragEnd] Callback when dragging ends.\n * @property {string} [cloneClassname] Classname for the cloned element.\n * @property {string} [elementId] ID for the element.\n * @property {any} [transferData] Transfer data for the drag event.\n * @property {string} [__experimentalTransferDataType] The transfer data type to set.\n * @property {import('react').ReactNode} __experimentalDragComponent Component to show when dragging.\n */\n\n/**\n * @param {Props} props\n * @return {JSX.Element} A draggable component.\n */\nexport default function Draggable( {\n\tchildren,\n\tonDragStart,\n\tonDragOver,\n\tonDragEnd,\n\tcloneClassname,\n\telementId,\n\ttransferData,\n\t__experimentalTransferDataType: transferDataType = 'text',\n\t__experimentalDragComponent: dragComponent,\n} ) {\n\t/** @type {import('react').MutableRefObject<HTMLDivElement | null>} */\n\tconst dragComponentRef = useRef( null );\n\tconst cleanup = useRef( () => {} );\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t *\n\t * @param {import('react').DragEvent} event The non-custom DragEvent.\n\t */\n\tfunction end( event ) {\n\t\tevent.preventDefault();\n\t\tcleanup.current();\n\n\t\tif ( onDragEnd ) {\n\t\t\tonDragEnd( event );\n\t\t}\n\t}\n\n\t/**\n\t * This method does a couple of things:\n\t *\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t *\n\t * @param {import('react').DragEvent} event The non-custom DragEvent.\n\t */\n\tfunction start( event ) {\n\t\t// @ts-ignore We know that ownerDocument does exist on an Element\n\t\tconst { ownerDocument } = event.target;\n\n\t\tevent.dataTransfer.setData(\n\t\t\ttransferDataType,\n\t\t\tJSON.stringify( transferData )\n\t\t);\n\n\t\tconst cloneWrapper = ownerDocument.createElement( 'div' );\n\t\t// Reset position to 0,0. Natural stacking order will position this lower, even with a transform otherwise.\n\t\tcloneWrapper.style.top = 0;\n\t\tcloneWrapper.style.left = 0;\n\n\t\tconst dragImage = ownerDocument.createElement( 'div' );\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\townerDocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t}\n\n\t\tcloneWrapper.classList.add( cloneWrapperClass );\n\n\t\tif ( cloneClassname ) {\n\t\t\tcloneWrapper.classList.add( cloneClassname );\n\t\t}\n\n\t\tlet x = 0;\n\t\tlet y = 0;\n\t\t// If a dragComponent is defined, the following logic will clone the\n\t\t// HTML node and inject it into the cloneWrapper.\n\t\tif ( dragComponentRef.current ) {\n\t\t\t// Position dragComponent at the same position as the cursor.\n\t\t\tx = event.clientX;\n\t\t\ty = event.clientY;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\tconst clonedDragComponent = ownerDocument.createElement( 'div' );\n\t\t\tclonedDragComponent.innerHTML = dragComponentRef.current.innerHTML;\n\t\t\tcloneWrapper.appendChild( clonedDragComponent );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\townerDocument.body.appendChild( cloneWrapper );\n\t\t} else {\n\t\t\tconst element = ownerDocument.getElementById( elementId );\n\n\t\t\t// Prepare element clone and append to element wrapper.\n\t\t\tconst elementRect = element.getBoundingClientRect();\n\t\t\tconst elementWrapper = element.parentNode;\n\t\t\tconst elementTopOffset = parseInt( elementRect.top, 10 );\n\t\t\tconst elementLeftOffset = parseInt( elementRect.left, 10 );\n\n\t\t\tcloneWrapper.style.width = `${\n\t\t\t\telementRect.width + clonePadding * 2\n\t\t\t}px`;\n\n\t\t\tconst clone = element.cloneNode( true );\n\t\t\tclone.id = `clone-${ elementId }`;\n\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tx = elementLeftOffset - clonePadding;\n\t\t\ty = elementTopOffset - clonePadding;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze\n\t\t\tArray.from(\n\t\t\t\tclone.querySelectorAll( 'iframe' )\n\t\t\t).forEach( ( child ) => child.parentNode.removeChild( child ) );\n\n\t\t\tcloneWrapper.appendChild( clone );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\telementWrapper.appendChild( cloneWrapper );\n\t\t}\n\n\t\t// Mark the current cursor coordinates.\n\t\tlet cursorLeft = event.clientX;\n\t\tlet cursorTop = event.clientY;\n\n\t\t/**\n\t\t * @param {import('react').DragEvent<Element>} e\n\t\t */\n\t\tfunction over( e ) {\n\t\t\t//Skip doing any work if mouse has not moved.\n\t\t\tif ( cursorLeft === e.clientX && cursorTop === e.clientY ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextX = x + e.clientX - cursorLeft;\n\t\t\tconst nextY = y + e.clientY - cursorTop;\n\t\t\tcloneWrapper.style.transform = `translate( ${ nextX }px, ${ nextY }px )`;\n\t\t\tcursorLeft = e.clientX;\n\t\t\tcursorTop = e.clientY;\n\t\t\tx = nextX;\n\t\t\ty = nextY;\n\t\t\tif ( onDragOver ) {\n\t\t\t\tonDragOver( e );\n\t\t\t}\n\t\t}\n\n\t\t// Aim for 60fps (16 ms per frame) for now. We can potentially use requestAnimationFrame (raf) instead,\n\t\t// note that browsers may throttle raf below 60fps in certain conditions.\n\t\tconst throttledDragOver = throttle( over, 16 );\n\n\t\townerDocument.addEventListener( 'dragover', throttledDragOver );\n\n\t\t// Update cursor to 'grabbing', document wide.\n\t\townerDocument.body.classList.add( bodyClass );\n\n\t\t// Allow the Synthetic Event to be accessed from asynchronous code.\n\t\t// https://reactjs.org/docs/events.html#event-pooling\n\t\tevent.persist();\n\n\t\t/** @type {number | undefined} */\n\t\tlet timerId;\n\n\t\tif ( onDragStart ) {\n\t\t\ttimerId = setTimeout( () => onDragStart( event ) );\n\t\t}\n\n\t\tcleanup.current = () => {\n\t\t\t// Remove drag clone\n\t\t\tif ( cloneWrapper && cloneWrapper.parentNode ) {\n\t\t\t\tcloneWrapper.parentNode.removeChild( cloneWrapper );\n\t\t\t}\n\n\t\t\tif ( dragImage && dragImage.parentNode ) {\n\t\t\t\tdragImage.parentNode.removeChild( dragImage );\n\t\t\t}\n\n\t\t\t// Reset cursor.\n\t\t\townerDocument.body.classList.remove( bodyClass );\n\n\t\t\townerDocument.removeEventListener( 'dragover', throttledDragOver );\n\n\t\t\tclearTimeout( timerId );\n\t\t};\n\t}\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tcleanup.current();\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ children( {\n\t\t\t\tonDraggableStart: start,\n\t\t\t\tonDraggableEnd: end,\n\t\t\t} ) }\n\t\t\t{ dragComponent && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-draggable-drag-component-root\"\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\tref={ dragComponentRef }\n\t\t\t\t>\n\t\t\t\t\t{ dragComponent }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/draggable/index.js"],"names":["dragImageClass","cloneWrapperClass","clonePadding","bodyClass","Draggable","children","onDragStart","onDragOver","onDragEnd","cloneClassname","elementId","transferData","__experimentalTransferDataType","transferDataType","__experimentalDragComponent","dragComponent","dragComponentRef","cleanup","end","event","preventDefault","current","start","ownerDocument","target","dataTransfer","setData","JSON","stringify","cloneWrapper","createElement","style","top","left","dragImage","setDragImage","classList","add","body","appendChild","x","y","clientX","clientY","transform","clonedDragComponent","innerHTML","element","getElementById","elementRect","getBoundingClientRect","elementWrapper","parentNode","elementTopOffset","parseInt","elementLeftOffset","width","clone","cloneNode","id","Array","from","querySelectorAll","forEach","child","removeChild","cursorLeft","cursorTop","over","e","nextX","nextY","throttledDragOver","addEventListener","persist","timerId","setTimeout","remove","removeEventListener","clearTimeout","onDraggableStart","onDraggableEnd","display"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport { throttle } from 'lodash';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst clonePadding = 0;\nconst bodyClass = 'is-dragging-components-draggable';\n\n/**\n * @typedef RenderProp\n * @property {(event: import('react').DragEvent) => void} onDraggableStart `onDragStart` handler.\n * @property {(event: import('react').DragEvent) => void} onDraggableEnd `onDragEnd` handler.\n */\n\n/**\n * @typedef Props\n * @property {(props: RenderProp) => JSX.Element | null} children Children.\n * @property {(event: import('react').DragEvent) => void} [onDragStart] Callback when dragging starts.\n * @property {(event: import('react').DragEvent) => void} [onDragOver] Callback when dragging happens over the document.\n * @property {(event: import('react').DragEvent) => void} [onDragEnd] Callback when dragging ends.\n * @property {string} [cloneClassname] Classname for the cloned element.\n * @property {string} [elementId] ID for the element.\n * @property {any} [transferData] Transfer data for the drag event.\n * @property {string} [__experimentalTransferDataType] The transfer data type to set.\n * @property {import('react').ReactNode} __experimentalDragComponent Component to show when dragging.\n */\n\n/**\n * @param {Props} props\n * @return {JSX.Element} A draggable component.\n */\nexport default function Draggable( {\n\tchildren,\n\tonDragStart,\n\tonDragOver,\n\tonDragEnd,\n\tcloneClassname,\n\telementId,\n\ttransferData,\n\t__experimentalTransferDataType: transferDataType = 'text',\n\t__experimentalDragComponent: dragComponent,\n} ) {\n\t/** @type {import('react').MutableRefObject<HTMLDivElement | null>} */\n\tconst dragComponentRef = useRef( null );\n\tconst cleanup = useRef( () => {} );\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t *\n\t * @param {import('react').DragEvent} event The non-custom DragEvent.\n\t */\n\tfunction end( event ) {\n\t\tevent.preventDefault();\n\t\tcleanup.current();\n\n\t\tif ( onDragEnd ) {\n\t\t\tonDragEnd( event );\n\t\t}\n\t}\n\n\t/**\n\t * This method does a couple of things:\n\t *\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t *\n\t * @param {import('react').DragEvent} event The non-custom DragEvent.\n\t */\n\tfunction start( event ) {\n\t\t// @ts-ignore We know that ownerDocument does exist on an Element\n\t\tconst { ownerDocument } = event.target;\n\n\t\tevent.dataTransfer.setData(\n\t\t\ttransferDataType,\n\t\t\tJSON.stringify( transferData )\n\t\t);\n\n\t\tconst cloneWrapper = ownerDocument.createElement( 'div' );\n\t\t// Reset position to 0,0. Natural stacking order will position this lower, even with a transform otherwise.\n\t\tcloneWrapper.style.top = 0;\n\t\tcloneWrapper.style.left = 0;\n\n\t\tconst dragImage = ownerDocument.createElement( 'div' );\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\townerDocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t}\n\n\t\tcloneWrapper.classList.add( cloneWrapperClass );\n\n\t\tif ( cloneClassname ) {\n\t\t\tcloneWrapper.classList.add( cloneClassname );\n\t\t}\n\n\t\tlet x = 0;\n\t\tlet y = 0;\n\t\t// If a dragComponent is defined, the following logic will clone the\n\t\t// HTML node and inject it into the cloneWrapper.\n\t\tif ( dragComponentRef.current ) {\n\t\t\t// Position dragComponent at the same position as the cursor.\n\t\t\tx = event.clientX;\n\t\t\ty = event.clientY;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\tconst clonedDragComponent = ownerDocument.createElement( 'div' );\n\t\t\tclonedDragComponent.innerHTML = dragComponentRef.current.innerHTML;\n\t\t\tcloneWrapper.appendChild( clonedDragComponent );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\townerDocument.body.appendChild( cloneWrapper );\n\t\t} else {\n\t\t\tconst element = ownerDocument.getElementById( elementId );\n\n\t\t\t// Prepare element clone and append to element wrapper.\n\t\t\tconst elementRect = element.getBoundingClientRect();\n\t\t\tconst elementWrapper = element.parentNode;\n\t\t\tconst elementTopOffset = parseInt( elementRect.top, 10 );\n\t\t\tconst elementLeftOffset = parseInt( elementRect.left, 10 );\n\n\t\t\tcloneWrapper.style.width = `${\n\t\t\t\telementRect.width + clonePadding * 2\n\t\t\t}px`;\n\n\t\t\tconst clone = element.cloneNode( true );\n\t\t\tclone.id = `clone-${ elementId }`;\n\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tx = elementLeftOffset - clonePadding;\n\t\t\ty = elementTopOffset - clonePadding;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze.\n\t\t\tArray.from(\n\t\t\t\tclone.querySelectorAll( 'iframe' )\n\t\t\t).forEach( ( child ) => child.parentNode.removeChild( child ) );\n\n\t\t\tcloneWrapper.appendChild( clone );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\telementWrapper.appendChild( cloneWrapper );\n\t\t}\n\n\t\t// Mark the current cursor coordinates.\n\t\tlet cursorLeft = event.clientX;\n\t\tlet cursorTop = event.clientY;\n\n\t\t/**\n\t\t * @param {import('react').DragEvent<Element>} e\n\t\t */\n\t\tfunction over( e ) {\n\t\t\t// Skip doing any work if mouse has not moved.\n\t\t\tif ( cursorLeft === e.clientX && cursorTop === e.clientY ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextX = x + e.clientX - cursorLeft;\n\t\t\tconst nextY = y + e.clientY - cursorTop;\n\t\t\tcloneWrapper.style.transform = `translate( ${ nextX }px, ${ nextY }px )`;\n\t\t\tcursorLeft = e.clientX;\n\t\t\tcursorTop = e.clientY;\n\t\t\tx = nextX;\n\t\t\ty = nextY;\n\t\t\tif ( onDragOver ) {\n\t\t\t\tonDragOver( e );\n\t\t\t}\n\t\t}\n\n\t\t// Aim for 60fps (16 ms per frame) for now. We can potentially use requestAnimationFrame (raf) instead,\n\t\t// note that browsers may throttle raf below 60fps in certain conditions.\n\t\tconst throttledDragOver = throttle( over, 16 );\n\n\t\townerDocument.addEventListener( 'dragover', throttledDragOver );\n\n\t\t// Update cursor to 'grabbing', document wide.\n\t\townerDocument.body.classList.add( bodyClass );\n\n\t\t// Allow the Synthetic Event to be accessed from asynchronous code.\n\t\t// https://reactjs.org/docs/events.html#event-pooling\n\t\tevent.persist();\n\n\t\t/** @type {number | undefined} */\n\t\tlet timerId;\n\n\t\tif ( onDragStart ) {\n\t\t\ttimerId = setTimeout( () => onDragStart( event ) );\n\t\t}\n\n\t\tcleanup.current = () => {\n\t\t\t// Remove drag clone.\n\t\t\tif ( cloneWrapper && cloneWrapper.parentNode ) {\n\t\t\t\tcloneWrapper.parentNode.removeChild( cloneWrapper );\n\t\t\t}\n\n\t\t\tif ( dragImage && dragImage.parentNode ) {\n\t\t\t\tdragImage.parentNode.removeChild( dragImage );\n\t\t\t}\n\n\t\t\t// Reset cursor.\n\t\t\townerDocument.body.classList.remove( bodyClass );\n\n\t\t\townerDocument.removeEventListener( 'dragover', throttledDragOver );\n\n\t\t\tclearTimeout( timerId );\n\t\t};\n\t}\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tcleanup.current();\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ children( {\n\t\t\t\tonDraggableStart: start,\n\t\t\t\tonDraggableEnd: end,\n\t\t\t} ) }\n\t\t\t{ dragComponent && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-draggable-drag-component-root\"\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\tref={ dragComponentRef }\n\t\t\t\t>\n\t\t\t\t\t{ dragComponent }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -23,7 +23,7 @@ var _hook = require("./hook");
23
23
 
24
24
  /**
25
25
  * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props
26
- * @param {import('react').Ref<any>} forwardedRef
26
+ * @param {import('react').ForwardedRef<any>} forwardedRef
27
27
  */
28
28
  function Elevation(props, forwardedRef) {
29
29
  const elevationProps = (0, _hook.useElevation)(props);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/elevation/component.js"],"names":["Elevation","props","forwardedRef","elevationProps","ConnectedElevation"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASA,SAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAA0C;AACzC,QAAMC,cAAc,GAAG,wBAAcF,KAAd,CAAvB;AAEA,SAAO,4BAAC,UAAD,6BAAWE,cAAX;AAA4B,IAAA,GAAG,EAAGD;AAAlC,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,kBAAkB,GAAG,6BAAgBJ,SAAhB,EAA2B,WAA3B,CAA3B;eAEeI,kB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport { useElevation } from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction Elevation( props, forwardedRef ) {\n\tconst elevationProps = useElevation( props );\n\n\treturn <View { ...elevationProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Elevation` is a core component that renders shadow, using the library's shadow system.\n *\n * The shadow effect is generated using the `value` prop.\n *\n * @example\n * ```jsx\n * import {\n *\t__experimentalElevation as Elevation,\n *\t__experimentalSurface as Surface,\n *\t__experimentalText as Text,\n * } from '@wordpress/components';\n *\n * function Example() {\n * \treturn (\n * \t\t<Surface>\n * \t\t\t<Text>Code is Poetry</Text>\n * \t\t\t<Elevation value={ 5 } />\n * \t\t</Surface>\n * \t);\n * }\n * ```\n */\nconst ConnectedElevation = contextConnect( Elevation, 'Elevation' );\n\nexport default ConnectedElevation;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/elevation/component.js"],"names":["Elevation","props","forwardedRef","elevationProps","ConnectedElevation"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASA,SAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAA0C;AACzC,QAAMC,cAAc,GAAG,wBAAcF,KAAd,CAAvB;AAEA,SAAO,4BAAC,UAAD,6BAAWE,cAAX;AAA4B,IAAA,GAAG,EAAGD;AAAlC,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,kBAAkB,GAAG,6BAAgBJ,SAAhB,EAA2B,WAA3B,CAA3B;eAEeI,kB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport { useElevation } from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction Elevation( props, forwardedRef ) {\n\tconst elevationProps = useElevation( props );\n\n\treturn <View { ...elevationProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Elevation` is a core component that renders shadow, using the library's shadow system.\n *\n * The shadow effect is generated using the `value` prop.\n *\n * @example\n * ```jsx\n * import {\n *\t__experimentalElevation as Elevation,\n *\t__experimentalSurface as Surface,\n *\t__experimentalText as Text,\n * } from '@wordpress/components';\n *\n * function Example() {\n * \treturn (\n * \t\t<Surface>\n * \t\t\t<Text>Code is Poetry</Text>\n * \t\t\t<Elevation value={ 5 } />\n * \t\t</Surface>\n * \t);\n * }\n * ```\n */\nconst ConnectedElevation = contextConnect( Elevation, 'Elevation' );\n\nexport default ConnectedElevation;\n"]}
@@ -25,7 +25,7 @@ var _view = require("../../view");
25
25
 
26
26
  /**
27
27
  * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexProps, 'div'>} props
28
- * @param {import('react').Ref<any>} forwardedRef
28
+ * @param {import('react').ForwardedRef<any>} forwardedRef
29
29
  */
30
30
  function Flex(props, forwardedRef) {
31
31
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/flex/flex/component.js"],"names":["Flex","props","forwardedRef","children","isColumn","otherProps","flexItemDisplay","undefined","ConnectedFlex"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA,SAASA,IAAT,CAAeC,KAAf,EAAsBC,YAAtB,EAAqC;AACpC,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsB,OAAGC;AAAzB,MAAwC,mBAASJ,KAAT,CAA9C;AAEA,SACC,4BAAC,qBAAD,CAAa,QAAb;AACC,IAAA,KAAK,EAAG;AAAEK,MAAAA,eAAe,EAAEF,QAAQ,GAAG,OAAH,GAAaG;AAAxC;AADT,KAGC,4BAAC,UAAD,6BAAWF,UAAX;AAAwB,IAAA,GAAG,EAAGH;AAA9B,MACGC,QADH,CAHD,CADD;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,aAAa,GAAG,6BAAgBR,IAAhB,EAAsB,MAAtB,CAAtB;eAEeQ,a","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { useFlex } from './hook';\nimport { FlexContext } from './../context';\nimport { View } from '../../view';\n\n/**\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexProps, 'div'>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction Flex( props, forwardedRef ) {\n\tconst { children, isColumn, ...otherProps } = useFlex( props );\n\n\treturn (\n\t\t<FlexContext.Provider\n\t\t\tvalue={ { flexItemDisplay: isColumn ? 'block' : undefined } }\n\t\t>\n\t\t\t<View { ...otherProps } ref={ forwardedRef }>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t</FlexContext.Provider>\n\t);\n}\n\n/**\n * `Flex` is a primitive layout component that adaptively aligns child content\n * horizontally or vertically. `Flex` powers components like `HStack` and\n * `VStack`.\n *\n * `Flex` is used with any of it's two sub-components, `FlexItem` and `FlexBlock`.\n *\n * @example\n * ```jsx\n * import {\n * \t__experimentalFlex as Flex,\n * \t__experimentalFlexBlock as FlexBlock,\n * \t__experimentalFlexItem as FlexItem,\n * \t__experimentalText as Text\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Flex>\n * \t\t\t<FlexItem>\n * \t\t\t\t<Text>Code</Text>\n * \t\t\t</FlexItem>\n * \t\t\t<FlexBlock>\n * \t\t\t\t<Text>Poetry</Text>\n * \t\t\t</FlexBlock>\n * \t\t</Flex>\n * \t);\n * }\n * ```\n *\n */\nconst ConnectedFlex = contextConnect( Flex, 'Flex' );\n\nexport default ConnectedFlex;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/flex/flex/component.js"],"names":["Flex","props","forwardedRef","children","isColumn","otherProps","flexItemDisplay","undefined","ConnectedFlex"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA,SAASA,IAAT,CAAeC,KAAf,EAAsBC,YAAtB,EAAqC;AACpC,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsB,OAAGC;AAAzB,MAAwC,mBAASJ,KAAT,CAA9C;AAEA,SACC,4BAAC,qBAAD,CAAa,QAAb;AACC,IAAA,KAAK,EAAG;AAAEK,MAAAA,eAAe,EAAEF,QAAQ,GAAG,OAAH,GAAaG;AAAxC;AADT,KAGC,4BAAC,UAAD,6BAAWF,UAAX;AAAwB,IAAA,GAAG,EAAGH;AAA9B,MACGC,QADH,CAHD,CADD;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,aAAa,GAAG,6BAAgBR,IAAhB,EAAsB,MAAtB,CAAtB;eAEeQ,a","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { useFlex } from './hook';\nimport { FlexContext } from './../context';\nimport { View } from '../../view';\n\n/**\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexProps, 'div'>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction Flex( props, forwardedRef ) {\n\tconst { children, isColumn, ...otherProps } = useFlex( props );\n\n\treturn (\n\t\t<FlexContext.Provider\n\t\t\tvalue={ { flexItemDisplay: isColumn ? 'block' : undefined } }\n\t\t>\n\t\t\t<View { ...otherProps } ref={ forwardedRef }>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t</FlexContext.Provider>\n\t);\n}\n\n/**\n * `Flex` is a primitive layout component that adaptively aligns child content\n * horizontally or vertically. `Flex` powers components like `HStack` and\n * `VStack`.\n *\n * `Flex` is used with any of it's two sub-components, `FlexItem` and `FlexBlock`.\n *\n * @example\n * ```jsx\n * import {\n * \t__experimentalFlex as Flex,\n * \t__experimentalFlexBlock as FlexBlock,\n * \t__experimentalFlexItem as FlexItem,\n * \t__experimentalText as Text\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Flex>\n * \t\t\t<FlexItem>\n * \t\t\t\t<Text>Code</Text>\n * \t\t\t</FlexItem>\n * \t\t\t<FlexBlock>\n * \t\t\t\t<Text>Poetry</Text>\n * \t\t\t</FlexBlock>\n * \t\t</Flex>\n * \t);\n * }\n * ```\n *\n */\nconst ConnectedFlex = contextConnect( Flex, 'Flex' );\n\nexport default ConnectedFlex;\n"]}
@@ -23,7 +23,7 @@ var _hook = require("./hook");
23
23
 
24
24
  /**
25
25
  * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexBlockProps, 'div'>} props
26
- * @param {import('react').Ref<any>} forwardedRef
26
+ * @param {import('react').ForwardedRef<any>} forwardedRef
27
27
  */
28
28
  function FlexBlock(props, forwardedRef) {
29
29
  const flexBlockProps = (0, _hook.useFlexBlock)(props);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/flex/flex-block/component.js"],"names":["FlexBlock","props","forwardedRef","flexBlockProps","ConnectedFlexBlock"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASA,SAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAA0C;AACzC,QAAMC,cAAc,GAAG,wBAAcF,KAAd,CAAvB;AAEA,SAAO,4BAAC,UAAD,6BAAWE,cAAX;AAA4B,IAAA,GAAG,EAAGD;AAAlC,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,kBAAkB,GAAG,6BAAgBJ,SAAhB,EAA2B,WAA3B,CAA3B;eAEeI,kB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { View } from '../../view';\nimport { useFlexBlock } from './hook';\n\n/**\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexBlockProps, 'div'>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction FlexBlock( props, forwardedRef ) {\n\tconst flexBlockProps = useFlexBlock( props );\n\n\treturn <View { ...flexBlockProps } ref={ forwardedRef } />;\n}\n\n/**\n * `FlexBlock` is a primitive layout component that adaptively resizes content within layout containers like `Flex`.\n *\n * @example\n * ```jsx\n * <Flex>\n * \t<FlexBlock>...</FlexBlock>\n * </Flex>\n * ```\n */\nconst ConnectedFlexBlock = contextConnect( FlexBlock, 'FlexBlock' );\n\nexport default ConnectedFlexBlock;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/flex/flex-block/component.js"],"names":["FlexBlock","props","forwardedRef","flexBlockProps","ConnectedFlexBlock"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASA,SAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAA0C;AACzC,QAAMC,cAAc,GAAG,wBAAcF,KAAd,CAAvB;AAEA,SAAO,4BAAC,UAAD,6BAAWE,cAAX;AAA4B,IAAA,GAAG,EAAGD;AAAlC,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,kBAAkB,GAAG,6BAAgBJ,SAAhB,EAA2B,WAA3B,CAA3B;eAEeI,kB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { View } from '../../view';\nimport { useFlexBlock } from './hook';\n\n/**\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexBlockProps, 'div'>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction FlexBlock( props, forwardedRef ) {\n\tconst flexBlockProps = useFlexBlock( props );\n\n\treturn <View { ...flexBlockProps } ref={ forwardedRef } />;\n}\n\n/**\n * `FlexBlock` is a primitive layout component that adaptively resizes content within layout containers like `Flex`.\n *\n * @example\n * ```jsx\n * <Flex>\n * \t<FlexBlock>...</FlexBlock>\n * </Flex>\n * ```\n */\nconst ConnectedFlexBlock = contextConnect( FlexBlock, 'FlexBlock' );\n\nexport default ConnectedFlexBlock;\n"]}
@@ -23,7 +23,7 @@ var _hook = require("./hook");
23
23
 
24
24
  /**
25
25
  * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexItemProps, 'div'>} props
26
- * @param {import('react').Ref<any>} forwardedRef
26
+ * @param {import('react').ForwardedRef<any>} forwardedRef
27
27
  */
28
28
  function FlexItem(props, forwardedRef) {
29
29
  const flexItemProps = (0, _hook.useFlexItem)(props);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/flex/flex-item/component.js"],"names":["FlexItem","props","forwardedRef","flexItemProps","ConnectedFlexItem"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASA,QAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAyC;AACxC,QAAMC,aAAa,GAAG,uBAAaF,KAAb,CAAtB;AAEA,SAAO,4BAAC,UAAD,6BAAWE,aAAX;AAA2B,IAAA,GAAG,EAAGD;AAAjC,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,iBAAiB,GAAG,6BAAgBJ,QAAhB,EAA0B,UAA1B,CAA1B;eAEeI,iB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { View } from '../../view';\nimport { useFlexItem } from './hook';\n\n/**\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexItemProps, 'div'>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction FlexItem( props, forwardedRef ) {\n\tconst flexItemProps = useFlexItem( props );\n\n\treturn <View { ...flexItemProps } ref={ forwardedRef } />;\n}\n\n/**\n * `FlexItem` is a primitive layout component that aligns content within layout containers like `Flex`.\n *\n * @example\n * ```jsx\n * <Flex>\n * \t<FlexItem>...</FlexItem>\n * </Flex>\n * ```\n */\nconst ConnectedFlexItem = contextConnect( FlexItem, 'FlexItem' );\n\nexport default ConnectedFlexItem;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/flex/flex-item/component.js"],"names":["FlexItem","props","forwardedRef","flexItemProps","ConnectedFlexItem"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,SAASA,QAAT,CAAmBC,KAAnB,EAA0BC,YAA1B,EAAyC;AACxC,QAAMC,aAAa,GAAG,uBAAaF,KAAb,CAAtB;AAEA,SAAO,4BAAC,UAAD,6BAAWE,aAAX;AAA2B,IAAA,GAAG,EAAGD;AAAjC,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,iBAAiB,GAAG,6BAAgBJ,QAAhB,EAA0B,UAA1B,CAA1B;eAEeI,iB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { View } from '../../view';\nimport { useFlexItem } from './hook';\n\n/**\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').FlexItemProps, 'div'>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction FlexItem( props, forwardedRef ) {\n\tconst flexItemProps = useFlexItem( props );\n\n\treturn <View { ...flexItemProps } ref={ forwardedRef } />;\n}\n\n/**\n * `FlexItem` is a primitive layout component that aligns content within layout containers like `Flex`.\n *\n * @example\n * ```jsx\n * <Flex>\n * \t<FlexItem>...</FlexItem>\n * </Flex>\n * ```\n */\nconst ConnectedFlexItem = contextConnect( FlexItem, 'FlexItem' );\n\nexport default ConnectedFlexItem;\n"]}
@@ -41,7 +41,7 @@ var _hook = require("./hook");
41
41
  /**
42
42
  *
43
43
  * @param {import('../../ui/context').WordPressComponentProps<import('../types').Props, 'div', false>} props
44
- * @param {import('react').Ref<any>} forwardedRef
44
+ * @param {import('react').ForwardedRef<any>} forwardedRef
45
45
  */
46
46
  function Flyout(props, forwardedRef) {
47
47
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/flyout/flyout/component.js"],"names":["Flyout","props","forwardedRef","children","elevation","label","maxWidth","onVisibleChange","trigger","flyoutState","otherProps","resizeListener","onResize","unstable_update","uniqueId","baseId","labelId","contextProps","triggerContent","triggerProps","visible","ref","ConnectedFlyout"],"mappings":";;;;;;;;;AASA;;;;AALA;;AAUA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAnBA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAuC;AACtC,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,KAHK;AAILC,IAAAA,QAJK;AAKLC,IAAAA,eALK;AAMLC,IAAAA,OANK;AAOLC,IAAAA,WAPK;AAQL,OAAGC;AARE,MASF,qBAAWT,KAAX,CATJ;AAWA,QAAMU,cAAc,GAAG,mCAAwB;AAC9CC,IAAAA,QAAQ,EAAEH,WAAW,CAACI;AADwB,GAAxB,CAAvB;AAIA,QAAMC,QAAQ,GAAI,UAAUL,WAAW,CAACM,MAAQ,EAAhD;AACA,QAAMC,OAAO,GAAGX,KAAK,IAAIS,QAAzB;AAEA,QAAMG,YAAY,GAAG,sBACpB,OAAQ;AACPZ,IAAAA,KAAK,EAAEW,OADA;AAEPP,IAAAA;AAFO,GAAR,CADoB,EAKpB,CAAEO,OAAF,EAAWP,WAAX,CALoB,CAArB;AAQA,QAAMS,cAAc,GAAG,0BACpBC,YAAF,IAAoB;AACnB,WAAO,2BAAcX,OAAd,EAAuBW,YAAvB,CAAP;AACA,GAHqB,EAItB,CAAEX,OAAF,CAJsB,CAAvB;AAOA,8BAAiB,MAAM;AACtBD,IAAAA,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAIE,WAAW,CAACW,OAAhB,CAAf;AACA,GAFD,EAEG,CAAEX,WAAW,CAACW,OAAd,CAFH;AAIA,SACC,4BAAC,uBAAD,CAAe,QAAf;AAAwB,IAAA,KAAK,EAAGH;AAAhC,KACGT,OAAO,IACR,4BAAC,yBAAD,6BACMC,WADN;AAEC,IAAA,GAAG,EAAGD,OAAO,CAACa;AAFf,KAGMb,OAAO,CAACP,KAHd,GAKGiB,cALH,CAFF,EAUC,4BAAC,cAAD,QACC,4BAAC,sBAAD;AACC,IAAA,GAAG,EAAGhB;AADP,KAEMQ,UAFN;AAGC,IAAA,SAAS,EAAGN,SAHb;AAIC,IAAA,QAAQ,EAAGE;AAJZ,MAMGK,cANH,EAOGR,QAPH,CADD,CAVD,CADD;AAwBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmB,eAAe,GAAG,6BAAgBtB,MAAhB,EAAwB,QAAxB,CAAxB;eAEesB,e","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport { PopoverDisclosure, Portal } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { FlyoutContext } from '../context';\nimport { useFlyoutResizeUpdater } from '../utils';\nimport FlyoutContent from '../flyout-content';\nimport { useUpdateEffect } from '../../utils/hooks';\nimport { useFlyout } from './hook';\n\n/**\n *\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').Props, 'div', false>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction Flyout( props, forwardedRef ) {\n\tconst {\n\t\tchildren,\n\t\televation,\n\t\tlabel,\n\t\tmaxWidth,\n\t\tonVisibleChange,\n\t\ttrigger,\n\t\tflyoutState,\n\t\t...otherProps\n\t} = useFlyout( props );\n\n\tconst resizeListener = useFlyoutResizeUpdater( {\n\t\tonResize: flyoutState.unstable_update,\n\t} );\n\n\tconst uniqueId = `flyout-${ flyoutState.baseId }`;\n\tconst labelId = label || uniqueId;\n\n\tconst contextProps = useMemo(\n\t\t() => ( {\n\t\t\tlabel: labelId,\n\t\t\tflyoutState,\n\t\t} ),\n\t\t[ labelId, flyoutState ]\n\t);\n\n\tconst triggerContent = useCallback(\n\t\t( triggerProps ) => {\n\t\t\treturn cloneElement( trigger, triggerProps );\n\t\t},\n\t\t[ trigger ]\n\t);\n\n\tuseUpdateEffect( () => {\n\t\tonVisibleChange?.( flyoutState.visible );\n\t}, [ flyoutState.visible ] );\n\n\treturn (\n\t\t<FlyoutContext.Provider value={ contextProps }>\n\t\t\t{ trigger && (\n\t\t\t\t<PopoverDisclosure\n\t\t\t\t\t{ ...flyoutState }\n\t\t\t\t\tref={ trigger.ref }\n\t\t\t\t\t{ ...trigger.props }\n\t\t\t\t>\n\t\t\t\t\t{ triggerContent }\n\t\t\t\t</PopoverDisclosure>\n\t\t\t) }\n\t\t\t<Portal>\n\t\t\t\t<FlyoutContent\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\televation={ elevation }\n\t\t\t\t\tmaxWidth={ maxWidth }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t{ children }\n\t\t\t\t</FlyoutContent>\n\t\t\t</Portal>\n\t\t</FlyoutContext.Provider>\n\t);\n}\n\n/**\n * `Flyout` is a component to render a floating content modal.\n * It is similar in purpose to a tooltip, but renders content of any sort,\n * not only simple text.\n *\n * @example\n * ```jsx\n * import { Button, __experimentalFlyout as Flyout, __experimentalText as } from '@wordpress/components';\n *\n * function Example() {\n * \treturn (\n * \t\t<Flyout trigger={ <Button>Show/Hide content</Button> }>\n *\t\t\t<Text>Code is Poetry</Text>\n * \t\t</Flyout>\n * \t);\n * }\n * ```\n */\nconst ConnectedFlyout = contextConnect( Flyout, 'Flyout' );\n\nexport default ConnectedFlyout;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/flyout/flyout/component.js"],"names":["Flyout","props","forwardedRef","children","elevation","label","maxWidth","onVisibleChange","trigger","flyoutState","otherProps","resizeListener","onResize","unstable_update","uniqueId","baseId","labelId","contextProps","triggerContent","triggerProps","visible","ref","ConnectedFlyout"],"mappings":";;;;;;;;;AASA;;;;AALA;;AAUA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAnBA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAuC;AACtC,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,KAHK;AAILC,IAAAA,QAJK;AAKLC,IAAAA,eALK;AAMLC,IAAAA,OANK;AAOLC,IAAAA,WAPK;AAQL,OAAGC;AARE,MASF,qBAAWT,KAAX,CATJ;AAWA,QAAMU,cAAc,GAAG,mCAAwB;AAC9CC,IAAAA,QAAQ,EAAEH,WAAW,CAACI;AADwB,GAAxB,CAAvB;AAIA,QAAMC,QAAQ,GAAI,UAAUL,WAAW,CAACM,MAAQ,EAAhD;AACA,QAAMC,OAAO,GAAGX,KAAK,IAAIS,QAAzB;AAEA,QAAMG,YAAY,GAAG,sBACpB,OAAQ;AACPZ,IAAAA,KAAK,EAAEW,OADA;AAEPP,IAAAA;AAFO,GAAR,CADoB,EAKpB,CAAEO,OAAF,EAAWP,WAAX,CALoB,CAArB;AAQA,QAAMS,cAAc,GAAG,0BACpBC,YAAF,IAAoB;AACnB,WAAO,2BAAcX,OAAd,EAAuBW,YAAvB,CAAP;AACA,GAHqB,EAItB,CAAEX,OAAF,CAJsB,CAAvB;AAOA,8BAAiB,MAAM;AACtBD,IAAAA,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAIE,WAAW,CAACW,OAAhB,CAAf;AACA,GAFD,EAEG,CAAEX,WAAW,CAACW,OAAd,CAFH;AAIA,SACC,4BAAC,uBAAD,CAAe,QAAf;AAAwB,IAAA,KAAK,EAAGH;AAAhC,KACGT,OAAO,IACR,4BAAC,yBAAD,6BACMC,WADN;AAEC,IAAA,GAAG,EAAGD,OAAO,CAACa;AAFf,KAGMb,OAAO,CAACP,KAHd,GAKGiB,cALH,CAFF,EAUC,4BAAC,cAAD,QACC,4BAAC,sBAAD;AACC,IAAA,GAAG,EAAGhB;AADP,KAEMQ,UAFN;AAGC,IAAA,SAAS,EAAGN,SAHb;AAIC,IAAA,QAAQ,EAAGE;AAJZ,MAMGK,cANH,EAOGR,QAPH,CADD,CAVD,CADD;AAwBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmB,eAAe,GAAG,6BAAgBtB,MAAhB,EAAwB,QAAxB,CAAxB;eAEesB,e","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport { PopoverDisclosure, Portal } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, cloneElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { contextConnect } from '../../ui/context';\nimport { FlyoutContext } from '../context';\nimport { useFlyoutResizeUpdater } from '../utils';\nimport FlyoutContent from '../flyout-content';\nimport { useUpdateEffect } from '../../utils/hooks';\nimport { useFlyout } from './hook';\n\n/**\n *\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').Props, 'div', false>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction Flyout( props, forwardedRef ) {\n\tconst {\n\t\tchildren,\n\t\televation,\n\t\tlabel,\n\t\tmaxWidth,\n\t\tonVisibleChange,\n\t\ttrigger,\n\t\tflyoutState,\n\t\t...otherProps\n\t} = useFlyout( props );\n\n\tconst resizeListener = useFlyoutResizeUpdater( {\n\t\tonResize: flyoutState.unstable_update,\n\t} );\n\n\tconst uniqueId = `flyout-${ flyoutState.baseId }`;\n\tconst labelId = label || uniqueId;\n\n\tconst contextProps = useMemo(\n\t\t() => ( {\n\t\t\tlabel: labelId,\n\t\t\tflyoutState,\n\t\t} ),\n\t\t[ labelId, flyoutState ]\n\t);\n\n\tconst triggerContent = useCallback(\n\t\t( triggerProps ) => {\n\t\t\treturn cloneElement( trigger, triggerProps );\n\t\t},\n\t\t[ trigger ]\n\t);\n\n\tuseUpdateEffect( () => {\n\t\tonVisibleChange?.( flyoutState.visible );\n\t}, [ flyoutState.visible ] );\n\n\treturn (\n\t\t<FlyoutContext.Provider value={ contextProps }>\n\t\t\t{ trigger && (\n\t\t\t\t<PopoverDisclosure\n\t\t\t\t\t{ ...flyoutState }\n\t\t\t\t\tref={ trigger.ref }\n\t\t\t\t\t{ ...trigger.props }\n\t\t\t\t>\n\t\t\t\t\t{ triggerContent }\n\t\t\t\t</PopoverDisclosure>\n\t\t\t) }\n\t\t\t<Portal>\n\t\t\t\t<FlyoutContent\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\televation={ elevation }\n\t\t\t\t\tmaxWidth={ maxWidth }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t{ children }\n\t\t\t\t</FlyoutContent>\n\t\t\t</Portal>\n\t\t</FlyoutContext.Provider>\n\t);\n}\n\n/**\n * `Flyout` is a component to render a floating content modal.\n * It is similar in purpose to a tooltip, but renders content of any sort,\n * not only simple text.\n *\n * @example\n * ```jsx\n * import { Button, __experimentalFlyout as Flyout, __experimentalText as } from '@wordpress/components';\n *\n * function Example() {\n * \treturn (\n * \t\t<Flyout trigger={ <Button>Show/Hide content</Button> }>\n *\t\t\t<Text>Code is Poetry</Text>\n * \t\t</Flyout>\n * \t);\n * }\n * ```\n */\nconst ConnectedFlyout = contextConnect( Flyout, 'Flyout' );\n\nexport default ConnectedFlyout;\n"]}
@@ -24,7 +24,7 @@ var _context2 = require("../../ui/context");
24
24
  /**
25
25
  *
26
26
  * @param {import('../../ui/context').WordPressComponentProps<import('../types').ContentProps, 'div', false>} props
27
- * @param {import('react').Ref<any>} forwardedRef
27
+ * @param {import('react').ForwardedRef<any>} forwardedRef forwardedRef
28
28
  */
29
29
  function FlyoutContent(props, forwardedRef) {
30
30
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/flyout/flyout-content/component.js"],"names":["FlyoutContent","props","forwardedRef","children","elevation","maxWidth","style","otherProps","label","flyoutState","Error","showContent","visible","animating","ConnectedFlyoutContent"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAT,CAAwBC,KAAxB,EAA+BC,YAA/B,EAA8C;AAC7C,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,KAAK,GAAG,EAJH;AAKL,OAAGC;AALE,MAMF,gCAAkBN,KAAlB,EAAyB,eAAzB,CANJ;AAQA,QAAM;AAAEO,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAyB,gCAA/B;;AAEA,MAAK,CAAEA,WAAP,EAAqB;AACpB,UAAM,IAAIC,KAAJ,CACL,sDADK,CAAN;AAGA;;AAED,QAAMC,WAAW,GAAGF,WAAW,CAACG,OAAZ,IAAuBH,WAAW,CAACI,SAAvD;AAEA,SACC,4BAAC,yBAAD;AACC,kBAAaL,KADd,CAEC;AACA;AACA;AAJD;AAKC,IAAA,KAAK,EAAG;AAAEH,MAAAA,QAAF;AAAY,SAAGC;AAAf;AALT,KAMMC,UANN,EAOME,WAPN,GASGE,WAAW,IACZ,4BAAC,gBAAD;AAAU,IAAA,SAAS,EAAGP,SAAtB;AAAkC,IAAA,GAAG,EAAGF;AAAxC,KACGC,QADH,CAVF,CADD;AAiBA;;AAED,MAAMW,sBAAsB,GAAG,8BAAgBd,aAAhB,EAA+B,eAA/B,CAA/B;eAEec,sB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { useFlyoutContext } from '../context';\nimport { FlyoutContentView, CardView } from '../styles';\nimport { contextConnect, useContextSystem } from '../../ui/context';\n\n/**\n *\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').ContentProps, 'div', false>} props\n * @param {import('react').Ref<any>} forwardedRef\n */\nfunction FlyoutContent( props, forwardedRef ) {\n\tconst {\n\t\tchildren,\n\t\televation,\n\t\tmaxWidth,\n\t\tstyle = {},\n\t\t...otherProps\n\t} = useContextSystem( props, 'FlyoutContent' );\n\n\tconst { label, flyoutState } = useFlyoutContext();\n\n\tif ( ! flyoutState ) {\n\t\tthrow new Error(\n\t\t\t'`FlyoutContent` must only be used inside a `Flyout`.'\n\t\t);\n\t}\n\n\tconst showContent = flyoutState.visible || flyoutState.animating;\n\n\treturn (\n\t\t<FlyoutContentView\n\t\t\taria-label={ label }\n\t\t\t// maxWidth is applied via inline styles in order to avoid the `React does\n\t\t\t// not recognize the maxWidth prop on a DOM element` error that comes from\n\t\t\t// passing `maxWidth` as a prop to `FlyoutContentView`\n\t\t\tstyle={ { maxWidth, ...style } }\n\t\t\t{ ...otherProps }\n\t\t\t{ ...flyoutState }\n\t\t>\n\t\t\t{ showContent && (\n\t\t\t\t<CardView elevation={ elevation } ref={ forwardedRef }>\n\t\t\t\t\t{ children }\n\t\t\t\t</CardView>\n\t\t\t) }\n\t\t</FlyoutContentView>\n\t);\n}\n\nconst ConnectedFlyoutContent = contextConnect( FlyoutContent, 'FlyoutContent' );\n\nexport default ConnectedFlyoutContent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/flyout/flyout-content/component.js"],"names":["FlyoutContent","props","forwardedRef","children","elevation","maxWidth","style","otherProps","label","flyoutState","Error","showContent","visible","animating","ConnectedFlyoutContent"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAT,CAAwBC,KAAxB,EAA+BC,YAA/B,EAA8C;AAC7C,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,KAAK,GAAG,EAJH;AAKL,OAAGC;AALE,MAMF,gCAAkBN,KAAlB,EAAyB,eAAzB,CANJ;AAQA,QAAM;AAAEO,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAyB,gCAA/B;;AAEA,MAAK,CAAEA,WAAP,EAAqB;AACpB,UAAM,IAAIC,KAAJ,CACL,sDADK,CAAN;AAGA;;AAED,QAAMC,WAAW,GAAGF,WAAW,CAACG,OAAZ,IAAuBH,WAAW,CAACI,SAAvD;AAEA,SACC,4BAAC,yBAAD;AACC,kBAAaL,KADd,CAEC;AACA;AACA;AAJD;AAKC,IAAA,KAAK,EAAG;AAAEH,MAAAA,QAAF;AAAY,SAAGC;AAAf;AALT,KAMMC,UANN,EAOME,WAPN,GASGE,WAAW,IACZ,4BAAC,gBAAD;AAAU,IAAA,SAAS,EAAGP,SAAtB;AAAkC,IAAA,GAAG,EAAGF;AAAxC,KACGC,QADH,CAVF,CADD;AAiBA;;AAED,MAAMW,sBAAsB,GAAG,8BAAgBd,aAAhB,EAA+B,eAA/B,CAA/B;eAEec,sB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { useFlyoutContext } from '../context';\nimport { FlyoutContentView, CardView } from '../styles';\nimport { contextConnect, useContextSystem } from '../../ui/context';\n\n/**\n *\n * @param {import('../../ui/context').WordPressComponentProps<import('../types').ContentProps, 'div', false>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef forwardedRef\n */\nfunction FlyoutContent( props, forwardedRef ) {\n\tconst {\n\t\tchildren,\n\t\televation,\n\t\tmaxWidth,\n\t\tstyle = {},\n\t\t...otherProps\n\t} = useContextSystem( props, 'FlyoutContent' );\n\n\tconst { label, flyoutState } = useFlyoutContext();\n\n\tif ( ! flyoutState ) {\n\t\tthrow new Error(\n\t\t\t'`FlyoutContent` must only be used inside a `Flyout`.'\n\t\t);\n\t}\n\n\tconst showContent = flyoutState.visible || flyoutState.animating;\n\n\treturn (\n\t\t<FlyoutContentView\n\t\t\taria-label={ label }\n\t\t\t// maxWidth is applied via inline styles in order to avoid the `React does\n\t\t\t// not recognize the maxWidth prop on a DOM element` error that comes from\n\t\t\t// passing `maxWidth` as a prop to `FlyoutContentView`\n\t\t\tstyle={ { maxWidth, ...style } }\n\t\t\t{ ...otherProps }\n\t\t\t{ ...flyoutState }\n\t\t>\n\t\t\t{ showContent && (\n\t\t\t\t<CardView elevation={ elevation } ref={ forwardedRef }>\n\t\t\t\t\t{ children }\n\t\t\t\t</CardView>\n\t\t\t) }\n\t\t</FlyoutContentView>\n\t);\n}\n\nconst ConnectedFlyoutContent = contextConnect( FlyoutContent, 'FlyoutContent' );\n\nexport default ConnectedFlyoutContent;\n"]}
@@ -66,8 +66,9 @@ class FocalPointPicker extends _element.Component {
66
66
  };
67
67
 
68
68
  this.onChangeAtControls = value => {
69
- this.updateValue(value);
70
- this.props.onChange(value);
69
+ this.updateValue(value, () => {
70
+ this.props.onChange(this.state.percentages);
71
+ });
71
72
  };
72
73
 
73
74
  this.updateBounds = this.updateBounds.bind(this);
@@ -161,18 +162,22 @@ class FocalPointPicker extends _element.Component {
161
162
  }
162
163
 
163
164
  updateValue() {
165
+ var _this$props$resolvePo, _this$props$resolvePo2, _this$props;
166
+
164
167
  let nextValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
168
+ let callback = arguments.length > 1 ? arguments[1] : undefined;
169
+ const resolvedValue = (_this$props$resolvePo = (_this$props$resolvePo2 = (_this$props = this.props).resolvePoint) === null || _this$props$resolvePo2 === void 0 ? void 0 : _this$props$resolvePo2.call(_this$props, nextValue)) !== null && _this$props$resolvePo !== void 0 ? _this$props$resolvePo : nextValue;
165
170
  const {
166
171
  x,
167
172
  y
168
- } = nextValue;
173
+ } = resolvedValue;
169
174
  const nextPercentage = {
170
175
  x: parseFloat(x).toFixed(2),
171
176
  y: parseFloat(y).toFixed(2)
172
177
  };
173
178
  this.setState({
174
179
  percentages: nextPercentage
175
- });
180
+ }, callback);
176
181
  }
177
182
 
178
183
  updateBounds() {
@@ -182,7 +187,7 @@ class FocalPointPicker extends _element.Component {
182
187
  }
183
188
 
184
189
  startDrag(event) {
185
- var _this$props$onDragSta, _this$props;
190
+ var _this$props$onDragSta, _this$props2;
186
191
 
187
192
  event.persist();
188
193
  this.containerRef.current.focus();
@@ -199,11 +204,11 @@ class FocalPointPicker extends _element.Component {
199
204
  y: event.pageY
200
205
  }, event.shiftKey);
201
206
  this.updateValue(value);
202
- (_this$props$onDragSta = (_this$props = this.props).onDragStart) === null || _this$props$onDragSta === void 0 ? void 0 : _this$props$onDragSta.call(_this$props, value, event);
207
+ (_this$props$onDragSta = (_this$props2 = this.props).onDragStart) === null || _this$props$onDragSta === void 0 ? void 0 : _this$props$onDragSta.call(_this$props2, value, event);
203
208
  }
204
209
 
205
210
  stopDrag(event) {
206
- var _this$props$onDragEnd, _this$props2;
211
+ var _this$props$onDragEnd, _this$props3;
207
212
 
208
213
  const {
209
214
  ownerDocument
@@ -215,7 +220,7 @@ class FocalPointPicker extends _element.Component {
215
220
  }, () => {
216
221
  this.props.onChange(this.state.percentages);
217
222
  });
218
- (_this$props$onDragEnd = (_this$props2 = this.props).onDragEnd) === null || _this$props$onDragEnd === void 0 ? void 0 : _this$props$onDragEnd.call(_this$props2, event);
223
+ (_this$props$onDragEnd = (_this$props3 = this.props).onDragEnd) === null || _this$props$onDragEnd === void 0 ? void 0 : _this$props$onDragEnd.call(_this$props3, event);
219
224
  }
220
225
 
221
226
  onKeyDown(event) {
@@ -232,12 +237,13 @@ class FocalPointPicker extends _element.Component {
232
237
  const axis = keyCode === _keycodes.UP || keyCode === _keycodes.DOWN ? 'y' : 'x';
233
238
  const value = parseFloat(next[axis]) + delta;
234
239
  next[axis] = (0, _math.roundClamp)(value, 0, 1, step);
235
- this.updateValue(next);
236
- this.props.onChange(next);
240
+ this.updateValue(next, () => {
241
+ this.props.onChange(this.state.percentages);
242
+ });
237
243
  }
238
244
 
239
245
  doDrag(event) {
240
- var _this$props$onDrag, _this$props3;
246
+ var _this$props$onDrag, _this$props4;
241
247
 
242
248
  // Prevents text-selection when dragging.
243
249
  event.preventDefault();
@@ -246,7 +252,7 @@ class FocalPointPicker extends _element.Component {
246
252
  y: event.pageY
247
253
  }, event.shiftKey);
248
254
  this.updateValue(value);
249
- (_this$props$onDrag = (_this$props3 = this.props).onDrag) === null || _this$props$onDrag === void 0 ? void 0 : _this$props$onDrag.call(_this$props3, value, event);
255
+ (_this$props$onDrag = (_this$props4 = this.props).onDrag) === null || _this$props$onDrag === void 0 ? void 0 : _this$props$onDrag.call(_this$props4, value, event);
250
256
  }
251
257
 
252
258
  getValueFromPoint(point, byTenths) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/focal-point-picker/index.js"],"names":["FocalPointPicker","Component","constructor","props","arguments","state","isDragging","bounds","INITIAL_BOUNDS","percentages","value","containerRef","mediaRef","onMouseDown","startDrag","bind","onMouseUp","stopDrag","onKeyDown","onMouseMove","doDrag","ifDraggingStop","onChangeAtControls","updateValue","onChange","updateBounds","componentDidMount","defaultView","current","ownerDocument","addEventListener","componentDidUpdate","prevProps","url","x","y","setState","componentWillUnmount","removeEventListener","calculateBounds","clientWidth","clientHeight","dimensions","width","height","pickerDimensions","widthRatio","heightRatio","right","top","bottom","left","nextValue","nextPercentage","parseFloat","toFixed","event","persist","focus","getValueFromPoint","pageX","pageY","shiftKey","onDragStart","onDragEnd","keyCode","UP","DOWN","LEFT","RIGHT","includes","preventDefault","next","step","delta","axis","onDrag","point","byTenths","relativePoint","Math","max","min","nextX","nextY","containerNode","getBoundingClientRect","document","body","scrollTop","iconCoordinates","undefined","render","autoPlay","className","help","instanceId","label","classes","id","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Controls from './controls';\nimport FocalPoint from './focal-point';\nimport Grid from './grid';\nimport Media from './media';\nimport {\n\tMediaWrapper,\n\tMediaContainer,\n} from './styles/focal-point-picker-style';\nimport { roundClamp } from '../utils/math';\nimport { INITIAL_BOUNDS } from './utils';\n\nexport class FocalPointPicker extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tisDragging: false,\n\t\t\tbounds: INITIAL_BOUNDS,\n\t\t\tpercentages: props.value,\n\t\t};\n\n\t\tthis.containerRef = createRef();\n\t\tthis.mediaRef = createRef();\n\n\t\tthis.onMouseDown = this.startDrag.bind( this );\n\t\tthis.onMouseUp = this.stopDrag.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onMouseMove = this.doDrag.bind( this );\n\t\tthis.ifDraggingStop = () => {\n\t\t\tif ( this.state.isDragging ) {\n\t\t\t\tthis.stopDrag();\n\t\t\t}\n\t\t};\n\t\tthis.onChangeAtControls = ( value ) => {\n\t\t\tthis.updateValue( value );\n\t\t\tthis.props.onChange( value );\n\t\t};\n\n\t\tthis.updateBounds = this.updateBounds.bind( this );\n\t\tthis.updateValue = this.updateValue.bind( this );\n\t}\n\tcomponentDidMount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.addEventListener( 'resize', this.updateBounds );\n\n\t\t/*\n\t\t * Set initial bound values.\n\t\t *\n\t\t * This is necessary for Safari:\n\t\t * https://github.com/WordPress/gutenberg/issues/25814\n\t\t */\n\t\tthis.updateBounds();\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.url !== this.props.url ) {\n\t\t\tthis.ifDraggingStop();\n\t\t}\n\t\t/*\n\t\t * Handles cases where the incoming value changes.\n\t\t * An example is the values resetting based on an UNDO action.\n\t\t */\n\t\tconst {\n\t\t\tisDragging,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\t\tconst { value } = this.props;\n\t\tif ( ! isDragging && ( value.x !== x || value.y !== y ) ) {\n\t\t\tthis.setState( { percentages: this.props.value } );\n\t\t}\n\t}\n\tcomponentWillUnmount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.removeEventListener( 'resize', this.updateBounds );\n\t\tthis.ifDraggingStop();\n\t}\n\tcalculateBounds() {\n\t\tconst bounds = INITIAL_BOUNDS;\n\n\t\tif ( ! this.mediaRef.current ) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\t// Prevent division by zero when updateBounds runs in componentDidMount\n\t\tif (\n\t\t\tthis.mediaRef.current.clientWidth === 0 ||\n\t\t\tthis.mediaRef.current.clientHeight === 0\n\t\t) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\tconst dimensions = {\n\t\t\twidth: this.mediaRef.current.clientWidth,\n\t\t\theight: this.mediaRef.current.clientHeight,\n\t\t};\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\n\t\tconst widthRatio = pickerDimensions.width / dimensions.width;\n\t\tconst heightRatio = pickerDimensions.height / dimensions.height;\n\n\t\tif ( heightRatio >= widthRatio ) {\n\t\t\tbounds.width = bounds.right = pickerDimensions.width;\n\t\t\tbounds.height = dimensions.height * widthRatio;\n\t\t\tbounds.top = ( pickerDimensions.height - bounds.height ) / 2;\n\t\t\tbounds.bottom = bounds.top + bounds.height;\n\t\t} else {\n\t\t\tbounds.height = bounds.bottom = pickerDimensions.height;\n\t\t\tbounds.width = dimensions.width * heightRatio;\n\t\t\tbounds.left = ( pickerDimensions.width - bounds.width ) / 2;\n\t\t\tbounds.right = bounds.left + bounds.width;\n\t\t}\n\t\treturn bounds;\n\t}\n\tupdateValue( nextValue = {} ) {\n\t\tconst { x, y } = nextValue;\n\n\t\tconst nextPercentage = {\n\t\t\tx: parseFloat( x ).toFixed( 2 ),\n\t\t\ty: parseFloat( y ).toFixed( 2 ),\n\t\t};\n\n\t\tthis.setState( { percentages: nextPercentage } );\n\t}\n\tupdateBounds() {\n\t\tthis.setState( {\n\t\t\tbounds: this.calculateBounds(),\n\t\t} );\n\t}\n\tstartDrag( event ) {\n\t\tevent.persist();\n\t\tthis.containerRef.current.focus();\n\t\tthis.setState( { isDragging: true } );\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.addEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.addEventListener( 'mousemove', this.onMouseMove );\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDragStart?.( value, event );\n\t}\n\tstopDrag( event ) {\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.removeEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.removeEventListener( 'mousemove', this.onMouseMove );\n\t\tthis.setState( { isDragging: false }, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t\tthis.props.onDragEnd?.( event );\n\t}\n\tonKeyDown( event ) {\n\t\tconst { keyCode, shiftKey } = event;\n\t\tif ( ! [ UP, DOWN, LEFT, RIGHT ].includes( keyCode ) ) return;\n\n\t\tevent.preventDefault();\n\n\t\tconst next = { ...this.state.percentages };\n\t\tconst step = shiftKey ? 0.1 : 0.01;\n\t\tconst delta = keyCode === UP || keyCode === LEFT ? -1 * step : step;\n\t\tconst axis = keyCode === UP || keyCode === DOWN ? 'y' : 'x';\n\t\tconst value = parseFloat( next[ axis ] ) + delta;\n\n\t\tnext[ axis ] = roundClamp( value, 0, 1, step );\n\n\t\tthis.updateValue( next );\n\t\tthis.props.onChange( next );\n\t}\n\tdoDrag( event ) {\n\t\t// Prevents text-selection when dragging.\n\t\tevent.preventDefault();\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDrag?.( value, event );\n\t}\n\tgetValueFromPoint( point, byTenths ) {\n\t\tconst { bounds } = this.state;\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\t\tconst relativePoint = {\n\t\t\tleft: point.x - pickerDimensions.left,\n\t\t\ttop: point.y - pickerDimensions.top,\n\t\t};\n\n\t\tconst left = Math.max(\n\t\t\tbounds.left,\n\t\t\tMath.min( relativePoint.left, bounds.right )\n\t\t);\n\t\tconst top = Math.max(\n\t\t\tbounds.top,\n\t\t\tMath.min( relativePoint.top, bounds.bottom )\n\t\t);\n\n\t\tlet nextX =\n\t\t\t( left - bounds.left ) /\n\t\t\t( pickerDimensions.width - bounds.left * 2 );\n\t\tlet nextY =\n\t\t\t( top - bounds.top ) / ( pickerDimensions.height - bounds.top * 2 );\n\n\t\t// Enables holding shift to jump values by 10%\n\t\tconst step = byTenths ? 0.1 : 0.01;\n\n\t\tnextX = roundClamp( nextX, 0, 1, step );\n\t\tnextY = roundClamp( nextY, 0, 1, step );\n\n\t\treturn { x: nextX, y: nextY };\n\t}\n\tpickerDimensions() {\n\t\tconst containerNode = this.containerRef.current;\n\n\t\tif ( ! containerNode ) {\n\t\t\treturn {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t};\n\t\t}\n\n\t\tconst { clientHeight, clientWidth } = containerNode;\n\t\tconst { top, left } = containerNode.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: clientWidth,\n\t\t\theight: clientHeight,\n\t\t\ttop: top + document.body.scrollTop,\n\t\t\tleft,\n\t\t};\n\t}\n\ticonCoordinates() {\n\t\tconst {\n\t\t\tbounds,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\n\t\tif ( bounds.left === undefined || bounds.top === undefined ) {\n\t\t\treturn {\n\t\t\t\tleft: '50%',\n\t\t\t\ttop: '50%',\n\t\t\t};\n\t\t}\n\n\t\tconst { width, height } = this.pickerDimensions();\n\t\treturn {\n\t\t\tleft: x * ( width - bounds.left * 2 ) + bounds.left,\n\t\t\ttop: y * ( height - bounds.top * 2 ) + bounds.top,\n\t\t};\n\t}\n\trender() {\n\t\tconst {\n\t\t\tautoPlay,\n\t\t\tclassName,\n\t\t\thelp,\n\t\t\tinstanceId,\n\t\t\tlabel,\n\t\t\turl,\n\t\t} = this.props;\n\t\tconst { bounds, isDragging, percentages } = this.state;\n\t\tconst iconCoordinates = this.iconCoordinates();\n\n\t\tconst classes = classnames(\n\t\t\t'components-focal-point-picker-control',\n\t\t\tclassName\n\t\t);\n\n\t\tconst id = `inspector-focal-point-picker-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ classes }\n\t\t\t>\n\t\t\t\t<MediaWrapper className=\"components-focal-point-picker-wrapper\">\n\t\t\t\t\t<MediaContainer\n\t\t\t\t\t\tclassName=\"components-focal-point-picker\"\n\t\t\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\t\t\tonMouseDown={ this.onMouseDown }\n\t\t\t\t\t\tonBlur={ this.ifDraggingStop }\n\t\t\t\t\t\tref={ this.containerRef }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tbounds={ bounds }\n\t\t\t\t\t\t\tvalue={ percentages.x + percentages.y }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Media\n\t\t\t\t\t\t\talt={ __( 'Media preview' ) }\n\t\t\t\t\t\t\tautoPlay={ autoPlay }\n\t\t\t\t\t\t\tmediaRef={ this.mediaRef }\n\t\t\t\t\t\t\tonLoad={ this.updateBounds }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FocalPoint\n\t\t\t\t\t\t\tcoordinates={ iconCoordinates }\n\t\t\t\t\t\t\tisDragging={ isDragging }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaContainer>\n\t\t\t\t</MediaWrapper>\n\t\t\t\t<Controls\n\t\t\t\t\tpercentages={ percentages }\n\t\t\t\t\tonChange={ this.onChangeAtControls }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nFocalPointPicker.defaultProps = {\n\tautoPlay: true,\n\tvalue: {\n\t\tx: 0.5,\n\t\ty: 0.5,\n\t},\n\turl: null,\n};\n\nexport default withInstanceId( FocalPointPicker );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/focal-point-picker/index.js"],"names":["FocalPointPicker","Component","constructor","props","arguments","state","isDragging","bounds","INITIAL_BOUNDS","percentages","value","containerRef","mediaRef","onMouseDown","startDrag","bind","onMouseUp","stopDrag","onKeyDown","onMouseMove","doDrag","ifDraggingStop","onChangeAtControls","updateValue","onChange","updateBounds","componentDidMount","defaultView","current","ownerDocument","addEventListener","componentDidUpdate","prevProps","url","x","y","setState","componentWillUnmount","removeEventListener","calculateBounds","clientWidth","clientHeight","dimensions","width","height","pickerDimensions","widthRatio","heightRatio","right","top","bottom","left","nextValue","callback","resolvedValue","resolvePoint","nextPercentage","parseFloat","toFixed","event","persist","focus","getValueFromPoint","pageX","pageY","shiftKey","onDragStart","onDragEnd","keyCode","UP","DOWN","LEFT","RIGHT","includes","preventDefault","next","step","delta","axis","onDrag","point","byTenths","relativePoint","Math","max","min","nextX","nextY","containerNode","getBoundingClientRect","document","body","scrollTop","iconCoordinates","undefined","render","autoPlay","className","help","instanceId","label","classes","id","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Controls from './controls';\nimport FocalPoint from './focal-point';\nimport Grid from './grid';\nimport Media from './media';\nimport {\n\tMediaWrapper,\n\tMediaContainer,\n} from './styles/focal-point-picker-style';\nimport { roundClamp } from '../utils/math';\nimport { INITIAL_BOUNDS } from './utils';\n\nexport class FocalPointPicker extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tisDragging: false,\n\t\t\tbounds: INITIAL_BOUNDS,\n\t\t\tpercentages: props.value,\n\t\t};\n\n\t\tthis.containerRef = createRef();\n\t\tthis.mediaRef = createRef();\n\n\t\tthis.onMouseDown = this.startDrag.bind( this );\n\t\tthis.onMouseUp = this.stopDrag.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onMouseMove = this.doDrag.bind( this );\n\t\tthis.ifDraggingStop = () => {\n\t\t\tif ( this.state.isDragging ) {\n\t\t\t\tthis.stopDrag();\n\t\t\t}\n\t\t};\n\t\tthis.onChangeAtControls = ( value ) => {\n\t\t\tthis.updateValue( value, () => {\n\t\t\t\tthis.props.onChange( this.state.percentages );\n\t\t\t} );\n\t\t};\n\n\t\tthis.updateBounds = this.updateBounds.bind( this );\n\t\tthis.updateValue = this.updateValue.bind( this );\n\t}\n\tcomponentDidMount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.addEventListener( 'resize', this.updateBounds );\n\n\t\t/*\n\t\t * Set initial bound values.\n\t\t *\n\t\t * This is necessary for Safari:\n\t\t * https://github.com/WordPress/gutenberg/issues/25814\n\t\t */\n\t\tthis.updateBounds();\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.url !== this.props.url ) {\n\t\t\tthis.ifDraggingStop();\n\t\t}\n\t\t/*\n\t\t * Handles cases where the incoming value changes.\n\t\t * An example is the values resetting based on an UNDO action.\n\t\t */\n\t\tconst {\n\t\t\tisDragging,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\t\tconst { value } = this.props;\n\t\tif ( ! isDragging && ( value.x !== x || value.y !== y ) ) {\n\t\t\tthis.setState( { percentages: this.props.value } );\n\t\t}\n\t}\n\tcomponentWillUnmount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.removeEventListener( 'resize', this.updateBounds );\n\t\tthis.ifDraggingStop();\n\t}\n\tcalculateBounds() {\n\t\tconst bounds = INITIAL_BOUNDS;\n\n\t\tif ( ! this.mediaRef.current ) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\t// Prevent division by zero when updateBounds runs in componentDidMount\n\t\tif (\n\t\t\tthis.mediaRef.current.clientWidth === 0 ||\n\t\t\tthis.mediaRef.current.clientHeight === 0\n\t\t) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\tconst dimensions = {\n\t\t\twidth: this.mediaRef.current.clientWidth,\n\t\t\theight: this.mediaRef.current.clientHeight,\n\t\t};\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\n\t\tconst widthRatio = pickerDimensions.width / dimensions.width;\n\t\tconst heightRatio = pickerDimensions.height / dimensions.height;\n\n\t\tif ( heightRatio >= widthRatio ) {\n\t\t\tbounds.width = bounds.right = pickerDimensions.width;\n\t\t\tbounds.height = dimensions.height * widthRatio;\n\t\t\tbounds.top = ( pickerDimensions.height - bounds.height ) / 2;\n\t\t\tbounds.bottom = bounds.top + bounds.height;\n\t\t} else {\n\t\t\tbounds.height = bounds.bottom = pickerDimensions.height;\n\t\t\tbounds.width = dimensions.width * heightRatio;\n\t\t\tbounds.left = ( pickerDimensions.width - bounds.width ) / 2;\n\t\t\tbounds.right = bounds.left + bounds.width;\n\t\t}\n\t\treturn bounds;\n\t}\n\tupdateValue( nextValue = {}, callback ) {\n\t\tconst resolvedValue =\n\t\t\tthis.props.resolvePoint?.( nextValue ) ?? nextValue;\n\n\t\tconst { x, y } = resolvedValue;\n\n\t\tconst nextPercentage = {\n\t\t\tx: parseFloat( x ).toFixed( 2 ),\n\t\t\ty: parseFloat( y ).toFixed( 2 ),\n\t\t};\n\n\t\tthis.setState( { percentages: nextPercentage }, callback );\n\t}\n\tupdateBounds() {\n\t\tthis.setState( {\n\t\t\tbounds: this.calculateBounds(),\n\t\t} );\n\t}\n\tstartDrag( event ) {\n\t\tevent.persist();\n\t\tthis.containerRef.current.focus();\n\t\tthis.setState( { isDragging: true } );\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.addEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.addEventListener( 'mousemove', this.onMouseMove );\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDragStart?.( value, event );\n\t}\n\tstopDrag( event ) {\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.removeEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.removeEventListener( 'mousemove', this.onMouseMove );\n\t\tthis.setState( { isDragging: false }, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t\tthis.props.onDragEnd?.( event );\n\t}\n\tonKeyDown( event ) {\n\t\tconst { keyCode, shiftKey } = event;\n\t\tif ( ! [ UP, DOWN, LEFT, RIGHT ].includes( keyCode ) ) return;\n\n\t\tevent.preventDefault();\n\n\t\tconst next = { ...this.state.percentages };\n\t\tconst step = shiftKey ? 0.1 : 0.01;\n\t\tconst delta = keyCode === UP || keyCode === LEFT ? -1 * step : step;\n\t\tconst axis = keyCode === UP || keyCode === DOWN ? 'y' : 'x';\n\t\tconst value = parseFloat( next[ axis ] ) + delta;\n\n\t\tnext[ axis ] = roundClamp( value, 0, 1, step );\n\n\t\tthis.updateValue( next, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t}\n\tdoDrag( event ) {\n\t\t// Prevents text-selection when dragging.\n\t\tevent.preventDefault();\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDrag?.( value, event );\n\t}\n\tgetValueFromPoint( point, byTenths ) {\n\t\tconst { bounds } = this.state;\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\t\tconst relativePoint = {\n\t\t\tleft: point.x - pickerDimensions.left,\n\t\t\ttop: point.y - pickerDimensions.top,\n\t\t};\n\n\t\tconst left = Math.max(\n\t\t\tbounds.left,\n\t\t\tMath.min( relativePoint.left, bounds.right )\n\t\t);\n\t\tconst top = Math.max(\n\t\t\tbounds.top,\n\t\t\tMath.min( relativePoint.top, bounds.bottom )\n\t\t);\n\n\t\tlet nextX =\n\t\t\t( left - bounds.left ) /\n\t\t\t( pickerDimensions.width - bounds.left * 2 );\n\t\tlet nextY =\n\t\t\t( top - bounds.top ) / ( pickerDimensions.height - bounds.top * 2 );\n\n\t\t// Enables holding shift to jump values by 10%\n\t\tconst step = byTenths ? 0.1 : 0.01;\n\n\t\tnextX = roundClamp( nextX, 0, 1, step );\n\t\tnextY = roundClamp( nextY, 0, 1, step );\n\n\t\treturn { x: nextX, y: nextY };\n\t}\n\tpickerDimensions() {\n\t\tconst containerNode = this.containerRef.current;\n\n\t\tif ( ! containerNode ) {\n\t\t\treturn {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t};\n\t\t}\n\n\t\tconst { clientHeight, clientWidth } = containerNode;\n\t\tconst { top, left } = containerNode.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: clientWidth,\n\t\t\theight: clientHeight,\n\t\t\ttop: top + document.body.scrollTop,\n\t\t\tleft,\n\t\t};\n\t}\n\ticonCoordinates() {\n\t\tconst {\n\t\t\tbounds,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\n\t\tif ( bounds.left === undefined || bounds.top === undefined ) {\n\t\t\treturn {\n\t\t\t\tleft: '50%',\n\t\t\t\ttop: '50%',\n\t\t\t};\n\t\t}\n\n\t\tconst { width, height } = this.pickerDimensions();\n\t\treturn {\n\t\t\tleft: x * ( width - bounds.left * 2 ) + bounds.left,\n\t\t\ttop: y * ( height - bounds.top * 2 ) + bounds.top,\n\t\t};\n\t}\n\trender() {\n\t\tconst {\n\t\t\tautoPlay,\n\t\t\tclassName,\n\t\t\thelp,\n\t\t\tinstanceId,\n\t\t\tlabel,\n\t\t\turl,\n\t\t} = this.props;\n\t\tconst { bounds, isDragging, percentages } = this.state;\n\t\tconst iconCoordinates = this.iconCoordinates();\n\n\t\tconst classes = classnames(\n\t\t\t'components-focal-point-picker-control',\n\t\t\tclassName\n\t\t);\n\n\t\tconst id = `inspector-focal-point-picker-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ classes }\n\t\t\t>\n\t\t\t\t<MediaWrapper className=\"components-focal-point-picker-wrapper\">\n\t\t\t\t\t<MediaContainer\n\t\t\t\t\t\tclassName=\"components-focal-point-picker\"\n\t\t\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\t\t\tonMouseDown={ this.onMouseDown }\n\t\t\t\t\t\tonBlur={ this.ifDraggingStop }\n\t\t\t\t\t\tref={ this.containerRef }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tbounds={ bounds }\n\t\t\t\t\t\t\tvalue={ percentages.x + percentages.y }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Media\n\t\t\t\t\t\t\talt={ __( 'Media preview' ) }\n\t\t\t\t\t\t\tautoPlay={ autoPlay }\n\t\t\t\t\t\t\tmediaRef={ this.mediaRef }\n\t\t\t\t\t\t\tonLoad={ this.updateBounds }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FocalPoint\n\t\t\t\t\t\t\tcoordinates={ iconCoordinates }\n\t\t\t\t\t\t\tisDragging={ isDragging }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaContainer>\n\t\t\t\t</MediaWrapper>\n\t\t\t\t<Controls\n\t\t\t\t\tpercentages={ percentages }\n\t\t\t\t\tonChange={ this.onChangeAtControls }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nFocalPointPicker.defaultProps = {\n\tautoPlay: true,\n\tvalue: {\n\t\tx: 0.5,\n\t\ty: 0.5,\n\t},\n\turl: null,\n};\n\nexport default withInstanceId( FocalPointPicker );\n"]}
@@ -47,7 +47,7 @@ var _utils = require("./utils");
47
47
  const MIN_POSITION_VALUE = 0;
48
48
  const MAX_POSITION_VALUE = 100;
49
49
  const FOCAL_POINT_UNITS = [{
50
- default: '50',
50
+ default: 50,
51
51
  label: '%',
52
52
  value: '%'
53
53
  }];
@@ -77,7 +77,7 @@ function FocalPointPicker(props) {
77
77
  (0, _reactNativeBridge.setFocalPointPickerTooltipShown)(true);
78
78
  }
79
79
  });
80
- }, []); // Animated coordinates for drag handle
80
+ }, []); // Animated coordinates for drag handle.
81
81
 
82
82
  const pan = (0, _element.useRef)(new _reactNative.Animated.ValueXY()).current;
83
83
  /**
@@ -92,7 +92,7 @@ function FocalPointPicker(props) {
92
92
  y: focalPoint.y * containerSize.height
93
93
  });
94
94
  }
95
- }, [focalPoint, containerSize]); // Pan responder to manage drag handle interactivity
95
+ }, [focalPoint, containerSize]); // Pan responder to manage drag handle interactivity.
96
96
 
97
97
  const panResponder = (0, _element.useMemo)(() => _reactNative.PanResponder.create({
98
98
  onStartShouldSetPanResponder: () => true,
@@ -112,11 +112,11 @@ function FocalPointPicker(props) {
112
112
  pan.setValue({
113
113
  x,
114
114
  y
115
- }); // Set cursor to tap location
115
+ }); // Set cursor to tap location.
116
116
 
117
- pan.extractOffset(); // Set offset to current value
117
+ pan.extractOffset(); // Set offset to current value.
118
118
  },
119
- // Move cursor to match delta drag
119
+ // Move cursor to match delta drag.
120
120
  onPanResponderMove: _reactNative.Animated.event([null, {
121
121
  dx: pan.x,
122
122
  dy: pan.y
@@ -125,7 +125,7 @@ function FocalPointPicker(props) {
125
125
  }),
126
126
  onPanResponderRelease: event => {
127
127
  shouldEnableBottomSheetScroll(true);
128
- pan.flattenOffset(); // Flatten offset into value
128
+ pan.flattenOffset(); // Flatten offset into value.
129
129
 
130
130
  const {
131
131
  pageX,