@wordpress/components 19.4.1 → 19.7.0-next.e230fbab09.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 (929) hide show
  1. package/CHANGELOG.md +34 -3
  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/keyboard-aware-flat-list/index.android.js +1 -1
  136. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  137. package/build/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  138. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  139. package/build/mobile/link-picker/index.native.js +3 -3
  140. package/build/mobile/link-picker/index.native.js.map +1 -1
  141. package/build/mobile/link-picker/link-picker-results.native.js +8 -8
  142. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  143. package/build/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  144. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  145. package/build/mobile/link-settings/index.native.js +1 -1
  146. package/build/mobile/link-settings/index.native.js.map +1 -1
  147. package/build/modal/aria-helper.js +1 -1
  148. package/build/modal/aria-helper.js.map +1 -1
  149. package/build/modal/index.js +2 -2
  150. package/build/modal/index.js.map +1 -1
  151. package/build/navigable-container/container.js +2 -2
  152. package/build/navigable-container/container.js.map +1 -1
  153. package/build/navigable-container/tabbable.js +1 -1
  154. package/build/navigable-container/tabbable.js.map +1 -1
  155. package/build/navigation/item/index.js +1 -1
  156. package/build/navigation/item/index.js.map +1 -1
  157. package/build/navigation/menu/index.js +1 -1
  158. package/build/navigation/menu/index.js.map +1 -1
  159. package/build/navigator/index.js +16 -0
  160. package/build/navigator/index.js.map +1 -1
  161. package/build/navigator/navigator-back-button/component.js +72 -0
  162. package/build/navigator/navigator-back-button/component.js.map +1 -0
  163. package/build/navigator/navigator-back-button/hook.js +49 -0
  164. package/build/navigator/navigator-back-button/hook.js.map +1 -0
  165. package/build/navigator/navigator-back-button/index.js +16 -0
  166. package/build/navigator/navigator-back-button/index.js.map +1 -0
  167. package/build/navigator/navigator-button/component.js +71 -0
  168. package/build/navigator/navigator-button/component.js.map +1 -0
  169. package/build/navigator/navigator-button/hook.js +59 -0
  170. package/build/navigator/navigator-button/hook.js.map +1 -0
  171. package/build/navigator/navigator-button/index.js +16 -0
  172. package/build/navigator/navigator-button/index.js.map +1 -0
  173. package/build/navigator/navigator-provider/component.js +12 -22
  174. package/build/navigator/navigator-provider/component.js.map +1 -1
  175. package/build/navigator/navigator-screen/component.js +14 -22
  176. package/build/navigator/navigator-screen/component.js.map +1 -1
  177. package/build/number-control/index.js +1 -1
  178. package/build/number-control/index.js.map +1 -1
  179. package/build/panel/body.js +2 -2
  180. package/build/panel/body.js.map +1 -1
  181. package/build/popover/index.js +3 -3
  182. package/build/popover/index.js.map +1 -1
  183. package/build/popover/utils.js +6 -6
  184. package/build/popover/utils.js.map +1 -1
  185. package/build/radio-group/index.js +1 -1
  186. package/build/radio-group/index.js.map +1 -1
  187. package/build/range-control/styles/range-control-styles.js +29 -29
  188. package/build/range-control/styles/range-control-styles.js.map +1 -1
  189. package/build/resizable-box/index.js.map +1 -1
  190. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  191. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  192. package/build/sandbox/index.js +5 -5
  193. package/build/sandbox/index.js.map +1 -1
  194. package/build/sandbox/index.native.js +1 -1
  195. package/build/sandbox/index.native.js.map +1 -1
  196. package/build/scrollable/component.js +1 -1
  197. package/build/scrollable/component.js.map +1 -1
  198. package/build/select-control/index.js +1 -1
  199. package/build/select-control/index.js.map +1 -1
  200. package/build/select-control/styles/select-control-styles.js +5 -5
  201. package/build/select-control/styles/select-control-styles.js.map +1 -1
  202. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  203. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  204. package/build/slot-fill/bubbles-virtually/slot.js +1 -1
  205. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  206. package/build/slot-fill/fill.js +1 -1
  207. package/build/slot-fill/fill.js.map +1 -1
  208. package/build/slot-fill/provider.js +1 -1
  209. package/build/slot-fill/provider.js.map +1 -1
  210. package/build/snackbar/index.js +1 -1
  211. package/build/snackbar/index.js.map +1 -1
  212. package/build/snackbar/list.js +1 -1
  213. package/build/snackbar/list.js.map +1 -1
  214. package/build/spacer/component.js.map +1 -1
  215. package/build/style-provider/index.js +2 -2
  216. package/build/style-provider/index.js.map +1 -1
  217. package/build/surface/component.js +1 -1
  218. package/build/surface/component.js.map +1 -1
  219. package/build/text/component.js +1 -1
  220. package/build/text/component.js.map +1 -1
  221. package/build/text-control/index.js +2 -2
  222. package/build/text-control/index.js.map +1 -1
  223. package/build/toggle-group-control/toggle-group-control/component.js +2 -2
  224. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  225. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  226. package/build/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  227. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  228. package/build/toolbar/index.js +1 -1
  229. package/build/toolbar/index.js.map +1 -1
  230. package/build/tools-panel/tools-panel/component.js.map +1 -1
  231. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  232. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  233. package/build/tooltip/index.js +3 -3
  234. package/build/tooltip/index.js.map +1 -1
  235. package/build/tooltip/index.native.js +7 -7
  236. package/build/tooltip/index.native.js.map +1 -1
  237. package/build/tree-grid/index.js +50 -6
  238. package/build/tree-grid/index.js.map +1 -1
  239. package/build/truncate/component.js +1 -1
  240. package/build/truncate/component.js.map +1 -1
  241. package/build/truncate/utils.js +1 -1
  242. package/build/truncate/utils.js.map +1 -1
  243. package/build/ui/context/context-connect.js +8 -15
  244. package/build/ui/context/context-connect.js.map +1 -1
  245. package/build/ui/context/context-system-provider.js +2 -2
  246. package/build/ui/context/context-system-provider.js.map +1 -1
  247. package/build/ui/context/index.js.map +1 -1
  248. package/build/ui/control-group/component.js +1 -1
  249. package/build/ui/control-group/component.js.map +1 -1
  250. package/build/ui/control-label/component.js +1 -1
  251. package/build/ui/control-label/component.js.map +1 -1
  252. package/build/ui/form-group/form-group.js +1 -1
  253. package/build/ui/form-group/form-group.js.map +1 -1
  254. package/build/ui/shortcut/component.js.map +1 -1
  255. package/build/ui/spinner/component.js +1 -1
  256. package/build/ui/spinner/component.js.map +1 -1
  257. package/build/ui/tooltip/component.js +1 -1
  258. package/build/ui/tooltip/component.js.map +1 -1
  259. package/build/ui/tooltip/content.js +1 -1
  260. package/build/ui/tooltip/content.js.map +1 -1
  261. package/build/ui/utils/colors.js +2 -2
  262. package/build/ui/utils/colors.js.map +1 -1
  263. package/build/ui/utils/space.js +2 -2
  264. package/build/ui/utils/space.js.map +1 -1
  265. package/build/unit-control/index.js +38 -29
  266. package/build/unit-control/index.js.map +1 -1
  267. package/build/unit-control/index.native.js +4 -2
  268. package/build/unit-control/index.native.js.map +1 -1
  269. package/build/unit-control/unit-select-control.js +1 -1
  270. package/build/unit-control/unit-select-control.js.map +1 -1
  271. package/build/unit-control/utils.js +96 -104
  272. package/build/unit-control/utils.js.map +1 -1
  273. package/build/utils/breakpoint-values.js +1 -1
  274. package/build/utils/breakpoint-values.js.map +1 -1
  275. package/build/utils/colors-values.js +1 -1
  276. package/build/utils/colors-values.js.map +1 -1
  277. package/build/v-stack/component.js +1 -1
  278. package/build/v-stack/component.js.map +1 -1
  279. package/build/visually-hidden/component.js +1 -1
  280. package/build/visually-hidden/component.js.map +1 -1
  281. package/build/z-stack/component.js.map +1 -1
  282. package/build-module/alignment-matrix-control/utils.js +1 -1
  283. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  284. package/build-module/angle-picker-control/angle-circle.js +1 -1
  285. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  286. package/build-module/animation/index.js +1 -1
  287. package/build-module/animation/index.js.map +1 -1
  288. package/build-module/autocomplete/get-default-use-items.js +3 -3
  289. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  290. package/build-module/base-field/hook.js +1 -1
  291. package/build-module/base-field/hook.js.map +1 -1
  292. package/build-module/box-control/icon.js +1 -1
  293. package/build-module/box-control/icon.js.map +1 -1
  294. package/build-module/box-control/index.js +5 -5
  295. package/build-module/box-control/index.js.map +1 -1
  296. package/build-module/box-control/unit-control.js +1 -1
  297. package/build-module/box-control/unit-control.js.map +1 -1
  298. package/build-module/box-control/utils.js +13 -9
  299. package/build-module/box-control/utils.js.map +1 -1
  300. package/build-module/button/index.js +5 -5
  301. package/build-module/button/index.js.map +1 -1
  302. package/build-module/button/index.native.js +7 -7
  303. package/build-module/button/index.native.js.map +1 -1
  304. package/build-module/card/card/component.js +2 -2
  305. package/build-module/card/card/component.js.map +1 -1
  306. package/build-module/card/card-body/component.js +1 -1
  307. package/build-module/card/card-body/component.js.map +1 -1
  308. package/build-module/card/card-divider/component.js +1 -1
  309. package/build-module/card/card-divider/component.js.map +1 -1
  310. package/build-module/card/card-footer/component.js +1 -1
  311. package/build-module/card/card-footer/component.js.map +1 -1
  312. package/build-module/card/card-header/component.js +1 -1
  313. package/build-module/card/card-header/component.js.map +1 -1
  314. package/build-module/card/card-media/component.js +1 -1
  315. package/build-module/card/card-media/component.js.map +1 -1
  316. package/build-module/color-palette/index.native.js +36 -31
  317. package/build-module/color-palette/index.native.js.map +1 -1
  318. package/build-module/color-picker/color-display.js +1 -1
  319. package/build-module/color-picker/color-display.js.map +1 -1
  320. package/build-module/color-picker/component.js.map +1 -1
  321. package/build-module/color-picker/hex-input.js +6 -9
  322. package/build-module/color-picker/hex-input.js.map +1 -1
  323. package/build-module/color-picker/styles.js +8 -8
  324. package/build-module/color-picker/styles.js.map +1 -1
  325. package/build-module/combobox-control/index.js +1 -1
  326. package/build-module/combobox-control/index.js.map +1 -1
  327. package/build-module/confirm-dialog/component.js +4 -5
  328. package/build-module/confirm-dialog/component.js.map +1 -1
  329. package/build-module/date-time/time.js +7 -4
  330. package/build-module/date-time/time.js.map +1 -1
  331. package/build-module/divider/component.js +3 -3
  332. package/build-module/divider/component.js.map +1 -1
  333. package/build-module/draggable/index.js +3 -3
  334. package/build-module/draggable/index.js.map +1 -1
  335. package/build-module/elevation/component.js +1 -1
  336. package/build-module/elevation/component.js.map +1 -1
  337. package/build-module/flex/flex/component.js +1 -1
  338. package/build-module/flex/flex/component.js.map +1 -1
  339. package/build-module/flex/flex-block/component.js +1 -1
  340. package/build-module/flex/flex-block/component.js.map +1 -1
  341. package/build-module/flex/flex-item/component.js +1 -1
  342. package/build-module/flex/flex-item/component.js.map +1 -1
  343. package/build-module/flyout/flyout/component.js +1 -1
  344. package/build-module/flyout/flyout/component.js.map +1 -1
  345. package/build-module/flyout/flyout-content/component.js +1 -1
  346. package/build-module/flyout/flyout-content/component.js.map +1 -1
  347. package/build-module/focal-point-picker/index.js +18 -12
  348. package/build-module/focal-point-picker/index.js.map +1 -1
  349. package/build-module/focal-point-picker/index.native.js +7 -7
  350. package/build-module/focal-point-picker/index.native.js.map +1 -1
  351. package/build-module/focal-point-picker/tooltip/index.native.js +1 -1
  352. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  353. package/build-module/font-size-picker/index.js +1 -2
  354. package/build-module/font-size-picker/index.js.map +1 -1
  355. package/build-module/form-token-field/index.js +6 -6
  356. package/build-module/form-token-field/index.js.map +1 -1
  357. package/build-module/form-token-field/suggestions-list.js +2 -2
  358. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  359. package/build-module/grid/component.js +1 -1
  360. package/build-module/grid/component.js.map +1 -1
  361. package/build-module/h-stack/component.js +1 -1
  362. package/build-module/h-stack/component.js.map +1 -1
  363. package/build-module/heading/component.js +4 -4
  364. package/build-module/heading/component.js.map +1 -1
  365. package/build-module/heading/hook.js +1 -1
  366. package/build-module/heading/hook.js.map +1 -1
  367. package/build-module/higher-order/with-notices/index.js +1 -1
  368. package/build-module/higher-order/with-notices/index.js.map +1 -1
  369. package/build-module/index.js +5 -5
  370. package/build-module/index.js.map +1 -1
  371. package/build-module/index.native.js +5 -5
  372. package/build-module/index.native.js.map +1 -1
  373. package/build-module/input-control/index.js.map +1 -1
  374. package/build-module/input-control/input-base.js +1 -1
  375. package/build-module/input-control/input-base.js.map +1 -1
  376. package/build-module/input-control/input-field.js +19 -16
  377. package/build-module/input-control/input-field.js.map +1 -1
  378. package/build-module/input-control/reducer/reducer.js +3 -0
  379. package/build-module/input-control/reducer/reducer.js.map +1 -1
  380. package/build-module/input-control/styles/input-control-styles.js +25 -25
  381. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  382. package/build-module/isolated-event-container/index.js +1 -1
  383. package/build-module/isolated-event-container/index.js.map +1 -1
  384. package/build-module/item-group/item/component.js.map +1 -1
  385. package/build-module/item-group/item-group/component.js.map +1 -1
  386. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  387. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  388. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  389. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  390. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  391. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  392. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  393. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  394. package/build-module/mobile/bottom-sheet/index.native.js +11 -11
  395. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  396. package/build-module/mobile/bottom-sheet/link-cell.native.js +1 -1
  397. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  398. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  399. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  400. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  401. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  402. package/build-module/mobile/color-settings/palette.screen.native.js +27 -10
  403. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  404. package/build-module/mobile/global-styles-context/utils.native.js +70 -20
  405. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  406. package/build-module/mobile/gradient/index.native.js +2 -2
  407. package/build-module/mobile/gradient/index.native.js.map +1 -1
  408. package/build-module/mobile/html-text-input/container.ios.js +3 -3
  409. package/build-module/mobile/html-text-input/container.ios.js.map +1 -1
  410. package/build-module/mobile/html-text-input/index.native.js +1 -1
  411. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  412. package/build-module/mobile/image/index.native.js +1 -1
  413. package/build-module/mobile/image/index.native.js.map +1 -1
  414. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  415. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  416. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  417. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  418. package/build-module/mobile/link-picker/index.native.js +3 -3
  419. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  420. package/build-module/mobile/link-picker/link-picker-results.native.js +8 -8
  421. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  422. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  423. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  424. package/build-module/mobile/link-settings/index.native.js +1 -1
  425. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  426. package/build-module/modal/aria-helper.js +1 -1
  427. package/build-module/modal/aria-helper.js.map +1 -1
  428. package/build-module/modal/index.js +2 -2
  429. package/build-module/modal/index.js.map +1 -1
  430. package/build-module/navigable-container/container.js +2 -2
  431. package/build-module/navigable-container/container.js.map +1 -1
  432. package/build-module/navigable-container/tabbable.js +1 -1
  433. package/build-module/navigable-container/tabbable.js.map +1 -1
  434. package/build-module/navigation/item/index.js +1 -1
  435. package/build-module/navigation/item/index.js.map +1 -1
  436. package/build-module/navigation/menu/index.js +1 -1
  437. package/build-module/navigation/menu/index.js.map +1 -1
  438. package/build-module/navigator/index.js +2 -0
  439. package/build-module/navigator/index.js.map +1 -1
  440. package/build-module/navigator/navigator-back-button/component.js +59 -0
  441. package/build-module/navigator/navigator-back-button/component.js.map +1 -0
  442. package/build-module/navigator/navigator-back-button/hook.js +36 -0
  443. package/build-module/navigator/navigator-back-button/hook.js.map +1 -0
  444. package/build-module/navigator/navigator-back-button/index.js +2 -0
  445. package/build-module/navigator/navigator-back-button/index.js.map +1 -0
  446. package/build-module/navigator/navigator-button/component.js +58 -0
  447. package/build-module/navigator/navigator-button/component.js.map +1 -0
  448. package/build-module/navigator/navigator-button/hook.js +46 -0
  449. package/build-module/navigator/navigator-button/hook.js.map +1 -0
  450. package/build-module/navigator/navigator-button/index.js +2 -0
  451. package/build-module/navigator/navigator-button/index.js.map +1 -0
  452. package/build-module/navigator/navigator-provider/component.js +12 -22
  453. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  454. package/build-module/navigator/navigator-screen/component.js +13 -22
  455. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  456. package/build-module/number-control/index.js +1 -1
  457. package/build-module/number-control/index.js.map +1 -1
  458. package/build-module/panel/body.js +2 -2
  459. package/build-module/panel/body.js.map +1 -1
  460. package/build-module/popover/index.js +3 -3
  461. package/build-module/popover/index.js.map +1 -1
  462. package/build-module/popover/utils.js +6 -6
  463. package/build-module/popover/utils.js.map +1 -1
  464. package/build-module/radio-group/index.js +1 -1
  465. package/build-module/radio-group/index.js.map +1 -1
  466. package/build-module/range-control/styles/range-control-styles.js +29 -29
  467. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  468. package/build-module/resizable-box/index.js.map +1 -1
  469. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  470. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  471. package/build-module/sandbox/index.js +5 -5
  472. package/build-module/sandbox/index.js.map +1 -1
  473. package/build-module/sandbox/index.native.js +1 -1
  474. package/build-module/sandbox/index.native.js.map +1 -1
  475. package/build-module/scrollable/component.js +1 -1
  476. package/build-module/scrollable/component.js.map +1 -1
  477. package/build-module/select-control/index.js +2 -2
  478. package/build-module/select-control/index.js.map +1 -1
  479. package/build-module/select-control/styles/select-control-styles.js +5 -5
  480. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  481. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  482. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  483. package/build-module/slot-fill/bubbles-virtually/slot.js +1 -1
  484. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  485. package/build-module/slot-fill/fill.js +1 -1
  486. package/build-module/slot-fill/fill.js.map +1 -1
  487. package/build-module/slot-fill/provider.js +1 -1
  488. package/build-module/slot-fill/provider.js.map +1 -1
  489. package/build-module/snackbar/index.js +1 -1
  490. package/build-module/snackbar/index.js.map +1 -1
  491. package/build-module/snackbar/list.js +1 -1
  492. package/build-module/snackbar/list.js.map +1 -1
  493. package/build-module/spacer/component.js.map +1 -1
  494. package/build-module/style-provider/index.js +2 -2
  495. package/build-module/style-provider/index.js.map +1 -1
  496. package/build-module/surface/component.js +1 -1
  497. package/build-module/surface/component.js.map +1 -1
  498. package/build-module/text/component.js +1 -1
  499. package/build-module/text/component.js.map +1 -1
  500. package/build-module/text-control/index.js +2 -2
  501. package/build-module/text-control/index.js.map +1 -1
  502. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -2
  503. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  504. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  505. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  506. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  507. package/build-module/toolbar/index.js +1 -1
  508. package/build-module/toolbar/index.js.map +1 -1
  509. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  510. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  511. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  512. package/build-module/tooltip/index.js +3 -3
  513. package/build-module/tooltip/index.js.map +1 -1
  514. package/build-module/tooltip/index.native.js +7 -7
  515. package/build-module/tooltip/index.native.js.map +1 -1
  516. package/build-module/tree-grid/index.js +51 -7
  517. package/build-module/tree-grid/index.js.map +1 -1
  518. package/build-module/truncate/component.js +1 -1
  519. package/build-module/truncate/component.js.map +1 -1
  520. package/build-module/truncate/utils.js +1 -1
  521. package/build-module/truncate/utils.js.map +1 -1
  522. package/build-module/ui/context/context-connect.js +9 -16
  523. package/build-module/ui/context/context-connect.js.map +1 -1
  524. package/build-module/ui/context/context-system-provider.js +2 -2
  525. package/build-module/ui/context/context-system-provider.js.map +1 -1
  526. package/build-module/ui/context/index.js.map +1 -1
  527. package/build-module/ui/control-group/component.js +1 -1
  528. package/build-module/ui/control-group/component.js.map +1 -1
  529. package/build-module/ui/control-label/component.js +1 -1
  530. package/build-module/ui/control-label/component.js.map +1 -1
  531. package/build-module/ui/form-group/form-group.js +1 -1
  532. package/build-module/ui/form-group/form-group.js.map +1 -1
  533. package/build-module/ui/shortcut/component.js.map +1 -1
  534. package/build-module/ui/spinner/component.js +1 -1
  535. package/build-module/ui/spinner/component.js.map +1 -1
  536. package/build-module/ui/tooltip/component.js +1 -1
  537. package/build-module/ui/tooltip/component.js.map +1 -1
  538. package/build-module/ui/tooltip/content.js +1 -1
  539. package/build-module/ui/tooltip/content.js.map +1 -1
  540. package/build-module/ui/utils/colors.js +2 -2
  541. package/build-module/ui/utils/colors.js.map +1 -1
  542. package/build-module/ui/utils/space.js +2 -2
  543. package/build-module/ui/utils/space.js.map +1 -1
  544. package/build-module/unit-control/index.js +39 -30
  545. package/build-module/unit-control/index.js.map +1 -1
  546. package/build-module/unit-control/index.native.js +5 -3
  547. package/build-module/unit-control/index.native.js.map +1 -1
  548. package/build-module/unit-control/unit-select-control.js +1 -1
  549. package/build-module/unit-control/unit-select-control.js.map +1 -1
  550. package/build-module/unit-control/utils.js +92 -100
  551. package/build-module/unit-control/utils.js.map +1 -1
  552. package/build-module/utils/breakpoint-values.js +1 -1
  553. package/build-module/utils/breakpoint-values.js.map +1 -1
  554. package/build-module/utils/colors-values.js +1 -1
  555. package/build-module/utils/colors-values.js.map +1 -1
  556. package/build-module/v-stack/component.js +1 -1
  557. package/build-module/v-stack/component.js.map +1 -1
  558. package/build-module/visually-hidden/component.js +1 -1
  559. package/build-module/visually-hidden/component.js.map +1 -1
  560. package/build-module/z-stack/component.js.map +1 -1
  561. package/build-style/style-rtl.css +8 -0
  562. package/build-style/style.css +8 -0
  563. package/build-types/base-field/hook.d.ts +2 -1
  564. package/build-types/base-field/hook.d.ts.map +1 -1
  565. package/build-types/card/card/hook.d.ts +2 -1
  566. package/build-types/card/card/hook.d.ts.map +1 -1
  567. package/build-types/card/card-body/hook.d.ts +2 -1
  568. package/build-types/card/card-body/hook.d.ts.map +1 -1
  569. package/build-types/card/card-divider/hook.d.ts +2 -3
  570. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  571. package/build-types/card/card-footer/hook.d.ts +2 -1
  572. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  573. package/build-types/card/card-header/hook.d.ts +2 -1
  574. package/build-types/card/card-header/hook.d.ts.map +1 -1
  575. package/build-types/card/card-media/hook.d.ts +2 -1
  576. package/build-types/card/card-media/hook.d.ts.map +1 -1
  577. package/build-types/color-picker/styles.d.ts +2 -4
  578. package/build-types/color-picker/styles.d.ts.map +1 -1
  579. package/build-types/confirm-dialog/component.d.ts +10 -6
  580. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  581. package/build-types/confirm-dialog/types.d.ts +2 -0
  582. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  583. package/build-types/divider/component.d.ts +2 -2
  584. package/build-types/divider/component.d.ts.map +1 -1
  585. package/build-types/divider/stories/index.d.ts +10 -0
  586. package/build-types/divider/stories/index.d.ts.map +1 -0
  587. package/build-types/divider/types.d.ts +1 -1
  588. package/build-types/divider/types.d.ts.map +1 -1
  589. package/build-types/elevation/hook.d.ts +2 -1
  590. package/build-types/elevation/hook.d.ts.map +1 -1
  591. package/build-types/flex/flex/hook.d.ts +2 -1
  592. package/build-types/flex/flex/hook.d.ts.map +1 -1
  593. package/build-types/flex/flex-block/hook.d.ts +2 -1
  594. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  595. package/build-types/flex/flex-item/hook.d.ts +2 -1
  596. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  597. package/build-types/flyout/flyout/hook.d.ts +2 -2
  598. package/build-types/grid/hook.d.ts +2 -1
  599. package/build-types/grid/hook.d.ts.map +1 -1
  600. package/build-types/h-stack/hook.d.ts +3 -2
  601. package/build-types/h-stack/hook.d.ts.map +1 -1
  602. package/build-types/heading/component.d.ts +3 -3
  603. package/build-types/heading/component.d.ts.map +1 -1
  604. package/build-types/heading/hook.d.ts +2 -1
  605. package/build-types/heading/hook.d.ts.map +1 -1
  606. package/build-types/heading/stories/index.d.ts +12 -0
  607. package/build-types/heading/stories/index.d.ts.map +1 -0
  608. package/build-types/input-control/index.d.ts +3 -3
  609. package/build-types/input-control/index.d.ts.map +1 -1
  610. package/build-types/input-control/input-base.d.ts +2 -2
  611. package/build-types/input-control/input-base.d.ts.map +1 -1
  612. package/build-types/input-control/input-field.d.ts +1 -3
  613. package/build-types/input-control/input-field.d.ts.map +1 -1
  614. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  615. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  616. package/build-types/input-control/types.d.ts +1 -1
  617. package/build-types/input-control/types.d.ts.map +1 -1
  618. package/build-types/item-group/item/hook.d.ts +2 -1
  619. package/build-types/item-group/item/hook.d.ts.map +1 -1
  620. package/build-types/item-group/item-group/hook.d.ts +2 -1
  621. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  622. package/build-types/navigator/index.d.ts +2 -0
  623. package/build-types/navigator/index.d.ts.map +1 -1
  624. package/build-types/navigator/navigator-back-button/component.d.ts +38 -0
  625. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -0
  626. package/build-types/navigator/navigator-back-button/hook.d.ts +283 -0
  627. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -0
  628. package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
  629. package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
  630. package/build-types/navigator/navigator-button/component.d.ts +37 -0
  631. package/build-types/navigator/navigator-button/component.d.ts.map +1 -0
  632. package/build-types/navigator/navigator-button/hook.d.ts +283 -0
  633. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -0
  634. package/build-types/navigator/navigator-button/index.d.ts +2 -0
  635. package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
  636. package/build-types/navigator/navigator-provider/component.d.ts +10 -20
  637. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  638. package/build-types/navigator/navigator-screen/component.d.ts +10 -20
  639. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  640. package/build-types/navigator/types.d.ts +21 -0
  641. package/build-types/navigator/types.d.ts.map +1 -1
  642. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  643. package/build-types/resizable-box/index.d.ts +2 -2
  644. package/build-types/resizable-box/index.d.ts.map +1 -1
  645. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  646. package/build-types/scrollable/hook.d.ts +2 -1
  647. package/build-types/scrollable/hook.d.ts.map +1 -1
  648. package/build-types/select-control/index.d.ts +1 -3
  649. package/build-types/select-control/index.d.ts.map +1 -1
  650. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  651. package/build-types/spacer/hook.d.ts +2 -1
  652. package/build-types/spacer/hook.d.ts.map +1 -1
  653. package/build-types/surface/hook.d.ts +2 -1
  654. package/build-types/surface/hook.d.ts.map +1 -1
  655. package/build-types/text/hook.d.ts +2 -1
  656. package/build-types/text/hook.d.ts.map +1 -1
  657. package/build-types/text/types.d.ts +1 -2
  658. package/build-types/text/types.d.ts.map +1 -1
  659. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  660. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
  661. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  662. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
  663. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  664. package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -1
  665. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  666. package/build-types/truncate/hook.d.ts +2 -1
  667. package/build-types/truncate/hook.d.ts.map +1 -1
  668. package/build-types/ui/context/context-connect.d.ts +18 -16
  669. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  670. package/build-types/ui/context/index.d.ts +4 -4
  671. package/build-types/ui/context/index.d.ts.map +1 -1
  672. package/build-types/ui/context/wordpress-component.d.ts +3 -6
  673. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  674. package/build-types/ui/control-group/hook.d.ts +2 -1
  675. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  676. package/build-types/ui/control-label/hook.d.ts +2 -1
  677. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  678. package/build-types/ui/form-group/use-form-group.d.ts +6 -4
  679. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  680. package/build-types/unit-control/index.d.ts +3 -5
  681. package/build-types/unit-control/index.d.ts.map +1 -1
  682. package/build-types/unit-control/types.d.ts +4 -6
  683. package/build-types/unit-control/types.d.ts.map +1 -1
  684. package/build-types/unit-control/utils.d.ts +47 -38
  685. package/build-types/unit-control/utils.d.ts.map +1 -1
  686. package/build-types/v-stack/hook.d.ts +2 -1
  687. package/build-types/v-stack/hook.d.ts.map +1 -1
  688. package/build-types/z-stack/component.d.ts.map +1 -1
  689. package/package.json +19 -18
  690. package/src/alignment-matrix-control/README.md +4 -0
  691. package/src/alignment-matrix-control/stories/index.js +1 -1
  692. package/src/alignment-matrix-control/utils.js +1 -1
  693. package/src/angle-picker-control/angle-circle.js +1 -1
  694. package/src/animation/index.js +0 -1
  695. package/src/autocomplete/get-default-use-items.js +3 -3
  696. package/src/base-control/stories/index.js +65 -22
  697. package/src/base-field/hook.js +1 -1
  698. package/src/box-control/icon.js +1 -1
  699. package/src/box-control/index.js +5 -5
  700. package/src/box-control/stories/index.js +4 -1
  701. package/src/box-control/test/index.js +27 -7
  702. package/src/box-control/unit-control.js +1 -1
  703. package/src/box-control/utils.js +13 -9
  704. package/src/button/index.js +5 -5
  705. package/src/button/index.native.js +7 -7
  706. package/src/button/style.scss +1 -0
  707. package/src/card/card/component.js +1 -1
  708. package/src/card/card-body/component.js +1 -1
  709. package/src/card/card-divider/component.js +1 -1
  710. package/src/card/card-footer/component.js +1 -1
  711. package/src/card/card-header/component.js +1 -1
  712. package/src/card/card-media/component.js +1 -1
  713. package/src/color-palette/index.native.js +92 -75
  714. package/src/color-palette/style.native.scss +10 -5
  715. package/src/color-palette/style.scss +1 -0
  716. package/src/color-picker/color-display.tsx +1 -1
  717. package/src/color-picker/component.tsx +2 -2
  718. package/src/color-picker/hex-input.tsx +9 -9
  719. package/src/color-picker/styles.ts +1 -1
  720. package/src/color-picker/test/index.js +1 -1
  721. package/src/combobox-control/index.js +1 -1
  722. package/src/combobox-control/style.scss +1 -0
  723. package/src/confirm-dialog/README.md +56 -45
  724. package/src/confirm-dialog/component.tsx +6 -4
  725. package/src/confirm-dialog/stories/index.js +19 -0
  726. package/src/confirm-dialog/test/index.js +28 -0
  727. package/src/confirm-dialog/types.ts +2 -0
  728. package/src/date-time/style.scss +4 -0
  729. package/src/date-time/time.js +16 -5
  730. package/src/dimension-control/test/index.test.js +1 -1
  731. package/src/disabled/test/index.js +1 -1
  732. package/src/divider/component.tsx +5 -5
  733. package/src/divider/stories/index.tsx +70 -0
  734. package/src/divider/types.ts +3 -1
  735. package/src/draggable/index.js +3 -3
  736. package/src/draggable/stories/index.js +1 -1
  737. package/src/elevation/component.js +1 -1
  738. package/src/flex/flex/component.js +1 -1
  739. package/src/flex/flex-block/component.js +1 -1
  740. package/src/flex/flex-item/component.js +1 -1
  741. package/src/flyout/flyout/README.md +1 -1
  742. package/src/flyout/flyout/component.js +1 -1
  743. package/src/flyout/flyout-content/component.js +1 -1
  744. package/src/flyout/test/index.js +1 -1
  745. package/src/focal-point-picker/README.md +7 -0
  746. package/src/focal-point-picker/index.js +12 -7
  747. package/src/focal-point-picker/index.native.js +7 -7
  748. package/src/focal-point-picker/stories/index.js +30 -0
  749. package/src/focal-point-picker/test/index.js +44 -0
  750. package/src/focal-point-picker/tooltip/index.native.js +1 -1
  751. package/src/font-size-picker/README.md +1 -2
  752. package/src/font-size-picker/index.js +1 -2
  753. package/src/font-size-picker/stories/index.js +87 -108
  754. package/src/form-file-upload/README.md +1 -1
  755. package/src/form-file-upload/stories/index.js +51 -0
  756. package/src/form-token-field/index.js +6 -6
  757. package/src/form-token-field/style.scss +1 -0
  758. package/src/form-token-field/suggestions-list.js +2 -2
  759. package/src/form-token-field/test/index.js +6 -6
  760. package/src/grid/component.js +1 -1
  761. package/src/h-stack/component.js +1 -1
  762. package/src/heading/component.tsx +6 -6
  763. package/src/heading/hook.ts +1 -1
  764. package/src/heading/stories/index.tsx +37 -0
  765. package/src/higher-order/with-filters/test/index.js +1 -1
  766. package/src/higher-order/with-focus-outside/test/index.js +1 -1
  767. package/src/higher-order/with-notices/index.js +1 -1
  768. package/src/higher-order/with-notices/test/index.js +3 -3
  769. package/src/index.js +6 -4
  770. package/src/index.native.js +9 -5
  771. package/src/input-control/index.tsx +2 -2
  772. package/src/input-control/input-base.tsx +3 -3
  773. package/src/input-control/input-field.tsx +16 -15
  774. package/src/input-control/reducer/reducer.ts +3 -0
  775. package/src/input-control/stories/index.js +1 -1
  776. package/src/input-control/styles/input-control-styles.tsx +1 -0
  777. package/src/input-control/test/index.js +4 -4
  778. package/src/input-control/types.ts +1 -1
  779. package/src/isolated-event-container/index.js +1 -1
  780. package/src/item-group/item/component.tsx +2 -2
  781. package/src/item-group/item-group/component.tsx +2 -2
  782. package/src/item-group/test/index.js +0 -1
  783. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  784. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  785. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -1
  786. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  787. package/src/mobile/bottom-sheet/index.native.js +11 -11
  788. package/src/mobile/bottom-sheet/link-cell.native.js +1 -1
  789. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  790. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  791. package/src/mobile/color-settings/palette.screen.native.js +39 -9
  792. package/src/mobile/color-settings/style.native.scss +4 -0
  793. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +27 -0
  794. package/src/mobile/global-styles-context/test/utils.native.js +2 -2
  795. package/src/mobile/global-styles-context/utils.native.js +85 -16
  796. package/src/mobile/gradient/index.native.js +2 -2
  797. package/src/mobile/html-text-input/container.ios.js +3 -3
  798. package/src/mobile/html-text-input/index.native.js +1 -1
  799. package/src/mobile/html-text-input/test/index.native.js +14 -14
  800. package/src/mobile/image/index.native.js +1 -1
  801. package/src/mobile/image/style.native.scss +1 -0
  802. package/src/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  803. package/src/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  804. package/src/mobile/link-picker/index.native.js +3 -3
  805. package/src/mobile/link-picker/link-picker-results.native.js +8 -8
  806. package/src/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  807. package/src/mobile/link-settings/index.native.js +1 -2
  808. package/src/mobile/link-settings/test/edit.native.js +15 -15
  809. package/src/modal/aria-helper.js +1 -1
  810. package/src/modal/index.js +2 -2
  811. package/src/navigable-container/container.js +2 -2
  812. package/src/navigable-container/tabbable.js +1 -1
  813. package/src/navigable-container/test/menu.js +5 -5
  814. package/src/navigable-container/test/tabbable.js +2 -2
  815. package/src/navigation/item/index.js +1 -1
  816. package/src/navigation/menu/index.js +1 -1
  817. package/src/navigation/stories/controlled-state.js +2 -2
  818. package/src/navigation/stories/index.js +1 -1
  819. package/src/navigator/index.ts +2 -0
  820. package/src/navigator/navigator-back-button/README.md +31 -0
  821. package/src/navigator/navigator-back-button/component.tsx +62 -0
  822. package/src/navigator/navigator-back-button/hook.ts +40 -0
  823. package/src/navigator/navigator-back-button/index.ts +1 -0
  824. package/src/navigator/navigator-button/README.md +38 -0
  825. package/src/navigator/navigator-button/component.tsx +61 -0
  826. package/src/navigator/navigator-button/hook.ts +55 -0
  827. package/src/navigator/navigator-button/index.ts +1 -0
  828. package/src/navigator/navigator-provider/README.md +20 -33
  829. package/src/navigator/navigator-provider/component.tsx +13 -23
  830. package/src/navigator/navigator-screen/README.md +1 -1
  831. package/src/navigator/navigator-screen/component.tsx +16 -25
  832. package/src/navigator/stories/index.js +24 -37
  833. package/src/navigator/test/index.js +105 -51
  834. package/src/navigator/types.ts +27 -1
  835. package/src/number-control/index.js +1 -1
  836. package/src/number-control/stories/index.js +1 -1
  837. package/src/panel/body.js +2 -2
  838. package/src/popover/index.js +3 -3
  839. package/src/popover/utils.js +6 -6
  840. package/src/radio/stories/index.js +1 -1
  841. package/src/radio-group/index.js +1 -1
  842. package/src/radio-group/stories/index.js +4 -1
  843. package/src/range-control/stories/index.js +1 -1
  844. package/src/range-control/styles/range-control-styles.js +1 -1
  845. package/src/range-control/test/index.js +2 -2
  846. package/src/resizable-box/index.tsx +2 -2
  847. package/src/resizable-box/resize-tooltip/index.tsx +2 -2
  848. package/src/resizable-box/resize-tooltip/label.tsx +2 -2
  849. package/src/sandbox/index.js +5 -5
  850. package/src/sandbox/index.native.js +1 -1
  851. package/src/scrollable/component.js +1 -1
  852. package/src/select-control/index.tsx +3 -4
  853. package/src/select-control/styles/select-control-styles.ts +1 -0
  854. package/src/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  855. package/src/slot-fill/bubbles-virtually/slot.js +1 -2
  856. package/src/slot-fill/fill.js +1 -1
  857. package/src/slot-fill/provider.js +1 -1
  858. package/src/snackbar/index.js +1 -1
  859. package/src/snackbar/list.js +1 -1
  860. package/src/spacer/component.tsx +2 -2
  861. package/src/style-provider/index.js +2 -2
  862. package/src/surface/component.js +1 -1
  863. package/src/tab-panel/test/index.js +1 -1
  864. package/src/text/component.js +1 -1
  865. package/src/text/test/index.js +2 -2
  866. package/src/text/types.ts +6 -8
  867. package/src/text-control/index.js +2 -2
  868. package/src/text-highlight/test/index.js +4 -4
  869. package/src/toggle-control/test/index.js +3 -3
  870. package/src/toggle-group-control/stories/index.js +1 -1
  871. package/src/toggle-group-control/test/__snapshots__/index.js.snap +1 -0
  872. package/src/toggle-group-control/toggle-group-control/component.tsx +4 -4
  873. package/src/toggle-group-control/toggle-group-control-option/component.tsx +2 -2
  874. package/src/toggle-group-control/toggle-group-control-option/styles.ts +1 -0
  875. package/src/toolbar/index.js +1 -1
  876. package/src/toolbar-group/test/index.js +2 -2
  877. package/src/tools-panel/stories/index.js +0 -1
  878. package/src/tools-panel/tools-panel/component.tsx +2 -2
  879. package/src/tools-panel/tools-panel-header/component.tsx +2 -2
  880. package/src/tools-panel/tools-panel-item/component.tsx +2 -2
  881. package/src/tooltip/index.js +3 -3
  882. package/src/tooltip/index.native.js +7 -7
  883. package/src/tooltip/test/index.js +2 -2
  884. package/src/tooltip/test/index.native.js +2 -2
  885. package/src/tree-grid/README.md +24 -1
  886. package/src/tree-grid/index.js +66 -7
  887. package/src/tree-grid/stories/index.js +4 -1
  888. package/src/tree-grid/test/__snapshots__/index.js.snap +1 -14
  889. package/src/tree-grid/test/index.js +259 -8
  890. package/src/truncate/component.js +1 -1
  891. package/src/truncate/utils.js +1 -1
  892. package/src/ui/context/{context-connect.js → context-connect.ts} +27 -16
  893. package/src/ui/context/context-system-provider.js +2 -2
  894. package/src/ui/context/{index.js → index.ts} +0 -0
  895. package/src/ui/context/wordpress-component.ts +3 -2
  896. package/src/ui/control-group/component.js +1 -1
  897. package/src/ui/control-label/component.js +1 -1
  898. package/src/ui/form-group/form-group.js +1 -1
  899. package/src/ui/shortcut/component.tsx +2 -2
  900. package/src/ui/spinner/component.js +1 -1
  901. package/src/ui/tooltip/component.js +1 -1
  902. package/src/ui/tooltip/content.js +1 -1
  903. package/src/ui/tooltip/test/index.js +4 -4
  904. package/src/ui/utils/colors.js +2 -2
  905. package/src/ui/utils/space.ts +2 -2
  906. package/src/unit-control/README.md +1 -1
  907. package/src/unit-control/index.native.js +5 -3
  908. package/src/unit-control/index.tsx +66 -37
  909. package/src/unit-control/stories/index.js +1 -1
  910. package/src/unit-control/test/index.js +102 -3
  911. package/src/unit-control/test/utils.js +56 -15
  912. package/src/unit-control/types.ts +5 -8
  913. package/src/unit-control/unit-select-control.tsx +1 -1
  914. package/src/unit-control/utils.ts +128 -125
  915. package/src/utils/breakpoint-values.js +1 -1
  916. package/src/utils/colors-values.js +1 -1
  917. package/src/utils/hooks/test/use-controlled-state.js +1 -1
  918. package/src/utils/hooks/test/use-controlled-value.js +3 -3
  919. package/src/utils/hooks/test/use-latest-ref.js +1 -1
  920. package/src/utils/test/math.js +2 -2
  921. package/src/utils/test/rtl.js +12 -12
  922. package/src/v-stack/component.js +1 -1
  923. package/src/visually-hidden/component.js +1 -1
  924. package/src/z-stack/component.tsx +2 -2
  925. package/tsconfig.json +1 -1
  926. package/tsconfig.tsbuildinfo +1 -1
  927. package/src/divider/stories/index.js +0 -64
  928. package/src/heading/stories/index.js +0 -24
  929. package/src/tools-panel/stories/typography-panel.js +0 -215
@@ -43,7 +43,7 @@ export const KeyboardAwareFlatList = _ref => {
43
43
  onKeyboardDidHide: () => {
44
44
  setTimeout(() => {
45
45
  if (!this.keyboardWillShowIndicator && this.latestContentOffsetY !== undefined && !shouldPreventAutomaticScroll()) {
46
- // Reset the content position if keyboard is still closed
46
+ // Reset the content position if keyboard is still closed.
47
47
  if (this.scrollViewRef) {
48
48
  this.scrollViewRef.scrollToPosition(0, this.latestContentOffsetY, true);
49
49
  }
@@ -62,7 +62,7 @@ export const KeyboardAwareFlatList = _ref => {
62
62
 
63
63
  KeyboardAwareFlatList.handleCaretVerticalPositionChange = (scrollView, targetId, caretY, previousCaretY) => {
64
64
  if (previousCaretY) {
65
- //if this is not the first tap
65
+ // If this is not the first tap.
66
66
  scrollView.refreshScrollForField(targetId);
67
67
  }
68
68
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/index.ios.js"],"names":["KeyboardAwareScrollView","FlatList","isEqual","memo","List","KeyboardAwareFlatList","extraScrollHeight","shouldPreventAutomaticScroll","innerRef","autoScroll","scrollViewStyle","inputAccessoryViewHeight","listProps","flex","undefined","ref","scrollViewRef","keyboardWillShowIndicator","setTimeout","latestContentOffsetY","scrollToPosition","scrollEnabled","event","nativeEvent","contentOffset","y","handleCaretVerticalPositionChange","scrollView","targetId","caretY","previousCaretY","refreshScrollForField"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,uBAAT,QAAwC,yCAAxC;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,SAASC,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,oBAArB;AAEA,MAAMC,IAAI,GAAGD,IAAI,CAAEF,QAAF,EAAYC,OAAZ,CAAjB;AAEA,OAAO,MAAMG,qBAAqB,GAAG;AAAA,MAAE;AACtCC,IAAAA,iBADsC;AAEtCC,IAAAA,4BAFsC;AAGtCC,IAAAA,QAHsC;AAItCC,IAAAA,UAJsC;AAKtCC,IAAAA,eALsC;AAMtCC,IAAAA,wBANsC;AAOtC,OAAGC;AAPmC,GAAF;AAAA,SASpC,cAAC,uBAAD;AACC,IAAA,KAAK,EAAG,CAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAF,EAAeH,eAAf,CADT;AAEC,IAAA,mBAAmB,EAAC,MAFrB;AAGC,IAAA,yBAAyB,EAAG,KAH7B;AAIC,IAAA,yBAAyB,EAAC,SAJ3B;AAKC,IAAA,iBAAiB,EAAGJ,iBALrB;AAMC,IAAA,WAAW,EAAG,CANf;AAOC,IAAA,wBAAwB,EAAGK,wBAP5B;AAQC,IAAA,qBAAqB,EAAGF,UAAU,KAAKK,SAAf,GAA2B,KAA3B,GAAmCL,UAR5D;AASC,IAAA,GAAG,EAAKM,GAAF,IAAW;AAChB,WAAKC,aAAL,GAAqBD,GAArB;AACAP,MAAAA,QAAQ,CAAEO,GAAF,CAAR;AACA,KAZF;AAaC,IAAA,kBAAkB,EAAG,MAAM;AAC1B,WAAKE,yBAAL,GAAiC,KAAjC;AACA,KAfF;AAgBC,IAAA,iBAAiB,EAAG,MAAM;AACzBC,MAAAA,UAAU,CAAE,MAAM;AACjB,YACC,CAAE,KAAKD,yBAAP,IACA,KAAKE,oBAAL,KAA8BL,SAD9B,IAEA,CAAEP,4BAA4B,EAH/B,EAIE;AACD;AACA,cAAK,KAAKS,aAAV,EAA0B;AACzB,iBAAKA,aAAL,CAAmBI,gBAAnB,CACC,CADD,EAEC,KAAKD,oBAFN,EAGC,IAHD;AAKA;AACD;AACD,OAfS,EAeP,EAfO,CAAV;AAgBA,KAjCF;AAkCC,IAAA,kBAAkB,EAAG,MAAM;AAC1B,WAAKF,yBAAL,GAAiC,IAAjC;AACA,KApCF;AAqCC,IAAA,aAAa,EAAGL,SAAS,CAACS,aArC3B;AAsCC,IAAA,QAAQ,EAAKC,KAAF,IAAa;AACvB,WAAKH,oBAAL,GAA4BG,KAAK,CAACC,WAAN,CAAkBC,aAAlB,CAAgCC,CAA5D;AACA;AAxCF,KA0CC,cAAC,IAAD,EAAWb,SAAX,CA1CD,CAToC;AAAA,CAA9B;;AAuDPP,qBAAqB,CAACqB,iCAAtB,GAA0D,CACzDC,UADyD,EAEzDC,QAFyD,EAGzDC,MAHyD,EAIzDC,cAJyD,KAKrD;AACJ,MAAKA,cAAL,EAAsB;AACrB;AACAH,IAAAA,UAAU,CAACI,qBAAX,CAAkCH,QAAlC;AACA;AACD,CAVD;;AAYA,eAAevB,qBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';\nimport { FlatList } from 'react-native';\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n\nconst List = memo( FlatList, isEqual );\n\nexport const KeyboardAwareFlatList = ( {\n\textraScrollHeight,\n\tshouldPreventAutomaticScroll,\n\tinnerRef,\n\tautoScroll,\n\tscrollViewStyle,\n\tinputAccessoryViewHeight,\n\t...listProps\n} ) => (\n\t<KeyboardAwareScrollView\n\t\tstyle={ [ { flex: 1 }, scrollViewStyle ] }\n\t\tkeyboardDismissMode=\"none\"\n\t\tenableResetScrollToCoords={ false }\n\t\tkeyboardShouldPersistTaps=\"handled\"\n\t\textraScrollHeight={ extraScrollHeight }\n\t\textraHeight={ 0 }\n\t\tinputAccessoryViewHeight={ inputAccessoryViewHeight }\n\t\tenableAutomaticScroll={ autoScroll === undefined ? false : autoScroll }\n\t\tref={ ( ref ) => {\n\t\t\tthis.scrollViewRef = ref;\n\t\t\tinnerRef( ref );\n\t\t} }\n\t\tonKeyboardWillHide={ () => {\n\t\t\tthis.keyboardWillShowIndicator = false;\n\t\t} }\n\t\tonKeyboardDidHide={ () => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tif (\n\t\t\t\t\t! this.keyboardWillShowIndicator &&\n\t\t\t\t\tthis.latestContentOffsetY !== undefined &&\n\t\t\t\t\t! shouldPreventAutomaticScroll()\n\t\t\t\t) {\n\t\t\t\t\t// Reset the content position if keyboard is still closed\n\t\t\t\t\tif ( this.scrollViewRef ) {\n\t\t\t\t\t\tthis.scrollViewRef.scrollToPosition(\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tthis.latestContentOffsetY,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t} }\n\t\tonKeyboardWillShow={ () => {\n\t\t\tthis.keyboardWillShowIndicator = true;\n\t\t} }\n\t\tscrollEnabled={ listProps.scrollEnabled }\n\t\tonScroll={ ( event ) => {\n\t\t\tthis.latestContentOffsetY = event.nativeEvent.contentOffset.y;\n\t\t} }\n\t>\n\t\t<List { ...listProps } />\n\t</KeyboardAwareScrollView>\n);\n\nKeyboardAwareFlatList.handleCaretVerticalPositionChange = (\n\tscrollView,\n\ttargetId,\n\tcaretY,\n\tpreviousCaretY\n) => {\n\tif ( previousCaretY ) {\n\t\t//if this is not the first tap\n\t\tscrollView.refreshScrollForField( targetId );\n\t}\n};\n\nexport default KeyboardAwareFlatList;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/index.ios.js"],"names":["KeyboardAwareScrollView","FlatList","isEqual","memo","List","KeyboardAwareFlatList","extraScrollHeight","shouldPreventAutomaticScroll","innerRef","autoScroll","scrollViewStyle","inputAccessoryViewHeight","listProps","flex","undefined","ref","scrollViewRef","keyboardWillShowIndicator","setTimeout","latestContentOffsetY","scrollToPosition","scrollEnabled","event","nativeEvent","contentOffset","y","handleCaretVerticalPositionChange","scrollView","targetId","caretY","previousCaretY","refreshScrollForField"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,uBAAT,QAAwC,yCAAxC;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,SAASC,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,oBAArB;AAEA,MAAMC,IAAI,GAAGD,IAAI,CAAEF,QAAF,EAAYC,OAAZ,CAAjB;AAEA,OAAO,MAAMG,qBAAqB,GAAG;AAAA,MAAE;AACtCC,IAAAA,iBADsC;AAEtCC,IAAAA,4BAFsC;AAGtCC,IAAAA,QAHsC;AAItCC,IAAAA,UAJsC;AAKtCC,IAAAA,eALsC;AAMtCC,IAAAA,wBANsC;AAOtC,OAAGC;AAPmC,GAAF;AAAA,SASpC,cAAC,uBAAD;AACC,IAAA,KAAK,EAAG,CAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAF,EAAeH,eAAf,CADT;AAEC,IAAA,mBAAmB,EAAC,MAFrB;AAGC,IAAA,yBAAyB,EAAG,KAH7B;AAIC,IAAA,yBAAyB,EAAC,SAJ3B;AAKC,IAAA,iBAAiB,EAAGJ,iBALrB;AAMC,IAAA,WAAW,EAAG,CANf;AAOC,IAAA,wBAAwB,EAAGK,wBAP5B;AAQC,IAAA,qBAAqB,EAAGF,UAAU,KAAKK,SAAf,GAA2B,KAA3B,GAAmCL,UAR5D;AASC,IAAA,GAAG,EAAKM,GAAF,IAAW;AAChB,WAAKC,aAAL,GAAqBD,GAArB;AACAP,MAAAA,QAAQ,CAAEO,GAAF,CAAR;AACA,KAZF;AAaC,IAAA,kBAAkB,EAAG,MAAM;AAC1B,WAAKE,yBAAL,GAAiC,KAAjC;AACA,KAfF;AAgBC,IAAA,iBAAiB,EAAG,MAAM;AACzBC,MAAAA,UAAU,CAAE,MAAM;AACjB,YACC,CAAE,KAAKD,yBAAP,IACA,KAAKE,oBAAL,KAA8BL,SAD9B,IAEA,CAAEP,4BAA4B,EAH/B,EAIE;AACD;AACA,cAAK,KAAKS,aAAV,EAA0B;AACzB,iBAAKA,aAAL,CAAmBI,gBAAnB,CACC,CADD,EAEC,KAAKD,oBAFN,EAGC,IAHD;AAKA;AACD;AACD,OAfS,EAeP,EAfO,CAAV;AAgBA,KAjCF;AAkCC,IAAA,kBAAkB,EAAG,MAAM;AAC1B,WAAKF,yBAAL,GAAiC,IAAjC;AACA,KApCF;AAqCC,IAAA,aAAa,EAAGL,SAAS,CAACS,aArC3B;AAsCC,IAAA,QAAQ,EAAKC,KAAF,IAAa;AACvB,WAAKH,oBAAL,GAA4BG,KAAK,CAACC,WAAN,CAAkBC,aAAlB,CAAgCC,CAA5D;AACA;AAxCF,KA0CC,cAAC,IAAD,EAAWb,SAAX,CA1CD,CAToC;AAAA,CAA9B;;AAuDPP,qBAAqB,CAACqB,iCAAtB,GAA0D,CACzDC,UADyD,EAEzDC,QAFyD,EAGzDC,MAHyD,EAIzDC,cAJyD,KAKrD;AACJ,MAAKA,cAAL,EAAsB;AACrB;AACAH,IAAAA,UAAU,CAACI,qBAAX,CAAkCH,QAAlC;AACA;AACD,CAVD;;AAYA,eAAevB,qBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';\nimport { FlatList } from 'react-native';\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n\nconst List = memo( FlatList, isEqual );\n\nexport const KeyboardAwareFlatList = ( {\n\textraScrollHeight,\n\tshouldPreventAutomaticScroll,\n\tinnerRef,\n\tautoScroll,\n\tscrollViewStyle,\n\tinputAccessoryViewHeight,\n\t...listProps\n} ) => (\n\t<KeyboardAwareScrollView\n\t\tstyle={ [ { flex: 1 }, scrollViewStyle ] }\n\t\tkeyboardDismissMode=\"none\"\n\t\tenableResetScrollToCoords={ false }\n\t\tkeyboardShouldPersistTaps=\"handled\"\n\t\textraScrollHeight={ extraScrollHeight }\n\t\textraHeight={ 0 }\n\t\tinputAccessoryViewHeight={ inputAccessoryViewHeight }\n\t\tenableAutomaticScroll={ autoScroll === undefined ? false : autoScroll }\n\t\tref={ ( ref ) => {\n\t\t\tthis.scrollViewRef = ref;\n\t\t\tinnerRef( ref );\n\t\t} }\n\t\tonKeyboardWillHide={ () => {\n\t\t\tthis.keyboardWillShowIndicator = false;\n\t\t} }\n\t\tonKeyboardDidHide={ () => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tif (\n\t\t\t\t\t! this.keyboardWillShowIndicator &&\n\t\t\t\t\tthis.latestContentOffsetY !== undefined &&\n\t\t\t\t\t! shouldPreventAutomaticScroll()\n\t\t\t\t) {\n\t\t\t\t\t// Reset the content position if keyboard is still closed.\n\t\t\t\t\tif ( this.scrollViewRef ) {\n\t\t\t\t\t\tthis.scrollViewRef.scrollToPosition(\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\tthis.latestContentOffsetY,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 50 );\n\t\t} }\n\t\tonKeyboardWillShow={ () => {\n\t\t\tthis.keyboardWillShowIndicator = true;\n\t\t} }\n\t\tscrollEnabled={ listProps.scrollEnabled }\n\t\tonScroll={ ( event ) => {\n\t\t\tthis.latestContentOffsetY = event.nativeEvent.contentOffset.y;\n\t\t} }\n\t>\n\t\t<List { ...listProps } />\n\t</KeyboardAwareScrollView>\n);\n\nKeyboardAwareFlatList.handleCaretVerticalPositionChange = (\n\tscrollView,\n\ttargetId,\n\tcaretY,\n\tpreviousCaretY\n) => {\n\tif ( previousCaretY ) {\n\t\t// If this is not the first tap.\n\t\tscrollView.refreshScrollForField( targetId );\n\t}\n};\n\nexport default KeyboardAwareFlatList;\n"]}
@@ -22,7 +22,7 @@ import { usePreferredColorSchemeStyle } from '@wordpress/compose';
22
22
 
23
23
  import LinkPickerResults from './link-picker-results';
24
24
  import NavBar from '../bottom-sheet/nav-bar';
25
- import styles from './styles.scss'; // this creates a search suggestion for adding a url directly
25
+ import styles from './styles.scss'; // This creates a search suggestion for adding a url directly.
26
26
 
27
27
  export const createDirectEntry = value => {
28
28
  let type = 'URL';
@@ -66,8 +66,8 @@ export const LinkPicker = _ref => {
66
66
  value: initialValue,
67
67
  clipboardUrl: ''
68
68
  });
69
- const directEntry = createDirectEntry(value); // the title of a direct entry is displayed as the raw input value, but if we
70
- // are replacing empty text, we want to use the generated url
69
+ const directEntry = createDirectEntry(value); // The title of a direct entry is displayed as the raw input value, but if we
70
+ // are replacing empty text, we want to use the generated url.
71
71
 
72
72
  const pickLink = _ref2 => {
73
73
  let {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/index.native.js"],"names":["SafeAreaView","TouchableOpacity","View","Clipboard","lowerCase","startsWith","useEffect","useState","__","sprintf","BottomSheet","Icon","getProtocol","isURL","prependHTTP","link","cancelCircleFilled","usePreferredColorSchemeStyle","LinkPickerResults","NavBar","styles","createDirectEntry","value","type","protocol","includes","isDirectEntry","title","url","getURLFromClipboard","text","getString","LinkPicker","initialValue","onLinkPicked","onCancel","cancel","clipboardUrl","setValue","directEntry","pickLink","onSubmit","clear","omniCellStyle","omniCell","omniCellDark","iconStyle","icon","iconDark","then","catch","safeArea","contentContainer","omniInput","newValue","clearIcon","color"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,YAAT,EAAuBC,gBAAvB,EAAyCC,IAAzC,QAAqD,cAArD;AACA,OAAOC,SAAP,MAAsB,mCAAtB;AACA,SAASC,SAAT,EAAoBC,UAApB,QAAsC,QAAtC;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,oBAApC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,WAAT,EAAsBC,IAAtB,QAAkC,uBAAlC;AACA,SAASC,WAAT,EAAsBC,KAAtB,EAA6BC,WAA7B,QAAgD,gBAAhD;AACA,SAASC,IAAT,EAAeC,kBAAf,QAAyC,kBAAzC;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,MAAP,MAAmB,eAAnB,C,CAEA;;AACA,OAAO,MAAMC,iBAAiB,GAAKC,KAAF,IAAa;AAC7C,MAAIC,IAAI,GAAG,KAAX;AAEA,QAAMC,QAAQ,GAAGpB,SAAS,CAAEQ,WAAW,CAAEU,KAAF,CAAb,CAAT,IAAqC,EAAtD;;AAEA,MAAKE,QAAQ,CAACC,QAAT,CAAmB,QAAnB,CAAL,EAAqC;AACpCF,IAAAA,IAAI,GAAG,QAAP;AACA;;AAED,MAAKC,QAAQ,CAACC,QAAT,CAAmB,KAAnB,CAAL,EAAkC;AACjCF,IAAAA,IAAI,GAAG,KAAP;AACA;;AAED,MAAKlB,UAAU,CAAEiB,KAAF,EAAS,GAAT,CAAf,EAAgC;AAC/BC,IAAAA,IAAI,GAAG,UAAP;AACA;;AAED,SAAO;AACNG,IAAAA,aAAa,EAAE,IADT;AAENC,IAAAA,KAAK,EAAEL,KAFD;AAGNM,IAAAA,GAAG,EAAEL,IAAI,KAAK,KAAT,GAAiBT,WAAW,CAAEQ,KAAF,CAA5B,GAAwCA,KAHvC;AAINC,IAAAA;AAJM,GAAP;AAMA,CAvBM;;AAyBP,MAAMM,mBAAmB,GAAG,YAAY;AACvC,QAAMC,IAAI,GAAG,MAAM3B,SAAS,CAAC4B,SAAV,EAAnB;AACA,SAAO,CAAC,CAAED,IAAH,IAAWjB,KAAK,CAAEiB,IAAF,CAAhB,GAA2BA,IAA3B,GAAkC,EAAzC;AACA,CAHD;;AAKA,OAAO,MAAME,UAAU,GAAG,QAInB;AAAA,MAJqB;AAC3BV,IAAAA,KAAK,EAAEW,YADoB;AAE3BC,IAAAA,YAF2B;AAG3BC,IAAAA,QAAQ,EAAEC;AAHiB,GAIrB;AACN,QAAM,CAAE;AAAEd,IAAAA,KAAF;AAASe,IAAAA;AAAT,GAAF,EAA2BC,QAA3B,IAAwC/B,QAAQ,CAAE;AACvDe,IAAAA,KAAK,EAAEW,YADgD;AAEvDI,IAAAA,YAAY,EAAE;AAFyC,GAAF,CAAtD;AAIA,QAAME,WAAW,GAAGlB,iBAAiB,CAAEC,KAAF,CAArC,CALM,CAON;AACA;;AACA,QAAMkB,QAAQ,GAAG,SAAqC;AAAA,QAAnC;AAAEb,MAAAA,KAAF;AAASC,MAAAA,GAAT;AAAcF,MAAAA;AAAd,KAAmC;AACrDQ,IAAAA,YAAY,CAAE;AAAEP,MAAAA,KAAK,EAAED,aAAa,GAAGE,GAAH,GAASD,KAA/B;AAAsCC,MAAAA;AAAtC,KAAF,CAAZ;AACA,GAFD;;AAIA,QAAMa,QAAQ,GAAG,MAAM;AACtBD,IAAAA,QAAQ,CAAED,WAAF,CAAR;AACA,GAFD;;AAIA,QAAMG,KAAK,GAAG,MAAM;AACnBJ,IAAAA,QAAQ,CAAE;AAAEhB,MAAAA,KAAK,EAAE,EAAT;AAAae,MAAAA;AAAb,KAAF,CAAR;AACA,GAFD;;AAIA,QAAMM,aAAa,GAAG1B,4BAA4B,CACjDG,MAAM,CAACwB,QAD0C,EAEjDxB,MAAM,CAACyB,YAF0C,CAAlD;AAKA,QAAMC,SAAS,GAAG7B,4BAA4B,CAC7CG,MAAM,CAAC2B,IADsC,EAE7C3B,MAAM,CAAC4B,QAFsC,CAA9C;AAKA1C,EAAAA,SAAS,CAAE,MAAM;AAChBuB,IAAAA,mBAAmB,GACjBoB,IADF,CACUrB,GAAF,IAAWU,QAAQ,CAAE;AAAEhB,MAAAA,KAAF;AAASe,MAAAA,YAAY,EAAET;AAAvB,KAAF,CAD3B,EAEEsB,KAFF,CAES,MAAMZ,QAAQ,CAAE;AAAEhB,MAAAA,KAAF;AAASe,MAAAA,YAAY,EAAE;AAAvB,KAAF,CAFvB;AAGA,GAJQ,EAIN,EAJM,CAAT,CA/BM,CAqCN;AACA;;AACA,SACC,cAAC,YAAD;AAAc,IAAA,KAAK,EAAGjB,MAAM,CAAC+B;AAA7B,KACC,cAAC,MAAD,QACC,cAAC,MAAD,CAAQ,aAAR;AAAsB,IAAA,OAAO,EAAGf;AAAhC,IADD,EAEC,cAAC,MAAD,CAAQ,OAAR,QAAkB5B,EAAE,CAAE,SAAF,CAApB,CAFD,EAGC,cAAC,MAAD,CAAQ,WAAR;AAAoB,IAAA,OAAO,EAAGiC;AAA9B,IAHD,CADD,EAMC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGrB,MAAM,CAACgC;AAArB,KACC,cAAC,WAAD,CAAa,IAAb;AACC,IAAA,IAAI,EAAGrC,IADR;AAEC,IAAA,KAAK,EAAG4B,aAFT;AAGC,IAAA,UAAU,EAAGvB,MAAM,CAACiC,SAHrB;AAIC,IAAA,KAAK,EAAG/B,KAJT;AAKC,IAAA,WAAW,EAAGd,EAAE,CAAE,oBAAF,CALjB;AAMC,IAAA,cAAc,EAAC,MANhB;AAOC,IAAA,WAAW,EAAG,KAPf;AAQC,IAAA,YAAY,EAAC,KARd;AASC,IAAA,aAAa,EAAK8C,QAAF,IAAgB;AAC/BhB,MAAAA,QAAQ,CAAE;AAAEhB,QAAAA,KAAK,EAAEgC,QAAT;AAAmBjB,QAAAA;AAAnB,OAAF,CAAR;AACA,KAXF;AAYC,IAAA,QAAQ,EAAGI;AACX;AAbD;AAcC,IAAA,SAAS,MAdV;AAeC,IAAA,aAAa,EAAC;AAff,KAiBGnB,KAAK,KAAK,EAAV,IACD,cAAC,gBAAD;AACC,IAAA,OAAO,EAAGoB,KADX;AAEC,IAAA,KAAK,EAAGtB,MAAM,CAACmC;AAFhB,KAIC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGvC,kBADR;AAEC,IAAA,IAAI,EAAG8B,SAAS,CAACU,KAFlB;AAGC,IAAA,IAAI,EAAG;AAHR,IAJD,CAlBF,CADD,EA+BG,CAAC,CAAEnB,YAAH,IAAmBA,YAAY,KAAKf,KAApC,IACD,cAAC,WAAD,CAAa,sBAAb;AACC,IAAA,UAAU,MADX;AAEC,IAAA,kBAAkB,EAAGb,OAAO;AAC3B;AACAD,IAAAA,EAAE,CAAE,iCAAF,CAFyB,EAG3B6B,YAH2B,CAF7B;AAOC,IAAA,UAAU,EAAG;AACZd,MAAAA,IAAI,EAAE,WADM;AAEZK,MAAAA,GAAG,EAAES,YAFO;AAGZX,MAAAA,aAAa,EAAE;AAHH,KAPd;AAYC,IAAA,YAAY,EAAGc;AAZhB,IAhCF,EA+CG,CAAC,CAAElB,KAAH,IACD,cAAC,iBAAD;AACC,IAAA,KAAK,EAAGA,KADT;AAEC,IAAA,YAAY,EAAGkB,QAFhB;AAGC,IAAA,WAAW,EAAGD;AAHf,IAhDF,CAND,CADD;AAgEA,CA3GM","sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView, TouchableOpacity, View } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\nimport { lowerCase, startsWith } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet, Icon } from '@wordpress/components';\nimport { getProtocol, isURL, prependHTTP } from '@wordpress/url';\nimport { link, cancelCircleFilled } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport LinkPickerResults from './link-picker-results';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\n// this creates a search suggestion for adding a url directly\nexport const createDirectEntry = ( value ) => {\n\tlet type = 'URL';\n\n\tconst protocol = lowerCase( getProtocol( value ) ) || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = 'mailto';\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = 'tel';\n\t}\n\n\tif ( startsWith( value, '#' ) ) {\n\t\ttype = 'internal';\n\t}\n\n\treturn {\n\t\tisDirectEntry: true,\n\t\ttitle: value,\n\t\turl: type === 'URL' ? prependHTTP( value ) : value,\n\t\ttype,\n\t};\n};\n\nconst getURLFromClipboard = async () => {\n\tconst text = await Clipboard.getString();\n\treturn !! text && isURL( text ) ? text : '';\n};\n\nexport const LinkPicker = ( {\n\tvalue: initialValue,\n\tonLinkPicked,\n\tonCancel: cancel,\n} ) => {\n\tconst [ { value, clipboardUrl }, setValue ] = useState( {\n\t\tvalue: initialValue,\n\t\tclipboardUrl: '',\n\t} );\n\tconst directEntry = createDirectEntry( value );\n\n\t// the title of a direct entry is displayed as the raw input value, but if we\n\t// are replacing empty text, we want to use the generated url\n\tconst pickLink = ( { title, url, isDirectEntry } ) => {\n\t\tonLinkPicked( { title: isDirectEntry ? url : title, url } );\n\t};\n\n\tconst onSubmit = () => {\n\t\tpickLink( directEntry );\n\t};\n\n\tconst clear = () => {\n\t\tsetValue( { value: '', clipboardUrl } );\n\t};\n\n\tconst omniCellStyle = usePreferredColorSchemeStyle(\n\t\tstyles.omniCell,\n\t\tstyles.omniCellDark\n\t);\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tuseEffect( () => {\n\t\tgetURLFromClipboard()\n\t\t\t.then( ( url ) => setValue( { value, clipboardUrl: url } ) )\n\t\t\t.catch( () => setValue( { value, clipboardUrl: '' } ) );\n\t}, [] );\n\n\t// TODO: Localize the accessibility label.\n\t// TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.\n\treturn (\n\t\t<SafeAreaView style={ styles.safeArea }>\n\t\t\t<NavBar>\n\t\t\t\t<NavBar.DismissButton onPress={ cancel } />\n\t\t\t\t<NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>\n\t\t\t\t<NavBar.ApplyButton onPress={ onSubmit } />\n\t\t\t</NavBar>\n\t\t\t<View style={ styles.contentContainer }>\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ link }\n\t\t\t\t\tstyle={ omniCellStyle }\n\t\t\t\t\tvalueStyle={ styles.omniInput }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ __( 'Search or type URL' ) }\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tonChangeValue={ ( newValue ) => {\n\t\t\t\t\t\tsetValue( { value: newValue, clipboardUrl } );\n\t\t\t\t\t} }\n\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\t\tautoFocus\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t>\n\t\t\t\t\t{ value !== '' && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={ clear }\n\t\t\t\t\t\t\tstyle={ styles.clearIcon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t{ !! clipboardUrl && clipboardUrl !== value && (\n\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: Copy URL from the clipboard, https://sample.url */\n\t\t\t\t\t\t\t__( 'Copy URL from the clipboard, %s' ),\n\t\t\t\t\t\t\tclipboardUrl\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tsuggestion={ {\n\t\t\t\t\t\t\ttype: 'clipboard',\n\t\t\t\t\t\t\turl: clipboardUrl,\n\t\t\t\t\t\t\tisDirectEntry: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! value && (\n\t\t\t\t\t<LinkPickerResults\n\t\t\t\t\t\tquery={ value }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t\tdirectEntry={ directEntry }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</SafeAreaView>\n\t);\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/index.native.js"],"names":["SafeAreaView","TouchableOpacity","View","Clipboard","lowerCase","startsWith","useEffect","useState","__","sprintf","BottomSheet","Icon","getProtocol","isURL","prependHTTP","link","cancelCircleFilled","usePreferredColorSchemeStyle","LinkPickerResults","NavBar","styles","createDirectEntry","value","type","protocol","includes","isDirectEntry","title","url","getURLFromClipboard","text","getString","LinkPicker","initialValue","onLinkPicked","onCancel","cancel","clipboardUrl","setValue","directEntry","pickLink","onSubmit","clear","omniCellStyle","omniCell","omniCellDark","iconStyle","icon","iconDark","then","catch","safeArea","contentContainer","omniInput","newValue","clearIcon","color"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView, TouchableOpacity, View } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\nimport { lowerCase, startsWith } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet, Icon } from '@wordpress/components';\nimport { getProtocol, isURL, prependHTTP } from '@wordpress/url';\nimport { link, cancelCircleFilled } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport LinkPickerResults from './link-picker-results';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\n// This creates a search suggestion for adding a url directly.\nexport const createDirectEntry = ( value ) => {\n\tlet type = 'URL';\n\n\tconst protocol = lowerCase( getProtocol( value ) ) || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = 'mailto';\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = 'tel';\n\t}\n\n\tif ( startsWith( value, '#' ) ) {\n\t\ttype = 'internal';\n\t}\n\n\treturn {\n\t\tisDirectEntry: true,\n\t\ttitle: value,\n\t\turl: type === 'URL' ? prependHTTP( value ) : value,\n\t\ttype,\n\t};\n};\n\nconst getURLFromClipboard = async () => {\n\tconst text = await Clipboard.getString();\n\treturn !! text && isURL( text ) ? text : '';\n};\n\nexport const LinkPicker = ( {\n\tvalue: initialValue,\n\tonLinkPicked,\n\tonCancel: cancel,\n} ) => {\n\tconst [ { value, clipboardUrl }, setValue ] = useState( {\n\t\tvalue: initialValue,\n\t\tclipboardUrl: '',\n\t} );\n\tconst directEntry = createDirectEntry( value );\n\n\t// The title of a direct entry is displayed as the raw input value, but if we\n\t// are replacing empty text, we want to use the generated url.\n\tconst pickLink = ( { title, url, isDirectEntry } ) => {\n\t\tonLinkPicked( { title: isDirectEntry ? url : title, url } );\n\t};\n\n\tconst onSubmit = () => {\n\t\tpickLink( directEntry );\n\t};\n\n\tconst clear = () => {\n\t\tsetValue( { value: '', clipboardUrl } );\n\t};\n\n\tconst omniCellStyle = usePreferredColorSchemeStyle(\n\t\tstyles.omniCell,\n\t\tstyles.omniCellDark\n\t);\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tuseEffect( () => {\n\t\tgetURLFromClipboard()\n\t\t\t.then( ( url ) => setValue( { value, clipboardUrl: url } ) )\n\t\t\t.catch( () => setValue( { value, clipboardUrl: '' } ) );\n\t}, [] );\n\n\t// TODO: Localize the accessibility label.\n\t// TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.\n\treturn (\n\t\t<SafeAreaView style={ styles.safeArea }>\n\t\t\t<NavBar>\n\t\t\t\t<NavBar.DismissButton onPress={ cancel } />\n\t\t\t\t<NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>\n\t\t\t\t<NavBar.ApplyButton onPress={ onSubmit } />\n\t\t\t</NavBar>\n\t\t\t<View style={ styles.contentContainer }>\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ link }\n\t\t\t\t\tstyle={ omniCellStyle }\n\t\t\t\t\tvalueStyle={ styles.omniInput }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ __( 'Search or type URL' ) }\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tonChangeValue={ ( newValue ) => {\n\t\t\t\t\t\tsetValue( { value: newValue, clipboardUrl } );\n\t\t\t\t\t} }\n\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\t\tautoFocus\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t>\n\t\t\t\t\t{ value !== '' && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={ clear }\n\t\t\t\t\t\t\tstyle={ styles.clearIcon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t{ !! clipboardUrl && clipboardUrl !== value && (\n\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: Copy URL from the clipboard, https://sample.url */\n\t\t\t\t\t\t\t__( 'Copy URL from the clipboard, %s' ),\n\t\t\t\t\t\t\tclipboardUrl\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tsuggestion={ {\n\t\t\t\t\t\t\ttype: 'clipboard',\n\t\t\t\t\t\t\turl: clipboardUrl,\n\t\t\t\t\t\t\tisDirectEntry: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! value && (\n\t\t\t\t\t<LinkPickerResults\n\t\t\t\t\t\tquery={ value }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t\tdirectEntry={ directEntry }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</SafeAreaView>\n\t);\n};\n"]}
@@ -37,7 +37,7 @@ export default function LinkPickerResults(_ref) {
37
37
 
38
38
  const clearRequest = () => {
39
39
  pendingRequest.current = null;
40
- }; // a stable debounced function to fetch suggestions and append
40
+ }; // A stable debounced function to fetch suggestions and append.
41
41
 
42
42
 
43
43
  const {
@@ -67,8 +67,8 @@ export default function LinkPickerResults(_ref) {
67
67
  links: currentSuggestions
68
68
  } = _ref3;
69
69
 
70
- // return early if we've already detected the end of data or we are
71
- // already awaiting a response
70
+ // Return early if we've already detected the end of data or we are
71
+ // already awaiting a response.
72
72
  if (hasAllSuggestions || pendingRequest.current) {
73
73
  return;
74
74
  }
@@ -77,11 +77,11 @@ export default function LinkPickerResults(_ref) {
77
77
  search
78
78
  });
79
79
  pendingRequest.current = request;
80
- const suggestions = await request; // only update links for the most recent request
80
+ const suggestions = await request; // Only update links for the most recent request.
81
81
 
82
82
  if (suggestions && request === pendingRequest.current) {
83
- // since we don't have the response header, we check if the results
84
- // are truncated to determine we've reached the end
83
+ // Since we don't have the response header, we check if the results
84
+ // are truncated to determine we've reached the end.
85
85
  if (suggestions.length < PER_PAGE) {
86
86
  setHasAllSuggestions(true);
87
87
  }
@@ -96,9 +96,9 @@ export default function LinkPickerResults(_ref) {
96
96
  return {
97
97
  fetchMoreSuggestions: debounce(fetchMore, REQUEST_DEBOUNCE_DELAY)
98
98
  };
99
- }, []); // prevent setting state when unmounted
99
+ }, []); // Prevent setting state when unmounted.
100
100
 
101
- useEffect(() => clearRequest, []); // any time the query changes, we reset pagination
101
+ useEffect(() => clearRequest, []); // Any time the query changes, we reset pagination.
102
102
 
103
103
  useEffect(() => {
104
104
  clearRequest();
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/link-picker-results.native.js"],"names":["ActivityIndicator","FlatList","View","debounce","BottomSheet","BottomSheetConsumer","useState","useEffect","useRef","useSelect","styles","PER_PAGE","REQUEST_DEBOUNCE_DELAY","MINIMUM_QUERY_SIZE","meetsThreshold","query","length","LinkPickerResults","onLinkPicked","directEntry","links","setLinks","hasAllSuggestions","setHasAllSuggestions","nextPage","pendingRequest","clearRequest","current","fetchMoreSuggestions","select","getSettings","fetchLinkSuggestions","search","__experimentalFetchLinkSuggestions","page","type","perPage","fetchMore","currentSuggestions","request","suggestions","onEndReached","spinner","listProps","item","url","contentContainerStyle","list"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { ActivityIndicator, FlatList, View } from 'react-native';\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { BottomSheet, BottomSheetConsumer } from '@wordpress/components';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst PER_PAGE = 20;\nconst REQUEST_DEBOUNCE_DELAY = 400;\nconst MINIMUM_QUERY_SIZE = 2;\nconst meetsThreshold = ( query ) => MINIMUM_QUERY_SIZE <= query.length;\n\nexport default function LinkPickerResults( {\n\tquery,\n\tonLinkPicked,\n\tdirectEntry,\n} ) {\n\tconst [ links, setLinks ] = useState( [ directEntry ] );\n\tconst [ hasAllSuggestions, setHasAllSuggestions ] = useState( false );\n\tconst nextPage = useRef( 1 );\n\tconst pendingRequest = useRef();\n\tconst clearRequest = () => {\n\t\tpendingRequest.current = null;\n\t};\n\n\t// a stable debounced function to fetch suggestions and append\n\tconst { fetchMoreSuggestions } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( 'core/block-editor' );\n\t\tconst fetchLinkSuggestions = async ( { search } ) => {\n\t\t\tif ( meetsThreshold( search ) ) {\n\t\t\t\treturn await getSettings().__experimentalFetchLinkSuggestions(\n\t\t\t\t\tsearch,\n\t\t\t\t\t{ page: nextPage.current, type: 'post', perPage: PER_PAGE }\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tconst fetchMore = async ( {\n\t\t\tquery: search,\n\t\t\tlinks: currentSuggestions,\n\t\t} ) => {\n\t\t\t// return early if we've already detected the end of data or we are\n\t\t\t// already awaiting a response\n\t\t\tif ( hasAllSuggestions || pendingRequest.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst request = fetchLinkSuggestions( { search } );\n\t\t\tpendingRequest.current = request;\n\t\t\tconst suggestions = await request;\n\n\t\t\t// only update links for the most recent request\n\t\t\tif ( suggestions && request === pendingRequest.current ) {\n\t\t\t\t// since we don't have the response header, we check if the results\n\t\t\t\t// are truncated to determine we've reached the end\n\t\t\t\tif ( suggestions.length < PER_PAGE ) {\n\t\t\t\t\tsetHasAllSuggestions( true );\n\t\t\t\t}\n\t\t\t\tsetLinks( [ ...currentSuggestions, ...suggestions ] );\n\t\t\t\tnextPage.current++;\n\t\t\t}\n\n\t\t\tclearRequest();\n\t\t};\n\t\treturn {\n\t\t\tfetchMoreSuggestions: debounce( fetchMore, REQUEST_DEBOUNCE_DELAY ),\n\t\t};\n\t}, [] );\n\n\t// prevent setting state when unmounted\n\tuseEffect( () => clearRequest, [] );\n\n\t// any time the query changes, we reset pagination\n\tuseEffect( () => {\n\t\tclearRequest();\n\t\tnextPage.current = 1;\n\t\tsetHasAllSuggestions( false );\n\t\tsetLinks( [ directEntry ] );\n\t\tfetchMoreSuggestions( { query, links: [ directEntry ] } );\n\t}, [ query ] );\n\n\tconst onEndReached = () => fetchMoreSuggestions( { query, links } );\n\n\tconst spinner = ! hasAllSuggestions && meetsThreshold( query ) && (\n\t\t<View style={ styles.spinner }>\n\t\t\t<ActivityIndicator animating />\n\t\t</View>\n\t);\n\n\treturn (\n\t\t<BottomSheetConsumer>\n\t\t\t{ ( { listProps } ) => (\n\t\t\t\t<FlatList\n\t\t\t\t\tdata={ links }\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\trenderItem={ ( { item } ) => (\n\t\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\t\tsuggestion={ item }\n\t\t\t\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\tkeyExtractor={ ( { url, type } ) => `${ url }-${ type }` }\n\t\t\t\t\tonEndReached={ onEndReached }\n\t\t\t\t\tonEndReachedThreshold={ 0.1 }\n\t\t\t\t\tinitialNumToRender={ PER_PAGE }\n\t\t\t\t\tListFooterComponent={ spinner }\n\t\t\t\t\t{ ...listProps }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\t...listProps.contentContainerStyle,\n\t\t\t\t\t\tstyles.list,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</BottomSheetConsumer>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/link-picker-results.native.js"],"names":["ActivityIndicator","FlatList","View","debounce","BottomSheet","BottomSheetConsumer","useState","useEffect","useRef","useSelect","styles","PER_PAGE","REQUEST_DEBOUNCE_DELAY","MINIMUM_QUERY_SIZE","meetsThreshold","query","length","LinkPickerResults","onLinkPicked","directEntry","links","setLinks","hasAllSuggestions","setHasAllSuggestions","nextPage","pendingRequest","clearRequest","current","fetchMoreSuggestions","select","getSettings","fetchLinkSuggestions","search","__experimentalFetchLinkSuggestions","page","type","perPage","fetchMore","currentSuggestions","request","suggestions","onEndReached","spinner","listProps","item","url","contentContainerStyle","list"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { ActivityIndicator, FlatList, View } from 'react-native';\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { BottomSheet, BottomSheetConsumer } from '@wordpress/components';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst PER_PAGE = 20;\nconst REQUEST_DEBOUNCE_DELAY = 400;\nconst MINIMUM_QUERY_SIZE = 2;\nconst meetsThreshold = ( query ) => MINIMUM_QUERY_SIZE <= query.length;\n\nexport default function LinkPickerResults( {\n\tquery,\n\tonLinkPicked,\n\tdirectEntry,\n} ) {\n\tconst [ links, setLinks ] = useState( [ directEntry ] );\n\tconst [ hasAllSuggestions, setHasAllSuggestions ] = useState( false );\n\tconst nextPage = useRef( 1 );\n\tconst pendingRequest = useRef();\n\tconst clearRequest = () => {\n\t\tpendingRequest.current = null;\n\t};\n\n\t// A stable debounced function to fetch suggestions and append.\n\tconst { fetchMoreSuggestions } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( 'core/block-editor' );\n\t\tconst fetchLinkSuggestions = async ( { search } ) => {\n\t\t\tif ( meetsThreshold( search ) ) {\n\t\t\t\treturn await getSettings().__experimentalFetchLinkSuggestions(\n\t\t\t\t\tsearch,\n\t\t\t\t\t{ page: nextPage.current, type: 'post', perPage: PER_PAGE }\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tconst fetchMore = async ( {\n\t\t\tquery: search,\n\t\t\tlinks: currentSuggestions,\n\t\t} ) => {\n\t\t\t// Return early if we've already detected the end of data or we are\n\t\t\t// already awaiting a response.\n\t\t\tif ( hasAllSuggestions || pendingRequest.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst request = fetchLinkSuggestions( { search } );\n\t\t\tpendingRequest.current = request;\n\t\t\tconst suggestions = await request;\n\n\t\t\t// Only update links for the most recent request.\n\t\t\tif ( suggestions && request === pendingRequest.current ) {\n\t\t\t\t// Since we don't have the response header, we check if the results\n\t\t\t\t// are truncated to determine we've reached the end.\n\t\t\t\tif ( suggestions.length < PER_PAGE ) {\n\t\t\t\t\tsetHasAllSuggestions( true );\n\t\t\t\t}\n\t\t\t\tsetLinks( [ ...currentSuggestions, ...suggestions ] );\n\t\t\t\tnextPage.current++;\n\t\t\t}\n\n\t\t\tclearRequest();\n\t\t};\n\t\treturn {\n\t\t\tfetchMoreSuggestions: debounce( fetchMore, REQUEST_DEBOUNCE_DELAY ),\n\t\t};\n\t}, [] );\n\n\t// Prevent setting state when unmounted.\n\tuseEffect( () => clearRequest, [] );\n\n\t// Any time the query changes, we reset pagination.\n\tuseEffect( () => {\n\t\tclearRequest();\n\t\tnextPage.current = 1;\n\t\tsetHasAllSuggestions( false );\n\t\tsetLinks( [ directEntry ] );\n\t\tfetchMoreSuggestions( { query, links: [ directEntry ] } );\n\t}, [ query ] );\n\n\tconst onEndReached = () => fetchMoreSuggestions( { query, links } );\n\n\tconst spinner = ! hasAllSuggestions && meetsThreshold( query ) && (\n\t\t<View style={ styles.spinner }>\n\t\t\t<ActivityIndicator animating />\n\t\t</View>\n\t);\n\n\treturn (\n\t\t<BottomSheetConsumer>\n\t\t\t{ ( { listProps } ) => (\n\t\t\t\t<FlatList\n\t\t\t\t\tdata={ links }\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\trenderItem={ ( { item } ) => (\n\t\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\t\tsuggestion={ item }\n\t\t\t\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\tkeyExtractor={ ( { url, type } ) => `${ url }-${ type }` }\n\t\t\t\t\tonEndReached={ onEndReached }\n\t\t\t\t\tonEndReachedThreshold={ 0.1 }\n\t\t\t\t\tinitialNumToRender={ PER_PAGE }\n\t\t\t\t\tListFooterComponent={ spinner }\n\t\t\t\t\t{ ...listProps }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\t...listProps.contentContainerStyle,\n\t\t\t\t\t\tstyles.list,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</BottomSheetConsumer>\n\t);\n}\n"]}
@@ -86,9 +86,9 @@ function ImageLinkDestinationsScreen(props) {
86
86
  navigation.navigate(blockSettingsScreens.settings, {
87
87
  // The `inputValue` name is reused from LinkPicker, as it helps avoid
88
88
  // bugs from stale values remaining in the React Navigation route
89
- // parameters
89
+ // parameters.
90
90
  inputValue: newUrl,
91
- // Clear link text value that may be set from LinkPicker
91
+ // Clear link text value that may be set from LinkPicker.
92
92
  text: ''
93
93
  });
94
94
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/link-settings/image-link-destinations-screen.native.js"],"names":["useNavigation","useRoute","StyleSheet","__","Icon","check","chevronRight","blockSettingsScreens","usePreferredColorSchemeStyle","styles","PanelBody","BottomSheet","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LinkDestination","children","isSelected","label","onPress","value","valueStyle","optionIcon","optionIconDark","flatten","unselectedOptionIcon","ImageLinkDestinationsScreen","props","navigation","route","url","inputValue","imageUrl","attachmentPageUrl","linkDestination","params","goToLinkPicker","navigate","linkPicker","setLinkDestination","newLinkDestination","newUrl","settings","text","goBack","undefined","placeholderTextColor"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { StyleSheet } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, chevronRight } from '@wordpress/icons';\nimport { blockSettingsScreens } from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport PanelBody from '../../panel/body';\nimport BottomSheet from '../bottom-sheet';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst LINK_DESTINATION_CUSTOM = 'custom';\n\nfunction LinkDestination( {\n\tchildren,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tvalue,\n\tvalueStyle,\n} ) {\n\tconst optionIcon = usePreferredColorSchemeStyle(\n\t\tstyles.optionIcon,\n\t\tstyles.optionIconDark\n\t);\n\treturn (\n\t\t<BottomSheet.Cell\n\t\t\ticon={ check }\n\t\t\ticonStyle={ StyleSheet.flatten( [\n\t\t\t\toptionIcon,\n\t\t\t\t! isSelected && styles.unselectedOptionIcon,\n\t\t\t] ) }\n\t\t\tlabel={ label }\n\t\t\tleftAlign\n\t\t\tonPress={ onPress }\n\t\t\tvalue={ value }\n\t\t\tvalueStyle={ valueStyle }\n\t\t\tseparatorType=\"leftMargin\"\n\t\t>\n\t\t\t{ children }\n\t\t</BottomSheet.Cell>\n\t);\n}\n\nfunction ImageLinkDestinationsScreen( props ) {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url, imageUrl, attachmentPageUrl, linkDestination } =\n\t\troute.params || {};\n\n\tfunction goToLinkPicker() {\n\t\tnavigation.navigate( blockSettingsScreens.linkPicker, {\n\t\t\tinputValue:\n\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',\n\t\t} );\n\t}\n\n\tconst setLinkDestination = ( newLinkDestination ) => () => {\n\t\tlet newUrl;\n\t\tswitch ( newLinkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\tnewUrl = imageUrl;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\tnewUrl = attachmentPageUrl;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewUrl = '';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnavigation.navigate( blockSettingsScreens.settings, {\n\t\t\t// The `inputValue` name is reused from LinkPicker, as it helps avoid\n\t\t\t// bugs from stale values remaining in the React Navigation route\n\t\t\t// parameters\n\t\t\tinputValue: newUrl,\n\t\t\t// Clear link text value that may be set from LinkPicker\n\t\t\ttext: '',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BottomSheet.NavBar>\n\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t{ __( 'Link To' ) }\n\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t</BottomSheet.NavBar>\n\t\t\t<PanelBody>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_NONE }\n\t\t\t\t\tlabel={ __( 'None' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_NONE ) }\n\t\t\t\t/>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_MEDIA }\n\t\t\t\t\tlabel={ __( 'Media File' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }\n\t\t\t\t/>\n\t\t\t\t{ !! attachmentPageUrl && (\n\t\t\t\t\t<LinkDestination\n\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Attachment Page' ) }\n\t\t\t\t\t\tonPress={ setLinkDestination(\n\t\t\t\t\t\t\tLINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_CUSTOM }\n\t\t\t\t\tlabel={ __( 'Custom URL' ) }\n\t\t\t\t\tonPress={ goToLinkPicker }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? inputValue\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tvalueStyle={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: styles.placeholderTextColor\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</LinkDestination>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default ImageLinkDestinationsScreen;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-settings/image-link-destinations-screen.native.js"],"names":["useNavigation","useRoute","StyleSheet","__","Icon","check","chevronRight","blockSettingsScreens","usePreferredColorSchemeStyle","styles","PanelBody","BottomSheet","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LinkDestination","children","isSelected","label","onPress","value","valueStyle","optionIcon","optionIconDark","flatten","unselectedOptionIcon","ImageLinkDestinationsScreen","props","navigation","route","url","inputValue","imageUrl","attachmentPageUrl","linkDestination","params","goToLinkPicker","navigate","linkPicker","setLinkDestination","newLinkDestination","newUrl","settings","text","goBack","undefined","placeholderTextColor"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { StyleSheet } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, chevronRight } from '@wordpress/icons';\nimport { blockSettingsScreens } from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport PanelBody from '../../panel/body';\nimport BottomSheet from '../bottom-sheet';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst LINK_DESTINATION_CUSTOM = 'custom';\n\nfunction LinkDestination( {\n\tchildren,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tvalue,\n\tvalueStyle,\n} ) {\n\tconst optionIcon = usePreferredColorSchemeStyle(\n\t\tstyles.optionIcon,\n\t\tstyles.optionIconDark\n\t);\n\treturn (\n\t\t<BottomSheet.Cell\n\t\t\ticon={ check }\n\t\t\ticonStyle={ StyleSheet.flatten( [\n\t\t\t\toptionIcon,\n\t\t\t\t! isSelected && styles.unselectedOptionIcon,\n\t\t\t] ) }\n\t\t\tlabel={ label }\n\t\t\tleftAlign\n\t\t\tonPress={ onPress }\n\t\t\tvalue={ value }\n\t\t\tvalueStyle={ valueStyle }\n\t\t\tseparatorType=\"leftMargin\"\n\t\t>\n\t\t\t{ children }\n\t\t</BottomSheet.Cell>\n\t);\n}\n\nfunction ImageLinkDestinationsScreen( props ) {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url, imageUrl, attachmentPageUrl, linkDestination } =\n\t\troute.params || {};\n\n\tfunction goToLinkPicker() {\n\t\tnavigation.navigate( blockSettingsScreens.linkPicker, {\n\t\t\tinputValue:\n\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',\n\t\t} );\n\t}\n\n\tconst setLinkDestination = ( newLinkDestination ) => () => {\n\t\tlet newUrl;\n\t\tswitch ( newLinkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\tnewUrl = imageUrl;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\tnewUrl = attachmentPageUrl;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewUrl = '';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnavigation.navigate( blockSettingsScreens.settings, {\n\t\t\t// The `inputValue` name is reused from LinkPicker, as it helps avoid\n\t\t\t// bugs from stale values remaining in the React Navigation route\n\t\t\t// parameters.\n\t\t\tinputValue: newUrl,\n\t\t\t// Clear link text value that may be set from LinkPicker.\n\t\t\ttext: '',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BottomSheet.NavBar>\n\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t{ __( 'Link To' ) }\n\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t</BottomSheet.NavBar>\n\t\t\t<PanelBody>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_NONE }\n\t\t\t\t\tlabel={ __( 'None' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_NONE ) }\n\t\t\t\t/>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_MEDIA }\n\t\t\t\t\tlabel={ __( 'Media File' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }\n\t\t\t\t/>\n\t\t\t\t{ !! attachmentPageUrl && (\n\t\t\t\t\t<LinkDestination\n\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Attachment Page' ) }\n\t\t\t\t\t\tonPress={ setLinkDestination(\n\t\t\t\t\t\t\tLINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_CUSTOM }\n\t\t\t\t\tlabel={ __( 'Custom URL' ) }\n\t\t\t\t\tonPress={ goToLinkPicker }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? inputValue\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tvalueStyle={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: styles.placeholderTextColor\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</LinkDestination>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default ImageLinkDestinationsScreen;\n"]}
@@ -198,7 +198,7 @@ function LinkSettings(_ref) {
198
198
 
199
199
  if (!clipboardText) {
200
200
  return;
201
- } // Check if pasted text is URL
201
+ } // Check if pasted text is URL.
202
202
 
203
203
 
204
204
  if (!isURL(clipboardText)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"names":["Platform","Clipboard","compose","withSelect","isURL","prependHTTP","useEffect","useState","useRef","useContext","useCallback","link","external","BottomSheet","BottomSheetContext","PanelBody","TextControl","ToggleControl","FooterMessageControl","PanelActions","LinkRelIcon","styles","NEW_TAB_REL","LinkSettings","isVisible","onClose","setAttributes","onEmptyURL","options","withBottomSheet","actions","editorSidebarOpened","showIcon","onLinkCellPressed","urlValue","url","label","linkTarget","rel","urlInputValue","setUrlInputValue","labelInputValue","setLabelInputValue","linkRelInputValue","setLinkRelInputValue","onCloseSettingsSheetConsumed","prevEditorSidebarOpenedRef","onHandleClosingBottomSheet","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","onChangeURL","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","getString","getSettings","valueMask","placeholder","OS","autoFocus","linkLabel","openInNewTab","linkRel","linkSettingsPanel","footer","separatorType","select","isEditorSidebarOpened"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { link, external } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetContext } from '../bottom-sheet/bottom-sheet-context';\nimport PanelBody from '../../panel/body';\nimport TextControl from '../../text-control';\nimport ToggleControl from '../../toggle-control';\nimport FooterMessageControl from '../../footer-message-control';\nimport PanelActions from '../../panel/actions';\nimport LinkRelIcon from './link-rel';\n\nimport styles from './style.scss';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction LinkSettings( {\n\t// Control link settings `BottomSheet` visibility\n\tisVisible,\n\t// Callback that is called on closing bottom sheet\n\tonClose,\n\t// Function called to set attributes\n\tsetAttributes,\n\t// Callback that is called when url input field is empty\n\tonEmptyURL,\n\t// Object of available options along with specific, customizable properties.\n\t// Available options keys:\n\t//\t* url - uses `TextControl` component to set `attributes.url`\n\t//\t* linkLabel - uses `TextControl` component to set `attributes.label`\n\t//\t* openInNewTab - uses `ToggleControl` component to set `attributes.linkTarget` and `attributes.rel`\n\t//\t* linkRel - uses `TextControl` component to set `attributes.rel`\n\t//\t* footer - uses `FooterMessageControl` component to display message, e.g. about missing functionality\n\t// Available properties:\n\t//\t* label - control component label, e.g. `Button Link URL`\n\t//\t* placeholder - control component placeholder, e.g. `Add URL`\n\t//\t* autoFocus (url only) - whether url input should be focused on sheet opening\n\t//\t* autoFill (url only) - whether url input should be filled with url from clipboard\n\t// Example:\n\t//\tconst options = {\n\t//\t\turl: {\n\t//\t\t\tlabel: __( 'Button Link URL' ),\n\t//\t\t\tplaceholder: __( 'Add URL' ),\n\t//\t\t\tautoFocus: true,\n\t//\t\t\tautoFill: true,\n\t//\t\t}\n\t//\t}\n\toptions,\n\t// Specifies whether settings should be wrapped into `BottomSheet`\n\twithBottomSheet,\n\t// Defines buttons which will be displayed below the all options.\n\t// It's an array of objects with following properties:\n\t//\t* label - button title\n\t//\t* onPress - callback that is called on pressing button\n\t// Example:\n\t// \tconst actions = [\n\t//\t\t{\n\t//\t\t\tlabel: __( 'Remove link' ),\n\t//\t\t\tonPress: () => setAttributes({ url: '' }),\n\t//\t\t},\n\t//\t];\n\tactions,\n\t// Specifies whether general `BottomSheet` is opened\n\teditorSidebarOpened,\n\t// Specifies whether icon should be displayed next to the label\n\tshowIcon,\n\tonLinkCellPressed,\n\turlValue,\n\t// Attributes properties\n\turl,\n\tlabel = '',\n\tlinkTarget,\n\trel = '',\n} ) {\n\tconst [ urlInputValue, setUrlInputValue ] = useState( '' );\n\tconst [ labelInputValue, setLabelInputValue ] = useState( '' );\n\tconst [ linkRelInputValue, setLinkRelInputValue ] = useState( '' );\n\tconst onCloseSettingsSheetConsumed = useRef( false );\n\tconst prevEditorSidebarOpenedRef = useRef();\n\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\tuseEffect( () => {\n\t\tif ( onHandleClosingBottomSheet ) {\n\t\t\tonHandleClosingBottomSheet( onCloseSettingsSheet );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue ] );\n\n\tuseEffect( () => {\n\t\tprevEditorSidebarOpenedRef.current = editorSidebarOpened;\n\t} );\n\tconst prevEditorSidebarOpened = prevEditorSidebarOpenedRef.current;\n\n\tuseEffect( () => {\n\t\tif ( url !== urlInputValue ) {\n\t\t\tsetUrlInputValue( url || '' );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\tsetLabelInputValue( label || '' );\n\t}, [ label ] );\n\n\tuseEffect( () => {\n\t\tsetLinkRelInputValue( rel || '' );\n\t}, [ rel ] );\n\n\tuseEffect( () => {\n\t\tconst isSettingSheetOpen = isVisible || editorSidebarOpened;\n\t\tif ( isSettingSheetOpen ) {\n\t\t\tonCloseSettingsSheetConsumed.current = false;\n\t\t}\n\n\t\tif ( options.url.autoFill && isSettingSheetOpen && ! url ) {\n\t\t\tgetURLFromClipboard();\n\t\t}\n\n\t\tif ( prevEditorSidebarOpened && ! editorSidebarOpened ) {\n\t\t\tonSetAttributes();\n\t\t}\n\t}, [ editorSidebarOpened, isVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( ! urlValue && onEmptyURL ) {\n\t\t\tonEmptyURL();\n\t\t}\n\n\t\tif ( prependHTTP( urlValue ) !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: prependHTTP( urlValue ),\n\t\t\t} );\n\t\t}\n\t}, [ urlValue ] );\n\n\tconst onChangeURL = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! value && onEmptyURL ) {\n\t\t\t\tonEmptyURL();\n\t\t\t}\n\t\t\tsetUrlInputValue( value );\n\t\t},\n\t\t[ onEmptyURL ]\n\t);\n\n\tconst onChangeLabel = useCallback( ( value ) => {\n\t\tsetLabelInputValue( value );\n\t}, [] );\n\n\tconst onSetAttributes = useCallback( () => {\n\t\tconst newURL = prependHTTP( urlInputValue );\n\t\tif (\n\t\t\turl !== newURL ||\n\t\t\tlabelInputValue !== label ||\n\t\t\tlinkRelInputValue !== rel\n\t\t) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tlabel: labelInputValue,\n\t\t\t\trel: linkRelInputValue,\n\t\t\t} );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue, setAttributes ] );\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tif ( onCloseSettingsSheetConsumed.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonCloseSettingsSheetConsumed.current = true;\n\n\t\tonSetAttributes();\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}, [ onClose, onSetAttributes ] );\n\n\tconst onChangeOpenInNewTab = useCallback(\n\t\t( value ) => {\n\t\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\t\tlet updatedRel = linkRelInputValue;\n\t\t\tif ( newLinkTarget && ! linkRelInputValue ) {\n\t\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t\t} else if ( ! newLinkTarget && linkRelInputValue === NEW_TAB_REL ) {\n\t\t\t\tupdatedRel = undefined;\n\t\t\t}\n\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTarget: newLinkTarget,\n\t\t\t\trel: updatedRel,\n\t\t\t} );\n\t\t},\n\t\t[ linkRelInputValue ]\n\t);\n\n\tconst onChangeLinkRel = useCallback( ( value ) => {\n\t\tsetLinkRelInputValue( value );\n\t}, [] );\n\n\tasync function getURLFromClipboard() {\n\t\tconst clipboardText = await Clipboard.getString();\n\n\t\tif ( ! clipboardText ) {\n\t\t\treturn;\n\t\t}\n\t\t// Check if pasted text is URL\n\t\tif ( ! isURL( clipboardText ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( { url: clipboardText } );\n\t}\n\n\tfunction getSettings() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ options.url &&\n\t\t\t\t\t( onLinkCellPressed ? (\n\t\t\t\t\t\t<BottomSheet.LinkCell\n\t\t\t\t\t\t\tshowIcon={ showIcon }\n\t\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\t\tvalueMask={ options.url.valueMask }\n\t\t\t\t\t\t\tonPress={ onLinkCellPressed }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ticon={ showIcon && link }\n\t\t\t\t\t\t\tlabel={ options.url.label }\n\t\t\t\t\t\t\tvalue={ urlInputValue }\n\t\t\t\t\t\t\tvaluePlaceholder={ options.url.placeholder }\n\t\t\t\t\t\t\tonChange={ onChangeURL }\n\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t\t\tPlatform.OS === 'ios' && options.url.autoFocus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ options.linkLabel && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ options.linkLabel.label }\n\t\t\t\t\t\tvalue={ labelInputValue }\n\t\t\t\t\t\tvaluePlaceholder={ options.linkLabel.placeholder }\n\t\t\t\t\t\tonChange={ onChangeLabel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! urlInputValue && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ options.openInNewTab && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\ticon={ showIcon && external }\n\t\t\t\t\t\t\t\tlabel={ options.openInNewTab.label }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ onChangeOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ options.linkRel && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\ticon={ showIcon && LinkRelIcon }\n\t\t\t\t\t\t\t\tlabel={ options.linkRel.label }\n\t\t\t\t\t\t\t\tvalue={ linkRelInputValue }\n\t\t\t\t\t\t\t\tvaluePlaceholder={ options.linkRel.placeholder }\n\t\t\t\t\t\t\t\tonChange={ onChangeLinkRel }\n\t\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t\tkeyboardType=\"default\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( ! withBottomSheet ) {\n\t\treturn getSettings();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t{ getSettings() }\n\t\t\t</PanelBody>\n\t\t\t{ options.footer && (\n\t\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ options.footer.label }\n\t\t\t\t\t\tseparatorType={ options.footer.separatorType }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ actions && <PanelActions actions={ actions } /> }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\treturn {\n\t\t\teditorSidebarOpened: isEditorSidebarOpened(),\n\t\t};\n\t} ),\n] )( LinkSettings );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"names":["Platform","Clipboard","compose","withSelect","isURL","prependHTTP","useEffect","useState","useRef","useContext","useCallback","link","external","BottomSheet","BottomSheetContext","PanelBody","TextControl","ToggleControl","FooterMessageControl","PanelActions","LinkRelIcon","styles","NEW_TAB_REL","LinkSettings","isVisible","onClose","setAttributes","onEmptyURL","options","withBottomSheet","actions","editorSidebarOpened","showIcon","onLinkCellPressed","urlValue","url","label","linkTarget","rel","urlInputValue","setUrlInputValue","labelInputValue","setLabelInputValue","linkRelInputValue","setLinkRelInputValue","onCloseSettingsSheetConsumed","prevEditorSidebarOpenedRef","onHandleClosingBottomSheet","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","onChangeURL","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","getString","getSettings","valueMask","placeholder","OS","autoFocus","linkLabel","openInNewTab","linkRel","linkSettingsPanel","footer","separatorType","select","isEditorSidebarOpened"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { link, external } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetContext } from '../bottom-sheet/bottom-sheet-context';\nimport PanelBody from '../../panel/body';\nimport TextControl from '../../text-control';\nimport ToggleControl from '../../toggle-control';\nimport FooterMessageControl from '../../footer-message-control';\nimport PanelActions from '../../panel/actions';\nimport LinkRelIcon from './link-rel';\n\nimport styles from './style.scss';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\nfunction LinkSettings( {\n\t// Control link settings `BottomSheet` visibility\n\tisVisible,\n\t// Callback that is called on closing bottom sheet\n\tonClose,\n\t// Function called to set attributes\n\tsetAttributes,\n\t// Callback that is called when url input field is empty\n\tonEmptyURL,\n\t// Object of available options along with specific, customizable properties.\n\t// Available options keys:\n\t//\t* url - uses `TextControl` component to set `attributes.url`\n\t//\t* linkLabel - uses `TextControl` component to set `attributes.label`\n\t//\t* openInNewTab - uses `ToggleControl` component to set `attributes.linkTarget` and `attributes.rel`\n\t//\t* linkRel - uses `TextControl` component to set `attributes.rel`\n\t//\t* footer - uses `FooterMessageControl` component to display message, e.g. about missing functionality\n\t// Available properties:\n\t//\t* label - control component label, e.g. `Button Link URL`\n\t//\t* placeholder - control component placeholder, e.g. `Add URL`\n\t//\t* autoFocus (url only) - whether url input should be focused on sheet opening\n\t//\t* autoFill (url only) - whether url input should be filled with url from clipboard\n\t// Example:\n\t//\tconst options = {\n\t//\t\turl: {\n\t//\t\t\tlabel: __( 'Button Link URL' ),\n\t//\t\t\tplaceholder: __( 'Add URL' ),\n\t//\t\t\tautoFocus: true,\n\t//\t\t\tautoFill: true,\n\t//\t\t}\n\t//\t}\n\toptions,\n\t// Specifies whether settings should be wrapped into `BottomSheet`\n\twithBottomSheet,\n\t// Defines buttons which will be displayed below the all options.\n\t// It's an array of objects with following properties:\n\t//\t* label - button title\n\t//\t* onPress - callback that is called on pressing button\n\t// Example:\n\t// \tconst actions = [\n\t//\t\t{\n\t//\t\t\tlabel: __( 'Remove link' ),\n\t//\t\t\tonPress: () => setAttributes({ url: '' }),\n\t//\t\t},\n\t//\t];\n\tactions,\n\t// Specifies whether general `BottomSheet` is opened\n\teditorSidebarOpened,\n\t// Specifies whether icon should be displayed next to the label\n\tshowIcon,\n\tonLinkCellPressed,\n\turlValue,\n\t// Attributes properties\n\turl,\n\tlabel = '',\n\tlinkTarget,\n\trel = '',\n} ) {\n\tconst [ urlInputValue, setUrlInputValue ] = useState( '' );\n\tconst [ labelInputValue, setLabelInputValue ] = useState( '' );\n\tconst [ linkRelInputValue, setLinkRelInputValue ] = useState( '' );\n\tconst onCloseSettingsSheetConsumed = useRef( false );\n\tconst prevEditorSidebarOpenedRef = useRef();\n\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\tuseEffect( () => {\n\t\tif ( onHandleClosingBottomSheet ) {\n\t\t\tonHandleClosingBottomSheet( onCloseSettingsSheet );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue ] );\n\n\tuseEffect( () => {\n\t\tprevEditorSidebarOpenedRef.current = editorSidebarOpened;\n\t} );\n\tconst prevEditorSidebarOpened = prevEditorSidebarOpenedRef.current;\n\n\tuseEffect( () => {\n\t\tif ( url !== urlInputValue ) {\n\t\t\tsetUrlInputValue( url || '' );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\tsetLabelInputValue( label || '' );\n\t}, [ label ] );\n\n\tuseEffect( () => {\n\t\tsetLinkRelInputValue( rel || '' );\n\t}, [ rel ] );\n\n\tuseEffect( () => {\n\t\tconst isSettingSheetOpen = isVisible || editorSidebarOpened;\n\t\tif ( isSettingSheetOpen ) {\n\t\t\tonCloseSettingsSheetConsumed.current = false;\n\t\t}\n\n\t\tif ( options.url.autoFill && isSettingSheetOpen && ! url ) {\n\t\t\tgetURLFromClipboard();\n\t\t}\n\n\t\tif ( prevEditorSidebarOpened && ! editorSidebarOpened ) {\n\t\t\tonSetAttributes();\n\t\t}\n\t}, [ editorSidebarOpened, isVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( ! urlValue && onEmptyURL ) {\n\t\t\tonEmptyURL();\n\t\t}\n\n\t\tif ( prependHTTP( urlValue ) !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: prependHTTP( urlValue ),\n\t\t\t} );\n\t\t}\n\t}, [ urlValue ] );\n\n\tconst onChangeURL = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! value && onEmptyURL ) {\n\t\t\t\tonEmptyURL();\n\t\t\t}\n\t\t\tsetUrlInputValue( value );\n\t\t},\n\t\t[ onEmptyURL ]\n\t);\n\n\tconst onChangeLabel = useCallback( ( value ) => {\n\t\tsetLabelInputValue( value );\n\t}, [] );\n\n\tconst onSetAttributes = useCallback( () => {\n\t\tconst newURL = prependHTTP( urlInputValue );\n\t\tif (\n\t\t\turl !== newURL ||\n\t\t\tlabelInputValue !== label ||\n\t\t\tlinkRelInputValue !== rel\n\t\t) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tlabel: labelInputValue,\n\t\t\t\trel: linkRelInputValue,\n\t\t\t} );\n\t\t}\n\t}, [ urlInputValue, labelInputValue, linkRelInputValue, setAttributes ] );\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tif ( onCloseSettingsSheetConsumed.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonCloseSettingsSheetConsumed.current = true;\n\n\t\tonSetAttributes();\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}, [ onClose, onSetAttributes ] );\n\n\tconst onChangeOpenInNewTab = useCallback(\n\t\t( value ) => {\n\t\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\t\tlet updatedRel = linkRelInputValue;\n\t\t\tif ( newLinkTarget && ! linkRelInputValue ) {\n\t\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t\t} else if ( ! newLinkTarget && linkRelInputValue === NEW_TAB_REL ) {\n\t\t\t\tupdatedRel = undefined;\n\t\t\t}\n\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTarget: newLinkTarget,\n\t\t\t\trel: updatedRel,\n\t\t\t} );\n\t\t},\n\t\t[ linkRelInputValue ]\n\t);\n\n\tconst onChangeLinkRel = useCallback( ( value ) => {\n\t\tsetLinkRelInputValue( value );\n\t}, [] );\n\n\tasync function getURLFromClipboard() {\n\t\tconst clipboardText = await Clipboard.getString();\n\n\t\tif ( ! clipboardText ) {\n\t\t\treturn;\n\t\t}\n\t\t// Check if pasted text is URL.\n\t\tif ( ! isURL( clipboardText ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( { url: clipboardText } );\n\t}\n\n\tfunction getSettings() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ options.url &&\n\t\t\t\t\t( onLinkCellPressed ? (\n\t\t\t\t\t\t<BottomSheet.LinkCell\n\t\t\t\t\t\t\tshowIcon={ showIcon }\n\t\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\t\tvalueMask={ options.url.valueMask }\n\t\t\t\t\t\t\tonPress={ onLinkCellPressed }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ticon={ showIcon && link }\n\t\t\t\t\t\t\tlabel={ options.url.label }\n\t\t\t\t\t\t\tvalue={ urlInputValue }\n\t\t\t\t\t\t\tvaluePlaceholder={ options.url.placeholder }\n\t\t\t\t\t\t\tonChange={ onChangeURL }\n\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t\t\tPlatform.OS === 'ios' && options.url.autoFocus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ options.linkLabel && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ options.linkLabel.label }\n\t\t\t\t\t\tvalue={ labelInputValue }\n\t\t\t\t\t\tvaluePlaceholder={ options.linkLabel.placeholder }\n\t\t\t\t\t\tonChange={ onChangeLabel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! urlInputValue && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ options.openInNewTab && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\ticon={ showIcon && external }\n\t\t\t\t\t\t\t\tlabel={ options.openInNewTab.label }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ onChangeOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ options.linkRel && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\ticon={ showIcon && LinkRelIcon }\n\t\t\t\t\t\t\t\tlabel={ options.linkRel.label }\n\t\t\t\t\t\t\t\tvalue={ linkRelInputValue }\n\t\t\t\t\t\t\t\tvaluePlaceholder={ options.linkRel.placeholder }\n\t\t\t\t\t\t\t\tonChange={ onChangeLinkRel }\n\t\t\t\t\t\t\t\tonSubmit={ onCloseSettingsSheet }\n\t\t\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\t\t\t\tkeyboardType=\"default\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( ! withBottomSheet ) {\n\t\treturn getSettings();\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t{ getSettings() }\n\t\t\t</PanelBody>\n\t\t\t{ options.footer && (\n\t\t\t\t<PanelBody style={ styles.linkSettingsPanel }>\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ options.footer.label }\n\t\t\t\t\t\tseparatorType={ options.footer.separatorType }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ actions && <PanelActions actions={ actions } /> }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\treturn {\n\t\t\teditorSidebarOpened: isEditorSidebarOpened(),\n\t\t};\n\t} ),\n] )( LinkSettings );\n"]}
@@ -1,4 +1,4 @@
1
- //@ts-nocheck
1
+ // @ts-nocheck
2
2
 
3
3
  /**
4
4
  * External dependencies
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/modal/aria-helper.js"],"names":["forEach","LIVE_REGION_ARIA_ROLES","Set","hiddenElements","isHidden","hideApp","unhiddenElement","elements","document","body","children","element","elementShouldBeHidden","setAttribute","push","role","getAttribute","tagName","hasAttribute","has","showApp","removeAttribute"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA,MAAMC,sBAAsB,GAAG,IAAIC,GAAJ,CAAS,CACvC,OADuC,EAEvC,QAFuC,EAGvC,KAHuC,EAIvC,SAJuC,EAKvC,OALuC,CAAT,CAA/B;AAQA,IAAIC,cAAc,GAAG,EAArB;AAAA,IACCC,QAAQ,GAAG,KADZ;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,OAAT,CAAkBC,eAAlB,EAAoC;AAC1C,MAAKF,QAAL,EAAgB;AACf;AACA;;AACD,QAAMG,QAAQ,GAAGC,QAAQ,CAACC,IAAT,CAAcC,QAA/B;AACAV,EAAAA,OAAO,CAAEO,QAAF,EAAcI,OAAF,IAAe;AACjC,QAAKA,OAAO,KAAKL,eAAjB,EAAmC;AAClC;AACA;;AACD,QAAKM,qBAAqB,CAAED,OAAF,CAA1B,EAAwC;AACvCA,MAAAA,OAAO,CAACE,YAAR,CAAsB,aAAtB,EAAqC,MAArC;AACAV,MAAAA,cAAc,CAACW,IAAf,CAAqBH,OAArB;AACA;AACD,GARM,CAAP;AASAP,EAAAA,QAAQ,GAAG,IAAX;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASQ,qBAAT,CAAgCD,OAAhC,EAA0C;AAChD,QAAMI,IAAI,GAAGJ,OAAO,CAACK,YAAR,CAAsB,MAAtB,CAAb;AACA,SAAO,EACNL,OAAO,CAACM,OAAR,KAAoB,QAApB,IACAN,OAAO,CAACO,YAAR,CAAsB,aAAtB,CADA,IAEAP,OAAO,CAACO,YAAR,CAAsB,WAAtB,CAFA,IAGAjB,sBAAsB,CAACkB,GAAvB,CAA4BJ,IAA5B,CAJM,CAAP;AAMA;AAED;AACA;AACA;AACA;;AACA,OAAO,SAASK,OAAT,GAAmB;AACzB,MAAK,CAAEhB,QAAP,EAAkB;AACjB;AACA;;AACDJ,EAAAA,OAAO,CAAEG,cAAF,EAAoBQ,OAAF,IAAe;AACvCA,IAAAA,OAAO,CAACU,eAAR,CAAyB,aAAzB;AACA,GAFM,CAAP;AAGAlB,EAAAA,cAAc,GAAG,EAAjB;AACAC,EAAAA,QAAQ,GAAG,KAAX;AACA","sourcesContent":["//@ts-nocheck\n\n/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\n\nconst LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nlet hiddenElements = [],\n\tisHidden = false;\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param {Element} unhiddenElement The element that should not be hidden.\n */\nexport function hideApp( unhiddenElement ) {\n\tif ( isHidden ) {\n\t\treturn;\n\t}\n\tconst elements = document.body.children;\n\tforEach( elements, ( element ) => {\n\t\tif ( element === unhiddenElement ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t} );\n\tisHidden = true;\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param {HTMLElement} element The element that should be checked.\n *\n * @return {boolean} Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\tLIVE_REGION_ARIA_ROLES.has( role )\n\t);\n}\n\n/**\n * Makes all elements in the body that have been hidden by `hideApp`\n * visible again to screen-readers.\n */\nexport function showApp() {\n\tif ( ! isHidden ) {\n\t\treturn;\n\t}\n\tforEach( hiddenElements, ( element ) => {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t} );\n\thiddenElements = [];\n\tisHidden = false;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/modal/aria-helper.js"],"names":["forEach","LIVE_REGION_ARIA_ROLES","Set","hiddenElements","isHidden","hideApp","unhiddenElement","elements","document","body","children","element","elementShouldBeHidden","setAttribute","push","role","getAttribute","tagName","hasAttribute","has","showApp","removeAttribute"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA,MAAMC,sBAAsB,GAAG,IAAIC,GAAJ,CAAS,CACvC,OADuC,EAEvC,QAFuC,EAGvC,KAHuC,EAIvC,SAJuC,EAKvC,OALuC,CAAT,CAA/B;AAQA,IAAIC,cAAc,GAAG,EAArB;AAAA,IACCC,QAAQ,GAAG,KADZ;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,OAAT,CAAkBC,eAAlB,EAAoC;AAC1C,MAAKF,QAAL,EAAgB;AACf;AACA;;AACD,QAAMG,QAAQ,GAAGC,QAAQ,CAACC,IAAT,CAAcC,QAA/B;AACAV,EAAAA,OAAO,CAAEO,QAAF,EAAcI,OAAF,IAAe;AACjC,QAAKA,OAAO,KAAKL,eAAjB,EAAmC;AAClC;AACA;;AACD,QAAKM,qBAAqB,CAAED,OAAF,CAA1B,EAAwC;AACvCA,MAAAA,OAAO,CAACE,YAAR,CAAsB,aAAtB,EAAqC,MAArC;AACAV,MAAAA,cAAc,CAACW,IAAf,CAAqBH,OAArB;AACA;AACD,GARM,CAAP;AASAP,EAAAA,QAAQ,GAAG,IAAX;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASQ,qBAAT,CAAgCD,OAAhC,EAA0C;AAChD,QAAMI,IAAI,GAAGJ,OAAO,CAACK,YAAR,CAAsB,MAAtB,CAAb;AACA,SAAO,EACNL,OAAO,CAACM,OAAR,KAAoB,QAApB,IACAN,OAAO,CAACO,YAAR,CAAsB,aAAtB,CADA,IAEAP,OAAO,CAACO,YAAR,CAAsB,WAAtB,CAFA,IAGAjB,sBAAsB,CAACkB,GAAvB,CAA4BJ,IAA5B,CAJM,CAAP;AAMA;AAED;AACA;AACA;AACA;;AACA,OAAO,SAASK,OAAT,GAAmB;AACzB,MAAK,CAAEhB,QAAP,EAAkB;AACjB;AACA;;AACDJ,EAAAA,OAAO,CAAEG,cAAF,EAAoBQ,OAAF,IAAe;AACvCA,IAAAA,OAAO,CAACU,eAAR,CAAyB,aAAzB;AACA,GAFM,CAAP;AAGAlB,EAAAA,cAAc,GAAG,EAAjB;AACAC,EAAAA,QAAQ,GAAG,KAAX;AACA","sourcesContent":["// @ts-nocheck\n\n/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\n\nconst LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nlet hiddenElements = [],\n\tisHidden = false;\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param {Element} unhiddenElement The element that should not be hidden.\n */\nexport function hideApp( unhiddenElement ) {\n\tif ( isHidden ) {\n\t\treturn;\n\t}\n\tconst elements = document.body.children;\n\tforEach( elements, ( element ) => {\n\t\tif ( element === unhiddenElement ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t} );\n\tisHidden = true;\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param {HTMLElement} element The element that should be checked.\n *\n * @return {boolean} Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\tLIVE_REGION_ARIA_ROLES.has( role )\n\t);\n}\n\n/**\n * Makes all elements in the body that have been hidden by `hideApp`\n * visible again to screen-readers.\n */\nexport function showApp() {\n\tif ( ! isHidden ) {\n\t\treturn;\n\t}\n\tforEach( hiddenElements, ( element ) => {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t} );\n\thiddenElements = [];\n\tisHidden = false;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { createElement } from "@wordpress/element";
3
- //@ts-nocheck
3
+ // @ts-nocheck
4
4
 
5
5
  /**
6
6
  * External dependencies
@@ -35,7 +35,7 @@ function Modal(props, forwardedRef) {
35
35
  shouldCloseOnClickOutside = true,
36
36
  isDismissible = true,
37
37
 
38
- /* accessibility */
38
+ /* Accessibility. */
39
39
  aria = {
40
40
  labelledby: null,
41
41
  describedby: null
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["classnames","createPortal","useEffect","useRef","forwardRef","useInstanceId","useFocusReturn","useFocusOnMount","__experimentalUseFocusOutside","useFocusOutside","useConstrainedTabbing","useMergeRefs","ESCAPE","__","closeSmall","ariaHelper","Button","StyleProvider","openModalCount","Modal","props","forwardedRef","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","__experimentalHideHeader","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","hideApp","current","document","body","classList","add","remove","showApp","handleEscapeKeyDown","event","keyCode","defaultPrevented","preventDefault"],"mappings":"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","sourcesContent":["//@ts-nocheck\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreatePortal,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tuseInstanceId,\n\tuseFocusReturn,\n\tuseFocusOnMount,\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseConstrainedTabbing,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport * as ariaHelper from './aria-helper';\nimport Button from '../button';\nimport StyleProvider from '../style-provider';\n\n// Used to count the number of open modals.\nlet openModalCount = 0;\n\nfunction Modal( props, forwardedRef ) {\n\tconst {\n\t\tbodyOpenClassName = 'modal-open',\n\t\trole = 'dialog',\n\t\ttitle = null,\n\t\tfocusOnMount = true,\n\t\tshouldCloseOnEsc = true,\n\t\tshouldCloseOnClickOutside = true,\n\t\tisDismissible = true,\n\t\t/* accessibility */\n\t\taria = {\n\t\t\tlabelledby: null,\n\t\t\tdescribedby: null,\n\t\t},\n\t\tonRequestClose,\n\t\ticon,\n\t\tcloseButtonLabel,\n\t\tchildren,\n\t\tstyle,\n\t\toverlayClassName,\n\t\tclassName,\n\t\tcontentLabel,\n\t\tonKeyDown,\n\t\tisFullScreen = false,\n\t\t__experimentalHideHeader = false,\n\t} = props;\n\n\tconst ref = useRef();\n\tconst instanceId = useInstanceId( Modal );\n\tconst headingId = title\n\t\t? `components-modal-header-${ instanceId }`\n\t\t: aria.labelledby;\n\tconst focusOnMountRef = useFocusOnMount( focusOnMount );\n\tconst constrainedTabbingRef = useConstrainedTabbing();\n\tconst focusReturnRef = useFocusReturn();\n\tconst focusOutsideProps = useFocusOutside( onRequestClose );\n\n\tuseEffect( () => {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tariaHelper.hideApp( ref.current );\n\t\t\tdocument.body.classList.add( bodyOpenClassName );\n\t\t}\n\n\t\treturn () => {\n\t\t\topenModalCount--;\n\n\t\t\tif ( openModalCount === 0 ) {\n\t\t\t\tdocument.body.classList.remove( bodyOpenClassName );\n\t\t\t\tariaHelper.showApp();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tfunction handleEscapeKeyDown( event ) {\n\t\tif (\n\t\t\tshouldCloseOnEsc &&\n\t\t\tevent.keyCode === ESCAPE &&\n\t\t\t! event.defaultPrevented\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( onRequestClose ) {\n\t\t\t\tonRequestClose( event );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createPortal(\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-modal__screen-overlay',\n\t\t\t\toverlayClassName\n\t\t\t) }\n\t\t\tonKeyDown={ handleEscapeKeyDown }\n\t\t>\n\t\t\t<StyleProvider document={ document }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-full-screen': isFullScreen,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t\tconstrainedTabbingRef,\n\t\t\t\t\t\tfocusReturnRef,\n\t\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\t] ) }\n\t\t\t\t\trole={ role }\n\t\t\t\t\taria-label={ contentLabel }\n\t\t\t\t\taria-labelledby={ contentLabel ? null : headingId }\n\t\t\t\t\taria-describedby={ aria.describedby }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{ ...( shouldCloseOnClickOutside\n\t\t\t\t\t\t? focusOutsideProps\n\t\t\t\t\t\t: {} ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( 'components-modal__content', {\n\t\t\t\t\t\t\t'hide-header': __experimentalHideHeader,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\trole=\"document\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! __experimentalHideHeader && (\n\t\t\t\t\t\t\t<div className=\"components-modal__header\">\n\t\t\t\t\t\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__icon-container\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ title && (\n\t\t\t\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__header-heading\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{ isDismissible && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tcloseButtonLabel ||\n\t\t\t\t\t\t\t\t\t\t\t__( 'Close dialog' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</StyleProvider>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default forwardRef( Modal );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["classnames","createPortal","useEffect","useRef","forwardRef","useInstanceId","useFocusReturn","useFocusOnMount","__experimentalUseFocusOutside","useFocusOutside","useConstrainedTabbing","useMergeRefs","ESCAPE","__","closeSmall","ariaHelper","Button","StyleProvider","openModalCount","Modal","props","forwardedRef","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","__experimentalHideHeader","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","hideApp","current","document","body","classList","add","remove","showApp","handleEscapeKeyDown","event","keyCode","defaultPrevented","preventDefault"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreatePortal,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tuseInstanceId,\n\tuseFocusReturn,\n\tuseFocusOnMount,\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseConstrainedTabbing,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport * as ariaHelper from './aria-helper';\nimport Button from '../button';\nimport StyleProvider from '../style-provider';\n\n// Used to count the number of open modals.\nlet openModalCount = 0;\n\nfunction Modal( props, forwardedRef ) {\n\tconst {\n\t\tbodyOpenClassName = 'modal-open',\n\t\trole = 'dialog',\n\t\ttitle = null,\n\t\tfocusOnMount = true,\n\t\tshouldCloseOnEsc = true,\n\t\tshouldCloseOnClickOutside = true,\n\t\tisDismissible = true,\n\t\t/* Accessibility. */\n\t\taria = {\n\t\t\tlabelledby: null,\n\t\t\tdescribedby: null,\n\t\t},\n\t\tonRequestClose,\n\t\ticon,\n\t\tcloseButtonLabel,\n\t\tchildren,\n\t\tstyle,\n\t\toverlayClassName,\n\t\tclassName,\n\t\tcontentLabel,\n\t\tonKeyDown,\n\t\tisFullScreen = false,\n\t\t__experimentalHideHeader = false,\n\t} = props;\n\n\tconst ref = useRef();\n\tconst instanceId = useInstanceId( Modal );\n\tconst headingId = title\n\t\t? `components-modal-header-${ instanceId }`\n\t\t: aria.labelledby;\n\tconst focusOnMountRef = useFocusOnMount( focusOnMount );\n\tconst constrainedTabbingRef = useConstrainedTabbing();\n\tconst focusReturnRef = useFocusReturn();\n\tconst focusOutsideProps = useFocusOutside( onRequestClose );\n\n\tuseEffect( () => {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tariaHelper.hideApp( ref.current );\n\t\t\tdocument.body.classList.add( bodyOpenClassName );\n\t\t}\n\n\t\treturn () => {\n\t\t\topenModalCount--;\n\n\t\t\tif ( openModalCount === 0 ) {\n\t\t\t\tdocument.body.classList.remove( bodyOpenClassName );\n\t\t\t\tariaHelper.showApp();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tfunction handleEscapeKeyDown( event ) {\n\t\tif (\n\t\t\tshouldCloseOnEsc &&\n\t\t\tevent.keyCode === ESCAPE &&\n\t\t\t! event.defaultPrevented\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( onRequestClose ) {\n\t\t\t\tonRequestClose( event );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createPortal(\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-modal__screen-overlay',\n\t\t\t\toverlayClassName\n\t\t\t) }\n\t\t\tonKeyDown={ handleEscapeKeyDown }\n\t\t>\n\t\t\t<StyleProvider document={ document }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-full-screen': isFullScreen,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t\tconstrainedTabbingRef,\n\t\t\t\t\t\tfocusReturnRef,\n\t\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\t] ) }\n\t\t\t\t\trole={ role }\n\t\t\t\t\taria-label={ contentLabel }\n\t\t\t\t\taria-labelledby={ contentLabel ? null : headingId }\n\t\t\t\t\taria-describedby={ aria.describedby }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{ ...( shouldCloseOnClickOutside\n\t\t\t\t\t\t? focusOutsideProps\n\t\t\t\t\t\t: {} ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( 'components-modal__content', {\n\t\t\t\t\t\t\t'hide-header': __experimentalHideHeader,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\trole=\"document\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! __experimentalHideHeader && (\n\t\t\t\t\t\t\t<div className=\"components-modal__header\">\n\t\t\t\t\t\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__icon-container\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ title && (\n\t\t\t\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__header-heading\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{ isDismissible && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tcloseButtonLabel ||\n\t\t\t\t\t\t\t\t\t\t\t__( 'Close dialog' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</StyleProvider>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default forwardRef( Modal );\n"]}
@@ -104,10 +104,10 @@ class NavigableContainer extends Component {
104
104
  onNavigate = noop,
105
105
  stopNavigationEvents
106
106
  } = this.props;
107
- const offset = eventToOffset(event); // eventToOffset returns undefined if the event is not handled by the component
107
+ const offset = eventToOffset(event); // eventToOffset returns undefined if the event is not handled by the component.
108
108
 
109
109
  if (offset !== undefined && stopNavigationEvents) {
110
- // Prevents arrow key handlers bound to the document directly interfering
110
+ // Prevents arrow key handlers bound to the document directly interfering.
111
111
  event.stopImmediatePropagation(); // When navigating a collection of items, prevent scroll containers
112
112
  // from scrolling. The preventDefault also prevents Voiceover from
113
113
  // 'handling' the event, as voiceover will try to use arrow keys
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigable-container/container.js"],"names":["omit","noop","isFunction","Component","forwardRef","focus","MENU_ITEM_ROLES","cycleValue","value","total","offset","nextValue","NavigableContainer","constructor","arguments","onKeyDown","bind","bindContainer","getFocusableContext","getFocusableIndex","componentDidMount","container","addEventListener","onFocus","componentWillUnmount","removeEventListener","ref","forwardedRef","props","current","target","onlyBrowserTabstops","finder","tabbable","focusable","focusables","find","index","directIndex","indexOf","event","cycle","eventToOffset","onNavigate","stopNavigationEvents","undefined","stopImmediatePropagation","targetRole","getAttribute","includes","preventDefault","context","ownerDocument","activeElement","nextIndex","length","render","children","forwardedNavigableContainer","displayName"],"mappings":";;AAAA;;AACA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,EAAqBC,UAArB,QAAuC,QAAvC;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,UAApB,QAAsC,oBAAtC;AACA,SAASC,KAAT,QAAsB,gBAAtB;AAEA,MAAMC,eAAe,GAAG,CAAE,UAAF,EAAc,eAAd,EAA+B,kBAA/B,CAAxB;;AAEA,SAASC,UAAT,CAAqBC,KAArB,EAA4BC,KAA5B,EAAmCC,MAAnC,EAA4C;AAC3C,QAAMC,SAAS,GAAGH,KAAK,GAAGE,MAA1B;;AACA,MAAKC,SAAS,GAAG,CAAjB,EAAqB;AACpB,WAAOF,KAAK,GAAGE,SAAf;AACA,GAFD,MAEO,IAAKA,SAAS,IAAIF,KAAlB,EAA0B;AAChC,WAAOE,SAAS,GAAGF,KAAnB;AACA;;AAED,SAAOE,SAAP;AACA;;AAED,MAAMC,kBAAN,SAAiCT,SAAjC,CAA2C;AAC1CU,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,SAAL,GAAiB,KAAKA,SAAL,CAAeC,IAAf,CAAqB,IAArB,CAAjB;AACA,SAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBD,IAAnB,CAAyB,IAAzB,CAArB;AAEA,SAAKE,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBF,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKG,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBH,IAAvB,CAA6B,IAA7B,CAAzB;AACA;;AAEDI,EAAAA,iBAAiB,GAAG;AACnB;AACA;AACA;AACA;AACA;AACA,SAAKC,SAAL,CAAeC,gBAAf,CAAiC,SAAjC,EAA4C,KAAKP,SAAjD;AACA,SAAKM,SAAL,CAAeC,gBAAf,CAAiC,OAAjC,EAA0C,KAAKC,OAA/C;AACA;;AAEDC,EAAAA,oBAAoB,GAAG;AACtB,SAAKH,SAAL,CAAeI,mBAAf,CAAoC,SAApC,EAA+C,KAAKV,SAApD;AACA,SAAKM,SAAL,CAAeI,mBAAf,CAAoC,OAApC,EAA6C,KAAKF,OAAlD;AACA;;AAEDN,EAAAA,aAAa,CAAES,GAAF,EAAQ;AACpB,UAAM;AAAEC,MAAAA;AAAF,QAAmB,KAAKC,KAA9B;AACA,SAAKP,SAAL,GAAiBK,GAAjB;;AAEA,QAAKxB,UAAU,CAAEyB,YAAF,CAAf,EAAkC;AACjCA,MAAAA,YAAY,CAAED,GAAF,CAAZ;AACA,KAFD,MAEO,IAAKC,YAAY,IAAI,aAAaA,YAAlC,EAAiD;AACvDA,MAAAA,YAAY,CAACE,OAAb,GAAuBH,GAAvB;AACA;AACD;;AAEDR,EAAAA,mBAAmB,CAAEY,MAAF,EAAW;AAC7B,UAAM;AAAEC,MAAAA;AAAF,QAA0B,KAAKH,KAArC;AACA,UAAMI,MAAM,GAAGD,mBAAmB,GAAG1B,KAAK,CAAC4B,QAAT,GAAoB5B,KAAK,CAAC6B,SAA5D;AACA,UAAMC,UAAU,GAAGH,MAAM,CAACI,IAAP,CAAa,KAAKf,SAAlB,CAAnB;AAEA,UAAMgB,KAAK,GAAG,KAAKlB,iBAAL,CAAwBgB,UAAxB,EAAoCL,MAApC,CAAd;;AACA,QAAKO,KAAK,GAAG,CAAC,CAAT,IAAcP,MAAnB,EAA4B;AAC3B,aAAO;AAAEO,QAAAA,KAAF;AAASP,QAAAA,MAAT;AAAiBK,QAAAA;AAAjB,OAAP;AACA;;AACD,WAAO,IAAP;AACA;;AAEDhB,EAAAA,iBAAiB,CAAEgB,UAAF,EAAcL,MAAd,EAAuB;AACvC,UAAMQ,WAAW,GAAGH,UAAU,CAACI,OAAX,CAAoBT,MAApB,CAApB;;AACA,QAAKQ,WAAW,KAAK,CAAC,CAAtB,EAA0B;AACzB,aAAOA,WAAP;AACA;AACD;;AAEDvB,EAAAA,SAAS,CAAEyB,KAAF,EAAU;AAClB,QAAK,KAAKZ,KAAL,CAAWb,SAAhB,EAA4B;AAC3B,WAAKa,KAAL,CAAWb,SAAX,CAAsByB,KAAtB;AACA;;AAED,UAAM;AAAEtB,MAAAA;AAAF,QAA0B,IAAhC;AACA,UAAM;AACLuB,MAAAA,KAAK,GAAG,IADH;AAELC,MAAAA,aAFK;AAGLC,MAAAA,UAAU,GAAG1C,IAHR;AAIL2C,MAAAA;AAJK,QAKF,KAAKhB,KALT;AAOA,UAAMlB,MAAM,GAAGgC,aAAa,CAAEF,KAAF,CAA5B,CAbkB,CAelB;;AACA,QAAK9B,MAAM,KAAKmC,SAAX,IAAwBD,oBAA7B,EAAoD;AACnD;AACAJ,MAAAA,KAAK,CAACM,wBAAN,GAFmD,CAInD;AACA;AACA;AACA;;AACA,YAAMC,UAAU,GAAGP,KAAK,CAACV,MAAN,CAAakB,YAAb,CAA2B,MAA3B,CAAnB;;AACA,UAAK1C,eAAe,CAAC2C,QAAhB,CAA0BF,UAA1B,CAAL,EAA8C;AAC7CP,QAAAA,KAAK,CAACU,cAAN;AACA;AACD;;AAED,QAAK,CAAExC,MAAP,EAAgB;AACf;AACA;;AAED,UAAMyC,OAAO,GAAGjC,mBAAmB,CAClCsB,KAAK,CAACV,MAAN,CAAasB,aAAb,CAA2BC,aADO,CAAnC;;AAGA,QAAK,CAAEF,OAAP,EAAiB;AAChB;AACA;;AAED,UAAM;AAAEd,MAAAA,KAAF;AAASF,MAAAA;AAAT,QAAwBgB,OAA9B;AACA,UAAMG,SAAS,GAAGb,KAAK,GACpBlC,UAAU,CAAE8B,KAAF,EAASF,UAAU,CAACoB,MAApB,EAA4B7C,MAA5B,CADU,GAEpB2B,KAAK,GAAG3B,MAFX;;AAGA,QAAK4C,SAAS,IAAI,CAAb,IAAkBA,SAAS,GAAGnB,UAAU,CAACoB,MAA9C,EAAuD;AACtDpB,MAAAA,UAAU,CAAEmB,SAAF,CAAV,CAAwBjD,KAAxB;AACAsC,MAAAA,UAAU,CAAEW,SAAF,EAAanB,UAAU,CAAEmB,SAAF,CAAvB,CAAV;AACA;AACD;;AAEDE,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,QAAF;AAAY,SAAG7B;AAAf,QAAyB,KAAKA,KAApC;AACA,WACC;AACC,MAAA,GAAG,EAAG,KAAKX;AADZ,OAEMjB,IAAI,CAAE4B,KAAF,EAAS,CACjB,sBADiB,EAEjB,eAFiB,EAGjB,YAHiB,EAIjB,WAJiB,EAKjB,OALiB,EAMjB,qBANiB,EAOjB,cAPiB,CAAT,CAFV,GAYG6B,QAZH,CADD;AAgBA;;AA5HyC;;AA+H3C,MAAMC,2BAA2B,GAAG,CAAE9B,KAAF,EAASF,GAAT,KAAkB;AACrD,SAAO,cAAC,kBAAD,eAAyBE,KAAzB;AAAiC,IAAA,YAAY,EAAGF;AAAhD,KAAP;AACA,CAFD;;AAGAgC,2BAA2B,CAACC,WAA5B,GAA0C,oBAA1C;AAEA,eAAevD,UAAU,CAAEsD,2BAAF,CAAzB","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { omit, noop, isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, forwardRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\nconst MENU_ITEM_ROLES = [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ];\n\nfunction cycleValue( value, total, offset ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\t// We use DOM event listeners instead of React event listeners\n\t\t// because we want to catch events from the underlying DOM tree\n\t\t// The React Tree can be different from the DOM tree when using\n\t\t// portals. Block Toolbars for instance are rendered in a separate\n\t\t// React Trees.\n\t\tthis.container.addEventListener( 'keydown', this.onKeyDown );\n\t\tthis.container.addEventListener( 'focus', this.onFocus );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.container.removeEventListener( 'keydown', this.onKeyDown );\n\t\tthis.container.removeEventListener( 'focus', this.onFocus );\n\t}\n\n\tbindContainer( ref ) {\n\t\tconst { forwardedRef } = this.props;\n\t\tthis.container = ref;\n\n\t\tif ( isFunction( forwardedRef ) ) {\n\t\t\tforwardedRef( ref );\n\t\t} else if ( forwardedRef && 'current' in forwardedRef ) {\n\t\t\tforwardedRef.current = ref;\n\t\t}\n\t}\n\n\tgetFocusableContext( target ) {\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables, target ) {\n\t\tconst directIndex = focusables.indexOf( target );\n\t\tif ( directIndex !== -1 ) {\n\t\t\treturn directIndex;\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst {\n\t\t\tcycle = true,\n\t\t\teventToOffset,\n\t\t\tonNavigate = noop,\n\t\t\tstopNavigationEvents,\n\t\t} = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering\n\t\t\tevent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling. The preventDefault also prevents Voiceover from\n\t\t\t// 'handling' the event, as voiceover will try to use arrow keys\n\t\t\t// for highlighting text.\n\t\t\tconst targetRole = event.target.getAttribute( 'role' );\n\t\t\tif ( MENU_ITEM_ROLES.includes( targetRole ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext(\n\t\t\tevent.target.ownerDocument.activeElement\n\t\t);\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle\n\t\t\t? cycleValue( index, focusables.length, offset )\n\t\t\t: index + offset;\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { children, ...props } = this.props;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ this.bindContainer }\n\t\t\t\t{ ...omit( props, [\n\t\t\t\t\t'stopNavigationEvents',\n\t\t\t\t\t'eventToOffset',\n\t\t\t\t\t'onNavigate',\n\t\t\t\t\t'onKeyDown',\n\t\t\t\t\t'cycle',\n\t\t\t\t\t'onlyBrowserTabstops',\n\t\t\t\t\t'forwardedRef',\n\t\t\t\t] ) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst forwardedNavigableContainer = ( props, ref ) => {\n\treturn <NavigableContainer { ...props } forwardedRef={ ref } />;\n};\nforwardedNavigableContainer.displayName = 'NavigableContainer';\n\nexport default forwardRef( forwardedNavigableContainer );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigable-container/container.js"],"names":["omit","noop","isFunction","Component","forwardRef","focus","MENU_ITEM_ROLES","cycleValue","value","total","offset","nextValue","NavigableContainer","constructor","arguments","onKeyDown","bind","bindContainer","getFocusableContext","getFocusableIndex","componentDidMount","container","addEventListener","onFocus","componentWillUnmount","removeEventListener","ref","forwardedRef","props","current","target","onlyBrowserTabstops","finder","tabbable","focusable","focusables","find","index","directIndex","indexOf","event","cycle","eventToOffset","onNavigate","stopNavigationEvents","undefined","stopImmediatePropagation","targetRole","getAttribute","includes","preventDefault","context","ownerDocument","activeElement","nextIndex","length","render","children","forwardedNavigableContainer","displayName"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { omit, noop, isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, forwardRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\nconst MENU_ITEM_ROLES = [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ];\n\nfunction cycleValue( value, total, offset ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\t// We use DOM event listeners instead of React event listeners\n\t\t// because we want to catch events from the underlying DOM tree\n\t\t// The React Tree can be different from the DOM tree when using\n\t\t// portals. Block Toolbars for instance are rendered in a separate\n\t\t// React Trees.\n\t\tthis.container.addEventListener( 'keydown', this.onKeyDown );\n\t\tthis.container.addEventListener( 'focus', this.onFocus );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.container.removeEventListener( 'keydown', this.onKeyDown );\n\t\tthis.container.removeEventListener( 'focus', this.onFocus );\n\t}\n\n\tbindContainer( ref ) {\n\t\tconst { forwardedRef } = this.props;\n\t\tthis.container = ref;\n\n\t\tif ( isFunction( forwardedRef ) ) {\n\t\t\tforwardedRef( ref );\n\t\t} else if ( forwardedRef && 'current' in forwardedRef ) {\n\t\t\tforwardedRef.current = ref;\n\t\t}\n\t}\n\n\tgetFocusableContext( target ) {\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables, target ) {\n\t\tconst directIndex = focusables.indexOf( target );\n\t\tif ( directIndex !== -1 ) {\n\t\t\treturn directIndex;\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst {\n\t\t\tcycle = true,\n\t\t\teventToOffset,\n\t\t\tonNavigate = noop,\n\t\t\tstopNavigationEvents,\n\t\t} = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component.\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering.\n\t\t\tevent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling. The preventDefault also prevents Voiceover from\n\t\t\t// 'handling' the event, as voiceover will try to use arrow keys\n\t\t\t// for highlighting text.\n\t\t\tconst targetRole = event.target.getAttribute( 'role' );\n\t\t\tif ( MENU_ITEM_ROLES.includes( targetRole ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext(\n\t\t\tevent.target.ownerDocument.activeElement\n\t\t);\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle\n\t\t\t? cycleValue( index, focusables.length, offset )\n\t\t\t: index + offset;\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { children, ...props } = this.props;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ this.bindContainer }\n\t\t\t\t{ ...omit( props, [\n\t\t\t\t\t'stopNavigationEvents',\n\t\t\t\t\t'eventToOffset',\n\t\t\t\t\t'onNavigate',\n\t\t\t\t\t'onKeyDown',\n\t\t\t\t\t'cycle',\n\t\t\t\t\t'onlyBrowserTabstops',\n\t\t\t\t\t'forwardedRef',\n\t\t\t\t] ) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst forwardedNavigableContainer = ( props, ref ) => {\n\treturn <NavigableContainer { ...props } forwardedRef={ ref } />;\n};\nforwardedNavigableContainer.displayName = 'NavigableContainer';\n\nexport default forwardRef( forwardedNavigableContainer );\n"]}
@@ -36,7 +36,7 @@ export function TabbableContainer(_ref, ref) {
36
36
  // - +1: move focus forward
37
37
  // - -1: move focus backward
38
38
  // - 0: don't move focus, but acknowledge event and thus stop it
39
- // - undefined: do nothing, let the event propagate
39
+ // - undefined: do nothing, let the event propagate.
40
40
 
41
41
 
42
42
  if (eventToOffset) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigable-container/tabbable.js"],"names":["forwardRef","TAB","NavigableContainer","TabbableContainer","ref","eventToOffset","props","innerEventToOffset","evt","keyCode","shiftKey"],"mappings":";;AAAA;;AACA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,GAAT,QAAoB,qBAApB;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,aAA/B;AAEA,OAAO,SAASC,iBAAT,OAAyDC,GAAzD,EAA+D;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiB,OAAGC;AAApB,GAAmC;;AACrE,QAAMC,kBAAkB,GAAKC,GAAF,IAAW;AACrC,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAwBF,GAA9B;;AACA,QAAKP,GAAG,KAAKQ,OAAb,EAAuB;AACtB,aAAOC,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAAvB;AACA,KAJoC,CAMrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,QAAKL,aAAL,EAAqB;AACpB,aAAOA,aAAa,CAAEG,GAAF,CAApB;AACA;AACD,GApBD;;AAsBA,SACC,cAAC,kBAAD;AACC,IAAA,GAAG,EAAGJ,GADP;AAEC,IAAA,oBAAoB,MAFrB;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,aAAa,EAAGG;AAJjB,KAKMD,KALN,EADD;AASA;AAED,eAAeN,UAAU,CAAEG,iBAAF,CAAzB","sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { TAB } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport NavigableContainer from './container';\n\nexport function TabbableContainer( { eventToOffset, ...props }, ref ) {\n\tconst innerEventToOffset = ( evt ) => {\n\t\tconst { keyCode, shiftKey } = evt;\n\t\tif ( TAB === keyCode ) {\n\t\t\treturn shiftKey ? -1 : 1;\n\t\t}\n\n\t\t// Allow custom handling of keys besides Tab.\n\t\t//\n\t\t// By default, TabbableContainer will move focus forward on Tab and\n\t\t// backward on Shift+Tab. The handler below will be used for all other\n\t\t// events. The semantics for `eventToOffset`'s return\n\t\t// values are the following:\n\t\t//\n\t\t// - +1: move focus forward\n\t\t// - -1: move focus backward\n\t\t// - 0: don't move focus, but acknowledge event and thus stop it\n\t\t// - undefined: do nothing, let the event propagate\n\t\tif ( eventToOffset ) {\n\t\t\treturn eventToOffset( evt );\n\t\t}\n\t};\n\n\treturn (\n\t\t<NavigableContainer\n\t\t\tref={ ref }\n\t\t\tstopNavigationEvents\n\t\t\tonlyBrowserTabstops\n\t\t\teventToOffset={ innerEventToOffset }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( TabbableContainer );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigable-container/tabbable.js"],"names":["forwardRef","TAB","NavigableContainer","TabbableContainer","ref","eventToOffset","props","innerEventToOffset","evt","keyCode","shiftKey"],"mappings":";;AAAA;;AACA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,GAAT,QAAoB,qBAApB;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,aAA/B;AAEA,OAAO,SAASC,iBAAT,OAAyDC,GAAzD,EAA+D;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiB,OAAGC;AAApB,GAAmC;;AACrE,QAAMC,kBAAkB,GAAKC,GAAF,IAAW;AACrC,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAwBF,GAA9B;;AACA,QAAKP,GAAG,KAAKQ,OAAb,EAAuB;AACtB,aAAOC,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAAvB;AACA,KAJoC,CAMrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,QAAKL,aAAL,EAAqB;AACpB,aAAOA,aAAa,CAAEG,GAAF,CAApB;AACA;AACD,GApBD;;AAsBA,SACC,cAAC,kBAAD;AACC,IAAA,GAAG,EAAGJ,GADP;AAEC,IAAA,oBAAoB,MAFrB;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,aAAa,EAAGG;AAJjB,KAKMD,KALN,EADD;AASA;AAED,eAAeN,UAAU,CAAEG,iBAAF,CAAzB","sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { TAB } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport NavigableContainer from './container';\n\nexport function TabbableContainer( { eventToOffset, ...props }, ref ) {\n\tconst innerEventToOffset = ( evt ) => {\n\t\tconst { keyCode, shiftKey } = evt;\n\t\tif ( TAB === keyCode ) {\n\t\t\treturn shiftKey ? -1 : 1;\n\t\t}\n\n\t\t// Allow custom handling of keys besides Tab.\n\t\t//\n\t\t// By default, TabbableContainer will move focus forward on Tab and\n\t\t// backward on Shift+Tab. The handler below will be used for all other\n\t\t// events. The semantics for `eventToOffset`'s return\n\t\t// values are the following:\n\t\t//\n\t\t// - +1: move focus forward\n\t\t// - -1: move focus backward\n\t\t// - 0: don't move focus, but acknowledge event and thus stop it\n\t\t// - undefined: do nothing, let the event propagate.\n\t\tif ( eventToOffset ) {\n\t\t\treturn eventToOffset( evt );\n\t\t}\n\t};\n\n\treturn (\n\t\t<NavigableContainer\n\t\t\tref={ ref }\n\t\t\tstopNavigationEvents\n\t\t\tonlyBrowserTabstops\n\t\t\teventToOffset={ innerEventToOffset }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( TabbableContainer );\n"]}
@@ -44,7 +44,7 @@ export default function NavigationItem(props) {
44
44
  }
45
45
  } = useNavigationContext(); // If hideIfTargetMenuEmpty prop is true
46
46
  // And the menu we are supposed to navigate to
47
- // Is marked as empty, then we skip rendering the item
47
+ // Is marked as empty, then we skip rendering the item.
48
48
 
49
49
  if (hideIfTargetMenuEmpty && navigateToMenu && isMenuEmpty(navigateToMenu)) {
50
50
  return null;