@wordpress/components 28.10.0 → 28.12.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 (680) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/build/autocomplete/autocompleter-ui.js +2 -6
  3. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  4. package/build/autocomplete/autocompleter-ui.native.js +2 -4
  5. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  6. package/build/autocomplete/index.js +4 -5
  7. package/build/autocomplete/index.js.map +1 -1
  8. package/build/base-control/types.js.map +1 -1
  9. package/build/border-box-control/border-box-control/component.js +1 -0
  10. package/build/border-box-control/border-box-control/component.js.map +1 -1
  11. package/build/border-box-control/border-box-control/hook.js +6 -0
  12. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  13. package/build/border-control/border-control/component.js +1 -0
  14. package/build/border-control/border-control/component.js.map +1 -1
  15. package/build/border-control/border-control/hook.js +6 -0
  16. package/build/border-control/border-control/hook.js.map +1 -1
  17. package/build/border-control/border-control-dropdown/component.js +13 -13
  18. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  19. package/build/color-palette/index.js +1 -1
  20. package/build/color-palette/index.js.map +1 -1
  21. package/build/color-palette/index.native.js +1 -2
  22. package/build/color-palette/index.native.js.map +1 -1
  23. package/build/color-picker/index.native.js +0 -1
  24. package/build/color-picker/index.native.js.map +1 -1
  25. package/build/composite/legacy/index.js +5 -2
  26. package/build/composite/legacy/index.js.map +1 -1
  27. package/build/custom-gradient-picker/gradient-bar/control-points.js +1 -1
  28. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  29. package/build/date-time/date/index.js +0 -1
  30. package/build/date-time/date/index.js.map +1 -1
  31. package/build/font-size-picker/index.native.js +6 -6
  32. package/build/font-size-picker/index.native.js.map +1 -1
  33. package/build/form-file-upload/index.js +5 -1
  34. package/build/form-file-upload/index.js.map +1 -1
  35. package/build/form-token-field/index.js +0 -3
  36. package/build/form-token-field/index.js.map +1 -1
  37. package/build/form-token-field/suggestions-list.js +7 -3
  38. package/build/form-token-field/suggestions-list.js.map +1 -1
  39. package/build/form-token-field/token.js +1 -0
  40. package/build/form-token-field/token.js.map +1 -1
  41. package/build/guide/page-control.js +1 -0
  42. package/build/guide/page-control.js.map +1 -1
  43. package/build/{dropdown-menu-v2 → menu}/checkbox-item.js +8 -8
  44. package/build/menu/checkbox-item.js.map +1 -0
  45. package/build/{dropdown-menu-v2 → menu}/context.js +2 -2
  46. package/build/menu/context.js.map +1 -0
  47. package/build/{dropdown-menu-v2 → menu}/group-label.js +5 -5
  48. package/build/menu/group-label.js.map +1 -0
  49. package/build/{dropdown-menu-v2 → menu}/group.js +5 -5
  50. package/build/menu/group.js.map +1 -0
  51. package/build/{dropdown-menu-v2 → menu}/index.js +38 -38
  52. package/build/menu/index.js.map +1 -0
  53. package/build/{dropdown-menu-v2 → menu}/item-help-text.js +3 -3
  54. package/build/menu/item-help-text.js.map +1 -0
  55. package/build/{dropdown-menu-v2 → menu}/item-label.js +3 -3
  56. package/build/menu/item-label.js.map +1 -0
  57. package/build/{dropdown-menu-v2 → menu}/item.js +7 -7
  58. package/build/menu/item.js.map +1 -0
  59. package/build/{dropdown-menu-v2 → menu}/radio-item.js +8 -8
  60. package/build/menu/radio-item.js.map +1 -0
  61. package/build/{dropdown-menu-v2 → menu}/separator.js +6 -6
  62. package/build/menu/separator.js.map +1 -0
  63. package/build/menu/styles.js +150 -0
  64. package/build/menu/styles.js.map +1 -0
  65. package/build/menu/types.js.map +1 -0
  66. package/build/menu/use-temporary-focus-visible-fix.js.map +1 -0
  67. package/build/menu-item/index.js +1 -0
  68. package/build/menu-item/index.js.map +1 -1
  69. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +3 -5
  70. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  71. package/build/mobile/bottom-sheet/range-cell.native.js +1 -1
  72. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  73. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +1 -1
  74. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  75. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +1 -3
  76. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  77. package/build/mobile/bottom-sheet-select-control/index.native.js +2 -2
  78. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  79. package/build/mobile/color-settings/index.native.js +1 -3
  80. package/build/mobile/color-settings/index.native.js.map +1 -1
  81. package/build/mobile/color-settings/picker-screen.native.js +1 -3
  82. package/build/mobile/color-settings/picker-screen.native.js.map +1 -1
  83. package/build/mobile/image/index.native.js +1 -3
  84. package/build/mobile/image/index.native.js.map +1 -1
  85. package/build/mobile/keyboard-avoiding-view/index.ios.js +1 -3
  86. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  87. package/build/mobile/link-picker/link-picker-results.native.js +2 -5
  88. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  89. package/build/mobile/link-picker/link-picker-screen.native.js +1 -3
  90. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  91. package/build/mobile/link-settings/index.native.js +6 -18
  92. package/build/mobile/link-settings/index.native.js.map +1 -1
  93. package/build/mobile/link-settings/link-settings-screen.native.js +1 -3
  94. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  95. package/build/mobile/segmented-control/index.native.js +2 -6
  96. package/build/mobile/segmented-control/index.native.js.map +1 -1
  97. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +2 -6
  98. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  99. package/build/navigation/index.js +1 -2
  100. package/build/navigation/index.js.map +1 -1
  101. package/build/navigation/item/use-navigation-tree-item.js +2 -2
  102. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  103. package/build/navigation/menu/menu-title-search.js +2 -2
  104. package/build/navigation/menu/menu-title-search.js.map +1 -1
  105. package/build/navigation/menu/use-navigation-tree-menu.js +2 -2
  106. package/build/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  107. package/build/notice/index.js +2 -0
  108. package/build/notice/index.js.map +1 -1
  109. package/build/palette-edit/index.js +9 -2
  110. package/build/palette-edit/index.js.map +1 -1
  111. package/build/palette-edit/styles.js +13 -28
  112. package/build/palette-edit/styles.js.map +1 -1
  113. package/build/panel/body.js +1 -0
  114. package/build/panel/body.js.map +1 -1
  115. package/build/popover/index.js +4 -1
  116. package/build/popover/index.js.map +1 -1
  117. package/build/private-apis.js +4 -4
  118. package/build/private-apis.js.map +1 -1
  119. package/build/radio-group/index.js +3 -1
  120. package/build/radio-group/index.js.map +1 -1
  121. package/build/radio-group/radio.js +6 -0
  122. package/build/radio-group/radio.js.map +1 -1
  123. package/build/radio-group/types.js.map +1 -1
  124. package/build/sandbox/index.js +3 -6
  125. package/build/sandbox/index.js.map +1 -1
  126. package/build/sandbox/index.native.js +1 -3
  127. package/build/sandbox/index.native.js.map +1 -1
  128. package/build/search-control/index.native.js +1 -3
  129. package/build/search-control/index.native.js.map +1 -1
  130. package/build/slot-fill/bubbles-virtually/slot.js +1 -2
  131. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  132. package/build/slot-fill/fill.js +3 -6
  133. package/build/slot-fill/fill.js.map +1 -1
  134. package/build/snackbar/index.js +2 -1
  135. package/build/snackbar/index.js.map +1 -1
  136. package/build/spacer/hook.js +5 -3
  137. package/build/spacer/hook.js.map +1 -1
  138. package/build/tab-panel/index.js +4 -1
  139. package/build/tab-panel/index.js.map +1 -1
  140. package/build/tabs/index.js +48 -113
  141. package/build/tabs/index.js.map +1 -1
  142. package/build/tabs/styles.js +12 -12
  143. package/build/tabs/styles.js.map +1 -1
  144. package/build/tabs/tab.js +23 -6
  145. package/build/tabs/tab.js.map +1 -1
  146. package/build/tabs/tablist.js +37 -14
  147. package/build/tabs/tablist.js.map +1 -1
  148. package/build/tabs/types.js.map +1 -1
  149. package/build/toggle-group-control/toggle-group-control/component.js +3 -2
  150. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  151. package/build/toolbar/toolbar/index.js +3 -0
  152. package/build/toolbar/toolbar/index.js.map +1 -1
  153. package/build/tools-panel/tools-panel-header/component.js +1 -1
  154. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  155. package/build/tools-panel/tools-panel-item/hook.js +0 -2
  156. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  157. package/build/tooltip/index.native.js +5 -15
  158. package/build/tooltip/index.native.js.map +1 -1
  159. package/build/unit-control/index.native.js +2 -6
  160. package/build/unit-control/index.native.js.map +1 -1
  161. package/build/utils/deprecated-36px-size.js +27 -0
  162. package/build/utils/deprecated-36px-size.js.map +1 -0
  163. package/build/utils/element-rect.js +13 -2
  164. package/build/utils/element-rect.js.map +1 -1
  165. package/build/utils/hooks/use-animated-offset-rect.js +3 -2
  166. package/build/utils/hooks/use-animated-offset-rect.js.map +1 -1
  167. package/build/utils/hooks/use-update-effect.js +0 -2
  168. package/build/utils/hooks/use-update-effect.js.map +1 -1
  169. package/build-module/autocomplete/autocompleter-ui.js +2 -6
  170. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  171. package/build-module/autocomplete/autocompleter-ui.native.js +2 -4
  172. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  173. package/build-module/autocomplete/index.js +4 -5
  174. package/build-module/autocomplete/index.js.map +1 -1
  175. package/build-module/base-control/types.js.map +1 -1
  176. package/build-module/border-box-control/border-box-control/component.js +1 -0
  177. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  178. package/build-module/border-box-control/border-box-control/hook.js +6 -0
  179. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  180. package/build-module/border-control/border-control/component.js +1 -0
  181. package/build-module/border-control/border-control/component.js.map +1 -1
  182. package/build-module/border-control/border-control/hook.js +7 -0
  183. package/build-module/border-control/border-control/hook.js.map +1 -1
  184. package/build-module/border-control/border-control-dropdown/component.js +13 -13
  185. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  186. package/build-module/color-palette/index.js +1 -1
  187. package/build-module/color-palette/index.js.map +1 -1
  188. package/build-module/color-palette/index.native.js +1 -2
  189. package/build-module/color-palette/index.native.js.map +1 -1
  190. package/build-module/color-picker/index.native.js +0 -1
  191. package/build-module/color-picker/index.native.js.map +1 -1
  192. package/build-module/composite/legacy/index.js +5 -2
  193. package/build-module/composite/legacy/index.js.map +1 -1
  194. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +1 -1
  195. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  196. package/build-module/date-time/date/index.js +0 -1
  197. package/build-module/date-time/date/index.js.map +1 -1
  198. package/build-module/font-size-picker/index.native.js +7 -7
  199. package/build-module/font-size-picker/index.native.js.map +1 -1
  200. package/build-module/form-file-upload/index.js +5 -1
  201. package/build-module/form-file-upload/index.js.map +1 -1
  202. package/build-module/form-token-field/index.js +0 -3
  203. package/build-module/form-token-field/index.js.map +1 -1
  204. package/build-module/form-token-field/suggestions-list.js +7 -3
  205. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  206. package/build-module/form-token-field/token.js +1 -0
  207. package/build-module/form-token-field/token.js.map +1 -1
  208. package/build-module/guide/page-control.js +1 -0
  209. package/build-module/guide/page-control.js.map +1 -1
  210. package/build-module/{dropdown-menu-v2 → menu}/checkbox-item.js +8 -8
  211. package/build-module/menu/checkbox-item.js.map +1 -0
  212. package/build-module/{dropdown-menu-v2 → menu}/context.js +1 -1
  213. package/build-module/menu/context.js.map +1 -0
  214. package/build-module/{dropdown-menu-v2 → menu}/group-label.js +5 -5
  215. package/build-module/menu/group-label.js.map +1 -0
  216. package/build-module/menu/group.js +21 -0
  217. package/build-module/menu/group.js.map +1 -0
  218. package/build-module/{dropdown-menu-v2 → menu}/index.js +46 -46
  219. package/build-module/menu/index.js.map +1 -0
  220. package/build-module/{dropdown-menu-v2 → menu}/item-help-text.js +2 -2
  221. package/build-module/menu/item-help-text.js.map +1 -0
  222. package/build-module/{dropdown-menu-v2 → menu}/item-label.js +2 -2
  223. package/build-module/menu/item-label.js.map +1 -0
  224. package/build-module/{dropdown-menu-v2 → menu}/item.js +7 -7
  225. package/build-module/menu/item.js.map +1 -0
  226. package/build-module/{dropdown-menu-v2 → menu}/radio-item.js +8 -8
  227. package/build-module/menu/radio-item.js.map +1 -0
  228. package/build-module/menu/separator.js +22 -0
  229. package/build-module/menu/separator.js.map +1 -0
  230. package/build-module/menu/styles.js +143 -0
  231. package/build-module/menu/styles.js.map +1 -0
  232. package/build-module/menu/types.js.map +1 -0
  233. package/build-module/menu/use-temporary-focus-visible-fix.js.map +1 -0
  234. package/build-module/menu-item/index.js +1 -0
  235. package/build-module/menu-item/index.js.map +1 -1
  236. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +3 -5
  237. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  238. package/build-module/mobile/bottom-sheet/range-cell.native.js +1 -1
  239. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  240. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +1 -1
  241. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  242. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +1 -3
  243. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  244. package/build-module/mobile/bottom-sheet-select-control/index.native.js +2 -2
  245. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  246. package/build-module/mobile/color-settings/index.native.js +1 -3
  247. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  248. package/build-module/mobile/color-settings/picker-screen.native.js +1 -3
  249. package/build-module/mobile/color-settings/picker-screen.native.js.map +1 -1
  250. package/build-module/mobile/image/index.native.js +1 -3
  251. package/build-module/mobile/image/index.native.js.map +1 -1
  252. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +1 -3
  253. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  254. package/build-module/mobile/link-picker/link-picker-results.native.js +2 -5
  255. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  256. package/build-module/mobile/link-picker/link-picker-screen.native.js +1 -3
  257. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  258. package/build-module/mobile/link-settings/index.native.js +6 -18
  259. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  260. package/build-module/mobile/link-settings/link-settings-screen.native.js +1 -3
  261. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  262. package/build-module/mobile/segmented-control/index.native.js +2 -6
  263. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  264. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +2 -6
  265. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  266. package/build-module/navigation/index.js +1 -2
  267. package/build-module/navigation/index.js.map +1 -1
  268. package/build-module/navigation/item/use-navigation-tree-item.js +2 -2
  269. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  270. package/build-module/navigation/menu/menu-title-search.js +2 -2
  271. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  272. package/build-module/navigation/menu/use-navigation-tree-menu.js +2 -2
  273. package/build-module/navigation/menu/use-navigation-tree-menu.js.map +1 -1
  274. package/build-module/notice/index.js +2 -0
  275. package/build-module/notice/index.js.map +1 -1
  276. package/build-module/palette-edit/index.js +11 -4
  277. package/build-module/palette-edit/index.js.map +1 -1
  278. package/build-module/palette-edit/styles.js +13 -29
  279. package/build-module/palette-edit/styles.js.map +1 -1
  280. package/build-module/panel/body.js +1 -0
  281. package/build-module/panel/body.js.map +1 -1
  282. package/build-module/popover/index.js +4 -1
  283. package/build-module/popover/index.js.map +1 -1
  284. package/build-module/private-apis.js +3 -3
  285. package/build-module/private-apis.js.map +1 -1
  286. package/build-module/radio-group/index.js +3 -1
  287. package/build-module/radio-group/index.js.map +1 -1
  288. package/build-module/radio-group/radio.js +6 -0
  289. package/build-module/radio-group/radio.js.map +1 -1
  290. package/build-module/radio-group/types.js.map +1 -1
  291. package/build-module/sandbox/index.js +3 -6
  292. package/build-module/sandbox/index.js.map +1 -1
  293. package/build-module/sandbox/index.native.js +1 -3
  294. package/build-module/sandbox/index.native.js.map +1 -1
  295. package/build-module/search-control/index.native.js +1 -3
  296. package/build-module/search-control/index.native.js.map +1 -1
  297. package/build-module/slot-fill/bubbles-virtually/slot.js +1 -2
  298. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  299. package/build-module/slot-fill/fill.js +3 -6
  300. package/build-module/slot-fill/fill.js.map +1 -1
  301. package/build-module/snackbar/index.js +2 -1
  302. package/build-module/snackbar/index.js.map +1 -1
  303. package/build-module/spacer/hook.js +5 -3
  304. package/build-module/spacer/hook.js.map +1 -1
  305. package/build-module/tab-panel/index.js +4 -1
  306. package/build-module/tab-panel/index.js.map +1 -1
  307. package/build-module/tabs/index.js +47 -112
  308. package/build-module/tabs/index.js.map +1 -1
  309. package/build-module/tabs/styles.js +11 -11
  310. package/build-module/tabs/styles.js.map +1 -1
  311. package/build-module/tabs/tab.js +21 -6
  312. package/build-module/tabs/tab.js.map +1 -1
  313. package/build-module/tabs/tablist.js +37 -14
  314. package/build-module/tabs/tablist.js.map +1 -1
  315. package/build-module/tabs/types.js.map +1 -1
  316. package/build-module/toggle-group-control/toggle-group-control/component.js +3 -2
  317. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  318. package/build-module/toolbar/toolbar/index.js +3 -0
  319. package/build-module/toolbar/toolbar/index.js.map +1 -1
  320. package/build-module/tools-panel/tools-panel-header/component.js +1 -1
  321. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  322. package/build-module/tools-panel/tools-panel-item/hook.js +0 -2
  323. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  324. package/build-module/tooltip/index.native.js +5 -15
  325. package/build-module/tooltip/index.native.js.map +1 -1
  326. package/build-module/unit-control/index.native.js +2 -6
  327. package/build-module/unit-control/index.native.js.map +1 -1
  328. package/build-module/utils/deprecated-36px-size.js +19 -0
  329. package/build-module/utils/deprecated-36px-size.js.map +1 -0
  330. package/build-module/utils/element-rect.js +13 -2
  331. package/build-module/utils/element-rect.js.map +1 -1
  332. package/build-module/utils/hooks/use-animated-offset-rect.js +3 -2
  333. package/build-module/utils/hooks/use-animated-offset-rect.js.map +1 -1
  334. package/build-module/utils/hooks/use-update-effect.js +0 -2
  335. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  336. package/build-style/style-rtl.css +21 -35
  337. package/build-style/style.css +21 -35
  338. package/build-types/animate/stories/index.story.d.ts.map +1 -1
  339. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  340. package/build-types/autocomplete/index.d.ts.map +1 -1
  341. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  342. package/build-types/base-control/types.d.ts +3 -0
  343. package/build-types/base-control/types.d.ts.map +1 -1
  344. package/build-types/border-box-control/border-box-control/component.d.ts +1 -0
  345. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  346. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  347. package/build-types/border-control/border-control/component.d.ts +1 -0
  348. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  349. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  350. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  351. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  352. package/build-types/button/stories/index.story.d.ts.map +1 -1
  353. package/build-types/card/stories/index.story.d.ts.map +1 -1
  354. package/build-types/composite/legacy/index.d.ts.map +1 -1
  355. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  356. package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
  357. package/build-types/date-time/date/index.d.ts.map +1 -1
  358. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  359. package/build-types/draggable/stories/index.story.d.ts.map +1 -1
  360. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  361. package/build-types/external-link/stories/index.story.d.ts.map +1 -1
  362. package/build-types/form-file-upload/index.d.ts.map +1 -1
  363. package/build-types/form-token-field/index.d.ts.map +1 -1
  364. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  365. package/build-types/form-token-field/token.d.ts.map +1 -1
  366. package/build-types/guide/page-control.d.ts.map +1 -1
  367. package/build-types/heading/stories/index.story.d.ts.map +1 -1
  368. package/build-types/item-group/stories/index.story.d.ts +1 -1
  369. package/build-types/item-group/stories/index.story.d.ts.map +1 -1
  370. package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
  371. package/build-types/lock-unlock.d.ts +2 -2
  372. package/build-types/menu/checkbox-item.d.ts +3 -0
  373. package/build-types/menu/checkbox-item.d.ts.map +1 -0
  374. package/build-types/menu/context.d.ts +6 -0
  375. package/build-types/menu/context.d.ts.map +1 -0
  376. package/build-types/menu/group-label.d.ts +3 -0
  377. package/build-types/menu/group-label.d.ts.map +1 -0
  378. package/build-types/menu/group.d.ts +3 -0
  379. package/build-types/menu/group.d.ts.map +1 -0
  380. package/build-types/menu/index.d.ts +40 -0
  381. package/build-types/menu/index.d.ts.map +1 -0
  382. package/build-types/{dropdown-menu-v2 → menu}/item-help-text.d.ts +1 -1
  383. package/build-types/menu/item-help-text.d.ts.map +1 -0
  384. package/build-types/{dropdown-menu-v2 → menu}/item-label.d.ts +1 -1
  385. package/build-types/menu/item-label.d.ts.map +1 -0
  386. package/build-types/menu/item.d.ts +3 -0
  387. package/build-types/menu/item.d.ts.map +1 -0
  388. package/build-types/menu/radio-item.d.ts +3 -0
  389. package/build-types/menu/radio-item.d.ts.map +1 -0
  390. package/build-types/menu/separator.d.ts +3 -0
  391. package/build-types/menu/separator.d.ts.map +1 -0
  392. package/build-types/menu/stories/index.story.d.ts +16 -0
  393. package/build-types/menu/stories/index.story.d.ts.map +1 -0
  394. package/build-types/{dropdown-menu-v2 → menu}/styles.d.ts +13 -13
  395. package/build-types/menu/styles.d.ts.map +1 -0
  396. package/build-types/menu/test/index.d.ts.map +1 -0
  397. package/build-types/{dropdown-menu-v2 → menu}/types.d.ts +22 -21
  398. package/build-types/menu/types.d.ts.map +1 -0
  399. package/build-types/menu/use-temporary-focus-visible-fix.d.ts.map +1 -0
  400. package/build-types/menu-item/index.d.ts.map +1 -1
  401. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  402. package/build-types/navigable-container/stories/navigable-menu.story.d.ts.map +1 -1
  403. package/build-types/navigable-container/stories/tabbable-container.story.d.ts.map +1 -1
  404. package/build-types/navigation/index.d.ts.map +1 -1
  405. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  406. package/build-types/notice/index.d.ts.map +1 -1
  407. package/build-types/notice/stories/index.story.d.ts.map +1 -1
  408. package/build-types/palette-edit/index.d.ts.map +1 -1
  409. package/build-types/palette-edit/styles.d.ts +0 -256
  410. package/build-types/palette-edit/styles.d.ts.map +1 -1
  411. package/build-types/panel/body.d.ts.map +1 -1
  412. package/build-types/panel/stories/index.story.d.ts.map +1 -1
  413. package/build-types/popover/index.d.ts.map +1 -1
  414. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  415. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  416. package/build-types/radio-group/index.d.ts.map +1 -1
  417. package/build-types/radio-group/radio.d.ts +4 -2
  418. package/build-types/radio-group/radio.d.ts.map +1 -1
  419. package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
  420. package/build-types/radio-group/types.d.ts +5 -1
  421. package/build-types/radio-group/types.d.ts.map +1 -1
  422. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  423. package/build-types/sandbox/index.d.ts.map +1 -1
  424. package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
  425. package/build-types/scroll-lock/stories/index.story.d.ts.map +1 -1
  426. package/build-types/shortcut/stories/index.story.d.ts.map +1 -1
  427. package/build-types/slot-fill/bubbles-virtually/slot.d.ts.map +1 -1
  428. package/build-types/slot-fill/fill.d.ts.map +1 -1
  429. package/build-types/slot-fill/stories/index.story.d.ts.map +1 -1
  430. package/build-types/snackbar/index.d.ts.map +1 -1
  431. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  432. package/build-types/snackbar/stories/list.story.d.ts.map +1 -1
  433. package/build-types/spacer/hook.d.ts.map +1 -1
  434. package/build-types/spinner/stories/index.story.d.ts.map +1 -1
  435. package/build-types/tab-panel/index.d.ts.map +1 -1
  436. package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
  437. package/build-types/tabs/index.d.ts +21 -8
  438. package/build-types/tabs/index.d.ts.map +1 -1
  439. package/build-types/tabs/stories/index.story.d.ts +1 -1
  440. package/build-types/tabs/stories/index.story.d.ts.map +1 -1
  441. package/build-types/tabs/styles.d.ts +6 -3
  442. package/build-types/tabs/styles.d.ts.map +1 -1
  443. package/build-types/tabs/tab.d.ts +0 -3
  444. package/build-types/tabs/tab.d.ts.map +1 -1
  445. package/build-types/tabs/tablist.d.ts.map +1 -1
  446. package/build-types/tabs/types.d.ts +85 -48
  447. package/build-types/tabs/types.d.ts.map +1 -1
  448. package/build-types/text/stories/index.story.d.ts.map +1 -1
  449. package/build-types/text-highlight/stories/index.story.d.ts.map +1 -1
  450. package/build-types/theme/stories/index.story.d.ts.map +1 -1
  451. package/build-types/tip/stories/index.story.d.ts.map +1 -1
  452. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  453. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  454. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  455. package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
  456. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  457. package/build-types/truncate/stories/index.story.d.ts.map +1 -1
  458. package/build-types/utils/deprecated-36px-size.d.ts +6 -0
  459. package/build-types/utils/deprecated-36px-size.d.ts.map +1 -0
  460. package/build-types/utils/element-rect.d.ts +1 -1
  461. package/build-types/utils/element-rect.d.ts.map +1 -1
  462. package/build-types/utils/hooks/use-animated-offset-rect.d.ts +8 -1
  463. package/build-types/utils/hooks/use-animated-offset-rect.d.ts.map +1 -1
  464. package/build-types/utils/hooks/use-update-effect.d.ts.map +1 -1
  465. package/build-types/visually-hidden/stories/index.story.d.ts.map +1 -1
  466. package/package.json +21 -20
  467. package/src/alignment-matrix-control/README.md +1 -2
  468. package/src/angle-picker-control/README.md +1 -2
  469. package/src/animate/stories/index.story.tsx +2 -1
  470. package/src/autocomplete/autocompleter-ui.native.js +2 -4
  471. package/src/autocomplete/autocompleter-ui.tsx +2 -6
  472. package/src/autocomplete/index.tsx +4 -5
  473. package/src/base-control/README.md +58 -47
  474. package/src/base-control/docs-manifest.json +12 -0
  475. package/src/base-control/stories/index.story.tsx +4 -0
  476. package/src/base-control/types.ts +3 -0
  477. package/src/border-box-control/border-box-control/README.md +1 -0
  478. package/src/border-box-control/border-box-control/component.tsx +1 -0
  479. package/src/border-box-control/border-box-control/hook.ts +7 -0
  480. package/src/border-box-control/stories/index.story.tsx +1 -0
  481. package/src/border-box-control/test/index.tsx +1 -0
  482. package/src/border-control/border-control/README.md +1 -0
  483. package/src/border-control/border-control/component.tsx +1 -0
  484. package/src/border-control/border-control/hook.ts +7 -1
  485. package/src/border-control/border-control-dropdown/component.tsx +25 -13
  486. package/src/border-control/stories/index.story.tsx +1 -0
  487. package/src/border-control/test/index.js +1 -0
  488. package/src/button/stories/index.story.tsx +2 -1
  489. package/src/card/stories/index.story.tsx +2 -1
  490. package/src/color-palette/index.native.js +1 -2
  491. package/src/color-palette/index.tsx +1 -1
  492. package/src/color-palette/style.scss +2 -4
  493. package/src/color-picker/index.native.js +0 -1
  494. package/src/composite/legacy/index.tsx +5 -2
  495. package/src/composite/stories/index.story.tsx +2 -1
  496. package/src/confirm-dialog/stories/index.story.tsx +2 -1
  497. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +1 -1
  498. package/src/date-time/date/index.tsx +0 -1
  499. package/src/disabled/stories/index.story.tsx +2 -1
  500. package/src/draggable/stories/index.story.tsx +2 -1
  501. package/src/dropdown/stories/index.story.tsx +2 -1
  502. package/src/external-link/stories/index.story.tsx +2 -1
  503. package/src/font-size-picker/index.native.js +7 -7
  504. package/src/form-file-upload/index.tsx +7 -1
  505. package/src/form-token-field/index.tsx +0 -3
  506. package/src/form-token-field/style.scss +12 -13
  507. package/src/form-token-field/suggestions-list.tsx +6 -0
  508. package/src/form-token-field/token.tsx +1 -0
  509. package/src/guide/page-control.tsx +1 -0
  510. package/src/guide/style.scss +4 -6
  511. package/src/heading/stories/index.story.tsx +2 -1
  512. package/src/item-group/stories/index.story.tsx +8 -4
  513. package/src/keyboard-shortcuts/stories/index.story.tsx +2 -1
  514. package/src/{dropdown-menu-v2 → menu}/README.md +34 -34
  515. package/src/{dropdown-menu-v2 → menu}/checkbox-item.tsx +14 -14
  516. package/src/menu/context.tsx +13 -0
  517. package/src/{dropdown-menu-v2 → menu}/group-label.tsx +8 -8
  518. package/src/menu/group.tsx +26 -0
  519. package/src/{dropdown-menu-v2 → menu}/index.tsx +65 -70
  520. package/src/{dropdown-menu-v2 → menu}/item-help-text.tsx +3 -7
  521. package/src/{dropdown-menu-v2 → menu}/item-label.tsx +3 -7
  522. package/src/{dropdown-menu-v2 → menu}/item.tsx +13 -13
  523. package/src/{dropdown-menu-v2 → menu}/radio-item.tsx +14 -14
  524. package/src/menu/separator.tsx +27 -0
  525. package/src/menu/stories/index.story.tsx +543 -0
  526. package/src/{dropdown-menu-v2 → menu}/styles.ts +17 -17
  527. package/src/{dropdown-menu-v2 → menu}/test/index.tsx +145 -225
  528. package/src/{dropdown-menu-v2 → menu}/types.ts +24 -23
  529. package/src/menu-item/index.tsx +1 -0
  530. package/src/menu-item/test/__snapshots__/index.js.snap +4 -4
  531. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +3 -5
  532. package/src/mobile/bottom-sheet/range-cell.native.js +1 -1
  533. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +1 -1
  534. package/src/mobile/bottom-sheet/sub-sheet/index.native.js +1 -3
  535. package/src/mobile/bottom-sheet-select-control/index.native.js +2 -2
  536. package/src/mobile/color-settings/index.native.js +1 -3
  537. package/src/mobile/color-settings/picker-screen.native.js +1 -3
  538. package/src/mobile/image/index.native.js +1 -3
  539. package/src/mobile/keyboard-avoiding-view/index.ios.js +1 -3
  540. package/src/mobile/link-picker/link-picker-results.native.js +2 -5
  541. package/src/mobile/link-picker/link-picker-screen.native.js +1 -3
  542. package/src/mobile/link-settings/index.native.js +6 -18
  543. package/src/mobile/link-settings/link-settings-screen.native.js +1 -3
  544. package/src/mobile/segmented-control/index.native.js +2 -6
  545. package/src/mobile/utils/use-unit-converter-to-mobile.native.js +2 -6
  546. package/src/modal/stories/index.story.tsx +2 -1
  547. package/src/navigable-container/stories/navigable-menu.story.tsx +2 -1
  548. package/src/navigable-container/stories/tabbable-container.story.tsx +2 -1
  549. package/src/navigation/index.tsx +1 -2
  550. package/src/navigation/item/use-navigation-tree-item.tsx +2 -2
  551. package/src/navigation/menu/menu-title-search.tsx +2 -2
  552. package/src/navigation/menu/use-navigation-tree-menu.tsx +2 -2
  553. package/src/navigator/stories/index.story.tsx +2 -1
  554. package/src/notice/index.tsx +2 -0
  555. package/src/notice/stories/index.story.tsx +7 -2
  556. package/src/notice/test/__snapshots__/index.tsx.snap +4 -4
  557. package/src/palette-edit/index.tsx +9 -5
  558. package/src/palette-edit/styles.ts +1 -67
  559. package/src/panel/body.tsx +1 -0
  560. package/src/panel/stories/index.story.tsx +2 -1
  561. package/src/popover/index.tsx +3 -0
  562. package/src/popover/stories/index.story.tsx +2 -1
  563. package/src/private-apis.ts +3 -3
  564. package/src/progress-bar/stories/index.story.tsx +2 -1
  565. package/src/radio-group/README.md +8 -8
  566. package/src/radio-group/index.tsx +2 -0
  567. package/src/radio-group/radio.tsx +7 -0
  568. package/src/radio-group/stories/index.story.tsx +16 -4
  569. package/src/radio-group/types.ts +6 -1
  570. package/src/resizable-box/stories/index.story.tsx +2 -1
  571. package/src/sandbox/index.native.js +1 -3
  572. package/src/sandbox/index.tsx +3 -6
  573. package/src/sandbox/stories/index.story.tsx +2 -1
  574. package/src/scroll-lock/stories/index.story.tsx +2 -1
  575. package/src/search-control/index.native.js +1 -3
  576. package/src/shortcut/stories/index.story.tsx +2 -1
  577. package/src/slot-fill/bubbles-virtually/slot.tsx +1 -2
  578. package/src/slot-fill/fill.ts +3 -6
  579. package/src/slot-fill/stories/index.story.tsx +2 -1
  580. package/src/snackbar/index.tsx +2 -1
  581. package/src/snackbar/stories/index.story.tsx +2 -1
  582. package/src/snackbar/stories/list.story.tsx +2 -1
  583. package/src/snackbar/style.scss +7 -16
  584. package/src/spacer/hook.ts +3 -2
  585. package/src/spinner/stories/index.story.tsx +2 -1
  586. package/src/tab-panel/index.tsx +3 -0
  587. package/src/tab-panel/stories/index.story.tsx +2 -1
  588. package/src/tab-panel/style.scss +1 -3
  589. package/src/tabs/README.md +63 -21
  590. package/src/tabs/index.tsx +112 -189
  591. package/src/tabs/stories/index.story.tsx +5 -2
  592. package/src/tabs/styles.ts +13 -5
  593. package/src/tabs/tab.tsx +23 -3
  594. package/src/tabs/tablist.tsx +44 -17
  595. package/src/tabs/test/index.tsx +131 -118
  596. package/src/tabs/types.ts +89 -49
  597. package/src/text/stories/index.story.tsx +2 -1
  598. package/src/text-highlight/stories/index.story.tsx +2 -1
  599. package/src/theme/stories/index.story.tsx +2 -1
  600. package/src/tip/stories/index.story.tsx +2 -1
  601. package/src/toggle-group-control/toggle-group-control/component.tsx +2 -1
  602. package/src/toolbar/toolbar/index.tsx +3 -0
  603. package/src/tools-panel/tools-panel-header/component.tsx +1 -1
  604. package/src/tools-panel/tools-panel-item/hook.ts +0 -2
  605. package/src/tooltip/index.native.js +5 -15
  606. package/src/tooltip/stories/index.story.tsx +2 -1
  607. package/src/tree-grid/stories/index.story.tsx +2 -1
  608. package/src/truncate/stories/index.story.tsx +2 -1
  609. package/src/unit-control/index.native.js +2 -6
  610. package/src/utils/deprecated-36px-size.ts +27 -0
  611. package/src/utils/element-rect.ts +14 -2
  612. package/src/utils/hooks/use-animated-offset-rect.ts +13 -1
  613. package/src/utils/hooks/use-update-effect.js +0 -2
  614. package/src/visually-hidden/stories/index.story.tsx +2 -1
  615. package/tsconfig.tsbuildinfo +1 -1
  616. package/build/dropdown-menu-v2/checkbox-item.js.map +0 -1
  617. package/build/dropdown-menu-v2/context.js.map +0 -1
  618. package/build/dropdown-menu-v2/group-label.js.map +0 -1
  619. package/build/dropdown-menu-v2/group.js.map +0 -1
  620. package/build/dropdown-menu-v2/index.js.map +0 -1
  621. package/build/dropdown-menu-v2/item-help-text.js.map +0 -1
  622. package/build/dropdown-menu-v2/item-label.js.map +0 -1
  623. package/build/dropdown-menu-v2/item.js.map +0 -1
  624. package/build/dropdown-menu-v2/radio-item.js.map +0 -1
  625. package/build/dropdown-menu-v2/separator.js.map +0 -1
  626. package/build/dropdown-menu-v2/styles.js +0 -150
  627. package/build/dropdown-menu-v2/styles.js.map +0 -1
  628. package/build/dropdown-menu-v2/types.js.map +0 -1
  629. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +0 -1
  630. package/build-module/dropdown-menu-v2/checkbox-item.js.map +0 -1
  631. package/build-module/dropdown-menu-v2/context.js.map +0 -1
  632. package/build-module/dropdown-menu-v2/group-label.js.map +0 -1
  633. package/build-module/dropdown-menu-v2/group.js +0 -21
  634. package/build-module/dropdown-menu-v2/group.js.map +0 -1
  635. package/build-module/dropdown-menu-v2/index.js.map +0 -1
  636. package/build-module/dropdown-menu-v2/item-help-text.js.map +0 -1
  637. package/build-module/dropdown-menu-v2/item-label.js.map +0 -1
  638. package/build-module/dropdown-menu-v2/item.js.map +0 -1
  639. package/build-module/dropdown-menu-v2/radio-item.js.map +0 -1
  640. package/build-module/dropdown-menu-v2/separator.js +0 -22
  641. package/build-module/dropdown-menu-v2/separator.js.map +0 -1
  642. package/build-module/dropdown-menu-v2/styles.js +0 -143
  643. package/build-module/dropdown-menu-v2/styles.js.map +0 -1
  644. package/build-module/dropdown-menu-v2/types.js.map +0 -1
  645. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +0 -1
  646. package/build-types/dropdown-menu-v2/checkbox-item.d.ts +0 -3
  647. package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +0 -1
  648. package/build-types/dropdown-menu-v2/context.d.ts +0 -6
  649. package/build-types/dropdown-menu-v2/context.d.ts.map +0 -1
  650. package/build-types/dropdown-menu-v2/group-label.d.ts +0 -3
  651. package/build-types/dropdown-menu-v2/group-label.d.ts.map +0 -1
  652. package/build-types/dropdown-menu-v2/group.d.ts +0 -3
  653. package/build-types/dropdown-menu-v2/group.d.ts.map +0 -1
  654. package/build-types/dropdown-menu-v2/index.d.ts +0 -40
  655. package/build-types/dropdown-menu-v2/index.d.ts.map +0 -1
  656. package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +0 -1
  657. package/build-types/dropdown-menu-v2/item-label.d.ts.map +0 -1
  658. package/build-types/dropdown-menu-v2/item.d.ts +0 -3
  659. package/build-types/dropdown-menu-v2/item.d.ts.map +0 -1
  660. package/build-types/dropdown-menu-v2/radio-item.d.ts +0 -3
  661. package/build-types/dropdown-menu-v2/radio-item.d.ts.map +0 -1
  662. package/build-types/dropdown-menu-v2/separator.d.ts +0 -3
  663. package/build-types/dropdown-menu-v2/separator.d.ts.map +0 -1
  664. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +0 -16
  665. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +0 -1
  666. package/build-types/dropdown-menu-v2/styles.d.ts.map +0 -1
  667. package/build-types/dropdown-menu-v2/test/index.d.ts.map +0 -1
  668. package/build-types/dropdown-menu-v2/types.d.ts.map +0 -1
  669. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +0 -1
  670. package/src/dropdown-menu-v2/context.tsx +0 -13
  671. package/src/dropdown-menu-v2/group.tsx +0 -26
  672. package/src/dropdown-menu-v2/separator.tsx +0 -27
  673. package/src/dropdown-menu-v2/stories/index.story.tsx +0 -639
  674. /package/build/{dropdown-menu-v2 → menu}/types.js +0 -0
  675. /package/build/{dropdown-menu-v2 → menu}/use-temporary-focus-visible-fix.js +0 -0
  676. /package/build-module/{dropdown-menu-v2 → menu}/types.js +0 -0
  677. /package/build-module/{dropdown-menu-v2 → menu}/use-temporary-focus-visible-fix.js +0 -0
  678. /package/build-types/{dropdown-menu-v2 → menu}/test/index.d.ts +0 -0
  679. /package/build-types/{dropdown-menu-v2 → menu}/use-temporary-focus-visible-fix.d.ts +0 -0
  680. /package/src/{dropdown-menu-v2 → menu}/use-temporary-focus-visible-fix.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeFastImage","_interopRequireDefault","_i18n","_icons","_compose","_element","_utils","_style","_iconRetry","_imageEditingButton","_icon","_jsxRuntime","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","useState","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","useEffect","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","SvgIconRetry","iconRetryStyles","offline","iconOfflineStyles","image","iconPlaceholderStyles","iconUploadStyles","jsx","default","usePreferredColorSchemeStyle","styles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","getImageWithFocalPointStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","jsxs","View","container","alignItems","onLayout","children","accessible","disabled","accessibilityLabel","accessibilityHint","__","accessibilityRole","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","Text","pickerOptions","_default","exports"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\nimport Icon from '../../icon';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\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\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole=\"imagebutton\"\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected && highlightSelected && (\n\t\t\t\t\t<View style={ imageSelectedStyles } />\n\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\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\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\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</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\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\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\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</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,mBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,KAAA,GAAAT,sBAAA,CAAAF,OAAA;AAA8B,IAAAY,WAAA,GAAAZ,OAAA;AArB9B;AACA;AACA;;AAIA;AACA;AACA;;AAMA;AACA;AACA;;AAOA,MAAMa,SAAS,GAAG;EACjBC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,aAAa;EAC1BC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACT,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAE;EACxBC,KAAK;EACLC,GAAG;EACHC,UAAU,GAAG,IAAI;EACjBC,UAAU;EACVC,MAAM,EAAEC,WAAW;EACnBC,iBAAiB,GAAG,IAAI;EACxBC,UAAU;EACVC,kBAAkB;EAClBC,cAAc;EACdC,cAAc;EACdC,kBAAkB;EAClBC,kBAAkB;EAClBC,eAAe;EACfC,yBAAyB;EACzBC,gBAAgB;EAChBC,UAAU;EACVC,YAAY;EACZC,SAAS;EACTC,GAAG;EACHC,UAAU;EACVC,KAAK;EACLC,KAAK,EAAEC;AACR,CAAC,KAAM;EACN,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EACpD,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,IAAK,CAAC;EAC5D,MAAM,CAAEG,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAJ,iBAAQ,EAAE,IAAK,CAAC;EAClD,MAAM,CAAEK,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAN,iBAAQ,EAAE,IAAK,CAAC;EACtD,MAAM,CAAEO,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAR,iBAAQ,EAAE,KAAM,CAAC;;EAEvE;EACA,MAAMS,KAAK,GACV,CAAE3B,kBAAkB,IAAI4B,iBAAQ,CAACC,SAAS,GAAGC,kBAAO,GAAGC,6BAAS;EACjE,MAAMC,eAAe,GACpB,CAAEhC,kBAAkB,IAAI4B,iBAAQ,CAACC,SAAS,GACvCrB,UAAU,GACVuB,6BAAS,CAACvB,UAAU,CAAEA,UAAU,CAAE;EAEtC,IAAAyB,kBAAS,EAAE,MAAM;IAChB,IAAIC,SAAS,GAAG,IAAI;IACpB,IAAKvB,GAAG,EAAG;MACVmB,kBAAO,CAACK,OAAO,CAAExB,GAAG,EAAE,CAAEyB,QAAQ,EAAEC,SAAS,KAAM;QAChD,IAAK,CAAEH,SAAS,EAAG;UAClB;QACD;QACA,MAAMI,QAAQ,GAAG;UAChBC,WAAW,EAAEH,QAAQ,GAAGC,SAAS;UACjCvB,KAAK,EAAEsB,QAAQ;UACfxC,MAAM,EAAEyC;QACT,CAAC;QACDpB,YAAY,CAAEqB,QAAS,CAAC;QACxB,IAAKjC,eAAe,EAAG;UACtBA,eAAe,CAAEiC,QAAS,CAAC;QAC5B;MACD,CAAE,CAAC;MAEH,IAAK3B,GAAG,CAAC6B,UAAU,CAAE,UAAW,CAAC,EAAG;QACnClB,WAAW,CAAEX,GAAI,CAAC;QAClBa,aAAa,CAAE,IAAK,CAAC;QACrBE,qBAAqB,CAAE,KAAM,CAAC;MAC/B,CAAC,MAAM,IAAKf,GAAG,CAAC6B,UAAU,CAAE,UAAW,CAAC,EAAG;QAC1C,IAAKZ,iBAAQ,CAACa,KAAK,EAAG;UACrBjB,aAAa,CAAEb,GAAI,CAAC;QACrB,CAAC,MAAM,IAAKiB,iBAAQ,CAACC,SAAS,EAAG;UAChCC,kBAAO,CAACY,QAAQ,CAAE/B,GAAI,CAAC,CAACgC,IAAI,CAC3B,MAAM;YACL,IAAK,CAAET,SAAS,EAAG;cAClB;YACD;YACAV,aAAa,CAAEb,GAAI,CAAC;YACpBe,qBAAqB,CAAE,IAAK,CAAC;UAC9B,CAAC,EACD,MAAM;YACL;YACA;YACA;YACA;YACA;UAAA,CAEF,CAAC;QACF;MACD;IACD;IACA,OAAO,MAAQQ,SAAS,GAAG,KAAO;IAClC;IACA;IACA;EACD,CAAC,EAAE,CAAEvB,GAAG,CAAG,CAAC;EAEZ,MAAMiC,iBAAiB,GAAKC,KAAK,IAAM;IACtC,MAAM;MAAEjD,MAAM;MAAEkB;IAAM,CAAC,GAAG+B,KAAK,CAACC,WAAW,CAACC,MAAM;IAElD,IACCjC,KAAK,KAAK,CAAC,IACXlB,MAAM,KAAK,CAAC,KACVuB,aAAa,EAAEL,KAAK,KAAKA,KAAK,IAC/BK,aAAa,EAAEvB,MAAM,KAAKA,MAAM,CAAE,EAClC;MACDwB,gBAAgB,CAAE;QAAEN,KAAK;QAAElB;MAAO,CAAE,CAAC;IACtC;EACD,CAAC;EAED,MAAMoD,OAAO,GAAKC,QAAQ,IAAM;IAC/B,IAAIC,IAAI;IACR,IAAIC,SAAS;IACb,QAASF,QAAQ;MAChB,KAAK/D,SAAS,CAACG,KAAK;QACnB6D,IAAI,GAAGxC,SAAS,IAAI0C,kBAAY;QAChCD,SAAS,GAAGE,eAAe;QAC3B;MACD,KAAKnE,SAAS,CAACC,OAAO;QACrB+D,IAAI,GAAGI,cAAO;QACdH,SAAS,GAAGI,iBAAiB;QAC7B;MACD,KAAKrE,SAAS,CAACE,WAAW;QACzB8D,IAAI,GAAGM,YAAK;QACZL,SAAS,GAAGM,qBAAqB;QACjC;MACD,KAAKvE,SAAS,CAACI,MAAM;QACpB4D,IAAI,GAAGM,YAAK;QACZL,SAAS,GAAGO,gBAAgB;QAC5B;IACF;IACA,oBAAO,IAAAzE,WAAA,CAAA0E,GAAA,EAAC3E,KAAA,CAAA4E,OAAI;MAACV,IAAI,EAAGA,IAAM;MAAA,GAAMC;IAAS,CAAI,CAAC;EAC/C,CAAC;EAED,MAAMM,qBAAqB,GAAG,IAAAI,qCAA4B,EACzDC,cAAM,CAACC,eAAe,EACtBD,cAAM,CAACE,mBACR,CAAC;EAED,MAAMN,gBAAgB,GAAG,IAAAG,qCAA4B,EACpDC,cAAM,CAACG,UAAU,EACjBH,cAAM,CAACI,cACR,CAAC;EAED,MAAMX,iBAAiB,GAAG,IAAAM,qCAA4B,EACrDC,cAAM,CAACK,WAAW,EAClBL,cAAM,CAACM,eACR,CAAC;EAED,MAAMC,eAAe,GAAG,IAAAR,qCAA4B,EACnDC,cAAM,CAACpD,SAAS,EAChBoD,cAAM,CAACQ,aACR,CAAC;EAED,MAAMjB,eAAe,GAAG,IAAAQ,qCAA4B,EACnDC,cAAM,CAACS,SAAS,EAChBT,cAAM,CAACU,aACR,CAAC;EAED,MAAMC,oBAAoB,GAAG,IAAAZ,qCAA4B,EACxDC,cAAM,CAACY,cAAc,EACrBZ,cAAM,CAACa,kBACR,CAAC;EAED,MAAMC,sBAAsB,GAAG,IAAAf,qCAA4B,EAC1DC,cAAM,CAACe,gBAAgB,EACvBf,cAAM,CAACgB,oBACR,CAAC;EAED,MAAMC,iBAAiB,GAAG,CACzB,IAAAlB,qCAA4B,EAC3BC,cAAM,CAACkB,oBAAoB,EAC3BlB,cAAM,CAACmB,wBACR,CAAC,EACDtF,UAAU,IAAImE,cAAM,CAACoB,kCAAkC,EACvDrF,WAAW,IAAI;IAAED,MAAM,EAAEC;EAAY,CAAC,CACtC;EAED,MAAMsF,WAAW,GAChBnE,SAAS,EAAEF,KAAK,GAAGK,aAAa,EAAEL,KAAK,GACpCE,SAAS,EAAEF,KAAK,GAChBgD,cAAM,CAACsB,IAAI,EAAEtE,KAAK;EAEtB,MAAMuE,oBAAoB,GAAG,CAC5BvB,cAAM,CAACwB,YAAY,EACnB;IACCxE,KAAK,EACJC,UAAU,KAAK+C,cAAM,CAACsB,IAAI,EAAEtE,KAAK,IAC/BE,SAAS,IACVD,UAAU,GAAG,CAAC,IACdA,UAAU,GAAGI,aAAa,EAAEL,KAAO,GACjCC,UAAU,GACVoE;EACL,CAAC,EACD3E,UAAU,IAAI;IAAEM,KAAK,EAAEgD,cAAM,CAACsB,IAAI,EAAEtE;EAAM,CAAC,EAC3CnB,UAAU,IAAImE,cAAM,CAACyB,mBAAmB,CACxC;EAED,MAAMC,WAAW,GAAG,CACnB;IACC5F,MAAM,EAAEuB,aAAa,EAAEvB;EACxB,CAAC,EACD,CAAEY,UAAU,IAAI;IACf+B,WAAW,EAAEvB,SAAS,EAAEuB;EACzB,CAAC,EACD5C,UAAU,IAAImE,cAAM,CAACnE,UAAU,EAC/BA,UAAU,IACT,IAAA8F,mCAA4B,EAC3B9F,UAAU,EACVwB,aAAa,EACbH,SACD,CAAC,EACF,CAAErB,UAAU,IACXqB,SAAS,IACTG,aAAa,IAAI;IAChBvB,MAAM,EACLoB,SAAS,EAAEF,KAAK,GAAGK,aAAa,EAAEL,KAAK,IAAI,CAAEC,UAAU,GACpDI,aAAa,EAAEL,KAAK,GAAGE,SAAS,EAAEuB,WAAW,GAC7CmD;EACL,CAAC,EACF7F,WAAW,IAAI;IAAED,MAAM,EAAEC;EAAY,CAAC,EACtCe,UAAU,CACV;;EAED;EACA;EACA;EACA;EACA,IAAI+E,wBAAwB;EAC5B,IAAK/D,iBAAQ,CAACa,KAAK,EAAG;IACrBkD,wBAAwB,GACvBxE,aAAa,IAAI,CAAEyE,KAAK,CAAEzE,aAAa,CAACvB,MAAO,CAAC,GAC7CuB,aAAa,CAACvB,MAAM,GAAG,CAAC,GACxB,CAAC;EACN,CAAC,MAAM;IACN+F,wBAAwB,GAAGxE,aAAa,EAAEvB,MAAM;EACjD;EAEA,MAAMiG,mBAAmB,GAAG,CAC3B,IAAAhC,qCAA4B,EAC3BC,cAAM,CAACgC,WAAW,EAClBhC,cAAM,CAACiC,eACR,CAAC,EACD;IACCnG,MAAM,EAAE+F;EACT,CAAC,CACD;EAED,oBACC,IAAA1G,WAAA,CAAA+G,IAAA,EAAC5H,YAAA,CAAA6H,IAAI;IACJpF,KAAK,EAAG,CACPiD,cAAM,CAACoC,SAAS;IAChB;IACA;IACA;IACAlF,SAAS,IAAIxB,KAAK,IAAI;MAAE2G,UAAU,EAAE3G;IAAM,CAAC,EAC3CqB,KAAK,CACH;IACHuF,QAAQ,EAAGxD,iBAAmB;IAAAyD,QAAA,gBAE9B,IAAApH,WAAA,CAAA+G,IAAA,EAAC5H,YAAA,CAAA6H,IAAI;MACJK,UAAU;MACVC,QAAQ,EAAG,CAAExG,UAAY;MACzByG,kBAAkB,EAAG/G,GAAK;MAC1BgH,iBAAiB,EAAG,IAAAC,QAAE,EAAE,6BAA8B,CAAG;MACzDC,iBAAiB,EAAC,aAAa;MAE/B9F,KAAK,EAAGwE,oBAAsB;MAAAgB,QAAA,GAE5BtG,UAAU,IAAID,iBAAiB,iBAChC,IAAAb,WAAA,CAAA0E,GAAA,EAACvF,YAAA,CAAA6H,IAAI;QAACpF,KAAK,EAAGgF;MAAqB,CAAE,CACrC,EAEC,CAAE7E,SAAS,gBACZ,IAAA/B,WAAA,CAAA0E,GAAA,EAACvF,YAAA,CAAA6H,IAAI;QAACpF,KAAK,EAAGkE,iBAAmB;QAAAsB,QAAA,eAChC,IAAApH,WAAA,CAAA0E,GAAA,EAACvF,YAAA,CAAA6H,IAAI;UAACpF,KAAK,EAAGiD,cAAM,CAAC8C,2BAA6B;UAAAP,QAAA,EAC/CrD,OAAO,CAAE9D,SAAS,CAACI,MAAO;QAAC,CACxB;MAAC,CACF,CAAC,gBAEP,IAAAL,WAAA,CAAA+G,IAAA,EAAC5H,YAAA,CAAA6H,IAAI;QAACpF,KAAK,EAAGlB,UAAU,IAAImE,cAAM,CAAC+C,iBAAmB;QAAAR,QAAA,GACnDzE,iBAAQ,CAACC,SAAS,iBACnB,IAAA5C,WAAA,CAAA+G,IAAA,EAAA/G,WAAA,CAAA6H,QAAA;UAAAT,QAAA,GACG5E,kBAAkB,IAAIF,UAAU,iBACjC,IAAAtC,WAAA,CAAA0E,GAAA,EAAChC,KAAK;YACLd,KAAK,EAAG2E,WAAa;YACrBuB,YAAY,EAAG,CAAG;YAClBC,MAAM,EAAG;cAAEC,GAAG,EAAE1F;YAAW,CAAG;YAAA,IACvB,CAAE5B,UAAU,IAAI;cACtBuH,YAAY,EAAE;YACf,CAAC;YACD1G,UAAU,EAAGwB,eAAiB;YAC9BmF,MAAM,EAAG,iBAAkBxG,GAAG;UAAK,CACnC,CACD,EACC,CAAEc,kBAAkB,IAAI,CAAEF,UAAU,iBACrC,IAAAtC,WAAA,CAAA0E,GAAA,EAAChC,KAAK;YACLd,KAAK,EAAG2E,WAAa;YACrBuB,YAAY,EAAG,CAAG;YAClBC,MAAM,EAAG;cAAEC,GAAG,EAAE5F;YAAS,CAAG;YAAA,IACrB,CAAE1B,UAAU,IAAI;cACtBuH,YAAY,EAAE;YACf,CAAC;YACD1G,UAAU,EAAGwB;UAAiB,CAC9B,CACD;QAAA,CACA,CACF,EACCJ,iBAAQ,CAACa,KAAK,iBACf,IAAAxD,WAAA,CAAA+G,IAAA,EAAA/G,WAAA,CAAA6H,QAAA;UAAAT,QAAA,gBACC,IAAApH,WAAA,CAAA0E,GAAA,EAAChC,KAAK;YACLd,KAAK,EAAG2E,WAAa;YACrBwB,MAAM,EAAG;cACRC,GAAG,EACF1F,UAAU,IAAIE,kBAAkB,GAC7BF,UAAU,GACVF,QAAQ,IAAIV;YACjB,CAAG;YAAA,IACI,CAAEhB,UAAU,IAAI;cACtBuH,YAAY,EAAE;YACf,CAAC;YACD1G,UAAU,EAAGwB,eAAiB;YAC9BmF,MAAM,EAAG,iBACR5F,UAAU,IAAIE,kBAAkB,GAC7BF,UAAU,GACVF,QAAQ,IAAIV,GAAG;UACf,CACJ,CAAC,eACF,IAAA1B,WAAA,CAAA0E,GAAA,EAAChC,KAAK;YACLqF,MAAM,EAAG;cAAEC,GAAG,EAAE1F;YAAW,CAAG;YAC9BV,KAAK,EAAGiD,cAAM,CAACsD,eAAiB;YAChCC,MAAM,EAAGA,CAAA,KAAM;cACd3F,qBAAqB,CAAE,IAAK,CAAC;YAC9B;UAAG,CACH,CAAC;QAAA,CACD,CACF;MAAA,CACI,CACN,EAEC,CAAEzB,cAAc,IAAIC,cAAc,KAAMO,YAAY,iBACrD,IAAAxB,WAAA,CAAA+G,IAAA,EAAC5H,YAAA,CAAA6H,IAAI;QACJpF,KAAK,EAAG,CACPiD,cAAM,CAACwD,cAAc,EACrB7C,oBAAoB,CAClB;QAAA4B,QAAA,gBAEH,IAAApH,WAAA,CAAA0E,GAAA,EAACvF,YAAA,CAAA6H,IAAI;UACJpF,KAAK,EAAG,CACPwD,eAAe,EACf3D,SAAS,IAAIoD,cAAM,CAACyD,eAAe,CACjC;UAAAlB,QAAA,EAEDnG,cAAc,GACb8C,OAAO,CAAE9D,SAAS,CAACC,OAAQ,CAAC,GAC5B6D,OAAO,CAAE9D,SAAS,CAACG,KAAM;QAAC,CACxB,CAAC,eACP,IAAAJ,WAAA,CAAA0E,GAAA,EAACvF,YAAA,CAAAoJ,IAAI;UAAC3G,KAAK,EAAG+D,sBAAwB;UAAAyB,QAAA,EACnC5F;QAAY,CACT,CAAC;MAAA,CACF,CACN;IAAA,GA/FKE,GAgGD,CAAC,EAELjB,UAAU,IAAIK,UAAU,IAAI,CAAEI,kBAAkB,iBACjD,IAAAlB,WAAA,CAAA0E,GAAA,EAAC5E,mBAAA,CAAA6E,OAAkB;MAClBtD,yBAAyB,EAAGA,yBAA2B;MACvDC,gBAAgB,EAAGA,gBAAkB;MACrCI,GAAG,EACF,EAAIV,cAAc,IAAIC,cAAc,CAAE,IACtCc,SAAS,IACTL,GACA;MACD8G,aAAa,EAAGrH;IAAoB,CACpC,CACD;EAAA,CACI,CAAC;AAET,CAAC;AAAC,IAAAsH,QAAA,GAAAC,OAAA,CAAA/D,OAAA,GAEarE,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeFastImage","_interopRequireDefault","_i18n","_icons","_compose","_element","_utils","_style","_iconRetry","_imageEditingButton","_icon","_jsxRuntime","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","useState","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","useEffect","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","SvgIconRetry","iconRetryStyles","offline","iconOfflineStyles","image","iconPlaceholderStyles","iconUploadStyles","jsx","default","usePreferredColorSchemeStyle","styles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","getImageWithFocalPointStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","jsxs","View","container","alignItems","onLayout","children","accessible","disabled","accessibilityLabel","accessibilityHint","__","accessibilityRole","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","Text","pickerOptions","_default","exports"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\nimport Icon from '../../icon';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\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\treturn () => ( isCurrent = false );\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole=\"imagebutton\"\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected && highlightSelected && (\n\t\t\t\t\t<View style={ imageSelectedStyles } />\n\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\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\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\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</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\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\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\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</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":"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","ignoreList":[]}
@@ -58,9 +58,7 @@ const KeyboardAvoidingView = ({
58
58
  keyboardShowSubscription.remove();
59
59
  keyboardHideSubscription.remove();
60
60
  };
61
- // Disable reason: deferring this refactor to the native team.
62
- // see https://github.com/WordPress/gutenberg/pull/41166
63
- // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ // See https://github.com/WordPress/gutenberg/pull/41166
64
62
  }, []);
65
63
  function onSafeAreaInsetsUpdate({
66
64
  safeAreaInsets
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeSafeArea","_interopRequireDefault","_element","_compose","_useIsFloatingKeyboard","_styles","_jsxRuntime","AnimatedKeyboardAvoidingView","Animated","createAnimatedComponent","IOSKeyboardAvoidingView","MIN_HEIGHT","KeyboardAvoidingView","parentHeight","style","withAnimatedHeight","otherProps","resizeObserver","sizes","useResizeObserver","isKeyboardOpen","setIsKeyboardOpen","useState","safeAreaBottomInset","setSafeAreaBottomInset","height","floatingKeyboard","useIsFloatingKeyboard","animatedHeight","useRef","Value","current","fullHeight","Dimensions","get","keyboardVerticalOffset","useEffect","SafeArea","getSafeAreaInsetsForRootView","then","safeAreaInsets","bottom","safeAreaSubscription","addEventListener","onSafeAreaInsetsUpdate","keyboardShowSubscription","Keyboard","addListener","onKeyboardWillShow","keyboardHideSubscription","onKeyboardWillHide","remove","endCoordinates","setValue","duration","startCoordinates","keyboardIsOpenBreakpoint","animatedListenerId","value","timing","toValue","useNativeDriver","start","removeListener","jsx","enabled","behavior","marginBottom","children","jsxs","View","top","styles","animatedChildStyle","defaultChildStyle","exports","_default","default"],"sources":["@wordpress/components/src/mobile/keyboard-avoiding-view/index.ios.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tKeyboardAvoidingView as IOSKeyboardAvoidingView,\n\tAnimated,\n\tKeyboard,\n\tDimensions,\n\tView,\n} from 'react-native';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useIsFloatingKeyboard from '../utils/use-is-floating-keyboard';\nimport styles from './styles.scss';\n\nconst AnimatedKeyboardAvoidingView = Animated.createAnimatedComponent(\n\tIOSKeyboardAvoidingView\n);\n\nconst MIN_HEIGHT = 44;\n\nexport const KeyboardAvoidingView = ( {\n\tparentHeight,\n\tstyle,\n\twithAnimatedHeight = false,\n\t...otherProps\n} ) => {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ isKeyboardOpen, setIsKeyboardOpen ] = useState( false );\n\tconst [ safeAreaBottomInset, setSafeAreaBottomInset ] = useState( 0 );\n\tconst { height = 0 } = sizes || {};\n\tconst floatingKeyboard = useIsFloatingKeyboard();\n\n\tconst animatedHeight = useRef( new Animated.Value( MIN_HEIGHT ) ).current;\n\n\tconst { height: fullHeight } = Dimensions.get( 'screen' );\n\tconst keyboardVerticalOffset = fullHeight - parentHeight;\n\n\tuseEffect( () => {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\t( { safeAreaInsets } ) => {\n\t\t\t\tsetSafeAreaBottomInset( safeAreaInsets.bottom );\n\t\t\t}\n\t\t);\n\t\tconst safeAreaSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tonSafeAreaInsetsUpdate\n\t\t);\n\t\tconst keyboardShowSubscription = Keyboard.addListener(\n\t\t\t'keyboardWillShow',\n\t\t\tonKeyboardWillShow\n\t\t);\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardWillHide',\n\t\t\tonKeyboardWillHide\n\t\t);\n\n\t\treturn () => {\n\t\t\tsafeAreaSubscription.remove();\n\t\t\tkeyboardShowSubscription.remove();\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tfunction onSafeAreaInsetsUpdate( { safeAreaInsets } ) {\n\t\tsetSafeAreaBottomInset( safeAreaInsets.bottom );\n\t}\n\n\tfunction onKeyboardWillShow( { endCoordinates } ) {\n\t\tsetIsKeyboardOpen( true );\n\t\tanimatedHeight.setValue( endCoordinates.height + MIN_HEIGHT );\n\t}\n\n\tfunction onKeyboardWillHide( { duration, startCoordinates } ) {\n\t\t// The startCoordinates.height is set to wrong value when we use cmd + k for hide the keyboard (Have no idea why).\n\t\t// Because of that the `setIsKeyboardOpened` is not invoked and the state of keyboard is wrong.\n\t\t// The keyboardIsOpenBreakpoint use 100 as a fallback if the startCoordinates.height is too small (cmd + k case)\n\t\tconst keyboardIsOpenBreakpoint =\n\t\t\tstartCoordinates.height > 100 ? startCoordinates.height / 3 : 100;\n\t\tconst animatedListenerId = animatedHeight.addListener(\n\t\t\t( { value } ) => {\n\t\t\t\tif ( value < keyboardIsOpenBreakpoint ) {\n\t\t\t\t\tsetIsKeyboardOpen( false );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tAnimated.timing( animatedHeight, {\n\t\t\ttoValue: MIN_HEIGHT,\n\t\t\tduration,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start( () => {\n\t\t\tanimatedHeight.removeListener( animatedListenerId );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<AnimatedKeyboardAvoidingView\n\t\t\t{ ...otherProps }\n\t\t\tenabled={ ! floatingKeyboard }\n\t\t\tbehavior=\"padding\"\n\t\t\tkeyboardVerticalOffset={ keyboardVerticalOffset }\n\t\t\tstyle={\n\t\t\t\twithAnimatedHeight\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\theight: animatedHeight,\n\t\t\t\t\t\t\t\tmarginBottom: isKeyboardOpen\n\t\t\t\t\t\t\t\t\t? -safeAreaBottomInset\n\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: style\n\t\t\t}\n\t\t>\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttop: -height + MIN_HEIGHT,\n\t\t\t\t\t},\n\t\t\t\t\tstyles.animatedChildStyle,\n\t\t\t\t\t! withAnimatedHeight && styles.defaultChildStyle,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ otherProps.children }\n\t\t\t</View>\n\t\t</AnimatedKeyboardAvoidingView>\n\t);\n};\n\nexport default KeyboardAvoidingView;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeSafeArea","_interopRequireDefault","_element","_compose","_useIsFloatingKeyboard","_styles","_jsxRuntime","AnimatedKeyboardAvoidingView","Animated","createAnimatedComponent","IOSKeyboardAvoidingView","MIN_HEIGHT","KeyboardAvoidingView","parentHeight","style","withAnimatedHeight","otherProps","resizeObserver","sizes","useResizeObserver","isKeyboardOpen","setIsKeyboardOpen","useState","safeAreaBottomInset","setSafeAreaBottomInset","height","floatingKeyboard","useIsFloatingKeyboard","animatedHeight","useRef","Value","current","fullHeight","Dimensions","get","keyboardVerticalOffset","useEffect","SafeArea","getSafeAreaInsetsForRootView","then","safeAreaInsets","bottom","safeAreaSubscription","addEventListener","onSafeAreaInsetsUpdate","keyboardShowSubscription","Keyboard","addListener","onKeyboardWillShow","keyboardHideSubscription","onKeyboardWillHide","remove","endCoordinates","setValue","duration","startCoordinates","keyboardIsOpenBreakpoint","animatedListenerId","value","timing","toValue","useNativeDriver","start","removeListener","jsx","enabled","behavior","marginBottom","children","jsxs","View","top","styles","animatedChildStyle","defaultChildStyle","exports","_default","default"],"sources":["@wordpress/components/src/mobile/keyboard-avoiding-view/index.ios.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tKeyboardAvoidingView as IOSKeyboardAvoidingView,\n\tAnimated,\n\tKeyboard,\n\tDimensions,\n\tView,\n} from 'react-native';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useIsFloatingKeyboard from '../utils/use-is-floating-keyboard';\nimport styles from './styles.scss';\n\nconst AnimatedKeyboardAvoidingView = Animated.createAnimatedComponent(\n\tIOSKeyboardAvoidingView\n);\n\nconst MIN_HEIGHT = 44;\n\nexport const KeyboardAvoidingView = ( {\n\tparentHeight,\n\tstyle,\n\twithAnimatedHeight = false,\n\t...otherProps\n} ) => {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ isKeyboardOpen, setIsKeyboardOpen ] = useState( false );\n\tconst [ safeAreaBottomInset, setSafeAreaBottomInset ] = useState( 0 );\n\tconst { height = 0 } = sizes || {};\n\tconst floatingKeyboard = useIsFloatingKeyboard();\n\n\tconst animatedHeight = useRef( new Animated.Value( MIN_HEIGHT ) ).current;\n\n\tconst { height: fullHeight } = Dimensions.get( 'screen' );\n\tconst keyboardVerticalOffset = fullHeight - parentHeight;\n\n\tuseEffect( () => {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\t( { safeAreaInsets } ) => {\n\t\t\t\tsetSafeAreaBottomInset( safeAreaInsets.bottom );\n\t\t\t}\n\t\t);\n\t\tconst safeAreaSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tonSafeAreaInsetsUpdate\n\t\t);\n\t\tconst keyboardShowSubscription = Keyboard.addListener(\n\t\t\t'keyboardWillShow',\n\t\t\tonKeyboardWillShow\n\t\t);\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardWillHide',\n\t\t\tonKeyboardWillHide\n\t\t);\n\n\t\treturn () => {\n\t\t\tsafeAreaSubscription.remove();\n\t\t\tkeyboardShowSubscription.remove();\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [] );\n\n\tfunction onSafeAreaInsetsUpdate( { safeAreaInsets } ) {\n\t\tsetSafeAreaBottomInset( safeAreaInsets.bottom );\n\t}\n\n\tfunction onKeyboardWillShow( { endCoordinates } ) {\n\t\tsetIsKeyboardOpen( true );\n\t\tanimatedHeight.setValue( endCoordinates.height + MIN_HEIGHT );\n\t}\n\n\tfunction onKeyboardWillHide( { duration, startCoordinates } ) {\n\t\t// The startCoordinates.height is set to wrong value when we use cmd + k for hide the keyboard (Have no idea why).\n\t\t// Because of that the `setIsKeyboardOpened` is not invoked and the state of keyboard is wrong.\n\t\t// The keyboardIsOpenBreakpoint use 100 as a fallback if the startCoordinates.height is too small (cmd + k case)\n\t\tconst keyboardIsOpenBreakpoint =\n\t\t\tstartCoordinates.height > 100 ? startCoordinates.height / 3 : 100;\n\t\tconst animatedListenerId = animatedHeight.addListener(\n\t\t\t( { value } ) => {\n\t\t\t\tif ( value < keyboardIsOpenBreakpoint ) {\n\t\t\t\t\tsetIsKeyboardOpen( false );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tAnimated.timing( animatedHeight, {\n\t\t\ttoValue: MIN_HEIGHT,\n\t\t\tduration,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start( () => {\n\t\t\tanimatedHeight.removeListener( animatedListenerId );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<AnimatedKeyboardAvoidingView\n\t\t\t{ ...otherProps }\n\t\t\tenabled={ ! floatingKeyboard }\n\t\t\tbehavior=\"padding\"\n\t\t\tkeyboardVerticalOffset={ keyboardVerticalOffset }\n\t\t\tstyle={\n\t\t\t\twithAnimatedHeight\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\theight: animatedHeight,\n\t\t\t\t\t\t\t\tmarginBottom: isKeyboardOpen\n\t\t\t\t\t\t\t\t\t? -safeAreaBottomInset\n\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: style\n\t\t\t}\n\t\t>\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttop: -height + MIN_HEIGHT,\n\t\t\t\t\t},\n\t\t\t\t\tstyles.animatedChildStyle,\n\t\t\t\t\t! withAnimatedHeight && styles.defaultChildStyle,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ otherProps.children }\n\t\t\t</View>\n\t\t</AnimatedKeyboardAvoidingView>\n\t);\n};\n\nexport default KeyboardAvoidingView;\n"],"mappings":"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","ignoreList":[]}
@@ -90,9 +90,8 @@ function LinkPickerResults({
90
90
  return {
91
91
  fetchMoreSuggestions: (0, _compose.debounce)(fetchMore, REQUEST_DEBOUNCE_DELAY)
92
92
  };
93
- // Disable eslint rule for now, to avoid introducing a regression
93
+ // Not adding dependencies for now, to avoid introducing a regression
94
94
  // (see https://github.com/WordPress/gutenberg/pull/23922#discussion_r1170634879).
95
- // eslint-disable-next-line react-hooks/exhaustive-deps
96
95
  }, []);
97
96
 
98
97
  // Prevent setting state when unmounted.
@@ -108,9 +107,7 @@ function LinkPickerResults({
108
107
  query,
109
108
  links: [directEntry]
110
109
  });
111
- // Disable reason: deferring this refactor to the native team.
112
- // see https://github.com/WordPress/gutenberg/pull/41166
113
- // eslint-disable-next-line react-hooks/exhaustive-deps
110
+ // See https://github.com/WordPress/gutenberg/pull/41166
114
111
  }, [query]);
115
112
  const onEndReached = () => fetchMoreSuggestions({
116
113
  query,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_compose","_element","_data","_styles","_interopRequireDefault","_bottomSheet","_bottomSheetContext","_jsxRuntime","PER_PAGE","REQUEST_DEBOUNCE_DELAY","MINIMUM_QUERY_SIZE","meetsThreshold","query","length","LinkPickerResults","onLinkPicked","directEntry","links","setLinks","useState","hasAllSuggestions","setHasAllSuggestions","nextPage","useRef","pendingRequest","clearRequest","current","fetchMoreSuggestions","useSelect","select","getSettings","fetchLinkSuggestions","search","__experimentalFetchLinkSuggestions","page","type","perPage","fetchMore","currentSuggestions","request","suggestions","debounce","useEffect","onEndReached","spinner","jsx","View","style","styles","testID","children","ActivityIndicator","animating","BottomSheetConsumer","listProps","FlatList","data","keyboardShouldPersistTaps","renderItem","item","default","LinkSuggestionItemCell","suggestion","keyExtractor","url","onEndReachedThreshold","initialNumToRender","ListFooterComponent","contentContainerStyle","list"],"sources":["@wordpress/components/src/mobile/link-picker/link-picker-results.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ActivityIndicator, FlatList, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetConsumer } from '../bottom-sheet/bottom-sheet-context';\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\t// Disable eslint rule for now, to avoid introducing a regression\n\t\t// (see https://github.com/WordPress/gutenberg/pull/23922#discussion_r1170634879).\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ query ] );\n\n\tconst onEndReached = () => fetchMoreSuggestions( { query, links } );\n\n\tconst spinner = ! hasAllSuggestions && meetsThreshold( query ) && (\n\t\t<View style={ styles.spinner } testID=\"link-picker-loading\">\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_compose","_element","_data","_styles","_interopRequireDefault","_bottomSheet","_bottomSheetContext","_jsxRuntime","PER_PAGE","REQUEST_DEBOUNCE_DELAY","MINIMUM_QUERY_SIZE","meetsThreshold","query","length","LinkPickerResults","onLinkPicked","directEntry","links","setLinks","useState","hasAllSuggestions","setHasAllSuggestions","nextPage","useRef","pendingRequest","clearRequest","current","fetchMoreSuggestions","useSelect","select","getSettings","fetchLinkSuggestions","search","__experimentalFetchLinkSuggestions","page","type","perPage","fetchMore","currentSuggestions","request","suggestions","debounce","useEffect","onEndReached","spinner","jsx","View","style","styles","testID","children","ActivityIndicator","animating","BottomSheetConsumer","listProps","FlatList","data","keyboardShouldPersistTaps","renderItem","item","default","LinkSuggestionItemCell","suggestion","keyExtractor","url","onEndReachedThreshold","initialNumToRender","ListFooterComponent","contentContainerStyle","list"],"sources":["@wordpress/components/src/mobile/link-picker/link-picker-results.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ActivityIndicator, FlatList, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetConsumer } from '../bottom-sheet/bottom-sheet-context';\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\t// Not adding dependencies for now, to avoid introducing a regression\n\t\t// (see https://github.com/WordPress/gutenberg/pull/23922#discussion_r1170634879).\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\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ query ] );\n\n\tconst onEndReached = () => fetchMoreSuggestions( { query, links } );\n\n\tconst spinner = ! hasAllSuggestions && meetsThreshold( query ) && (\n\t\t<View style={ styles.spinner } testID=\"link-picker-loading\">\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"],"mappings":"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","ignoreList":[]}
@@ -61,9 +61,7 @@ const LinkPickerScreen = ({
61
61
  onLinkPicked: onLinkPicked,
62
62
  onCancel: onCancel
63
63
  });
64
- // Disable reason: deferring this refactor to the native team.
65
- // see https://github.com/WordPress/gutenberg/pull/41166
66
- // eslint-disable-next-line react-hooks/exhaustive-deps
64
+ // See https://github.com/WordPress/gutenberg/pull/41166
67
65
  }, [inputValue]);
68
66
  };
69
67
  var _default = exports.default = LinkPickerScreen;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_native","_element","_","_jsxRuntime","LinkPickerScreen","returnScreenName","navigation","useNavigation","route","useRoute","navigateToLinkTimeoutRef","useRef","navigateBackTimeoutRef","onLinkPicked","url","title","Keyboard","dismiss","current","setTimeout","navigate","inputValue","text","onCancel","goBack","useEffect","clearTimeout","params","useMemo","jsx","LinkPicker","value","_default","exports","default"],"sources":["@wordpress/components/src/mobile/link-picker/link-picker-screen.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { LinkPicker } from './';\n\nconst LinkPickerScreen = ( { returnScreenName } ) => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst navigateToLinkTimeoutRef = useRef( null );\n\tconst navigateBackTimeoutRef = useRef( null );\n\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tnavigateToLinkTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.navigate( returnScreenName, {\n\t\t\t\tinputValue: url,\n\t\t\t\ttext: title,\n\t\t\t} );\n\t\t}, 100 );\n\t};\n\n\tconst onCancel = () => {\n\t\tKeyboard.dismiss();\n\t\tnavigateBackTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\n\t};\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tclearTimeout( navigateToLinkTimeoutRef.current );\n\t\t\tclearTimeout( navigateBackTimeoutRef.current );\n\t\t};\n\t}, [] );\n\n\tconst { inputValue } = route.params;\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkPicker\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\tonCancel={ onCancel }\n\t\t\t/>\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,CAAA,GAAAH,OAAA;AAAgC,IAAAI,WAAA,GAAAJ,OAAA;AAdhC;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMK,gBAAgB,GAAGA,CAAE;EAAEC;AAAiB,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAMC,wBAAwB,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;EAC/C,MAAMC,sBAAsB,GAAG,IAAAD,eAAM,EAAE,IAAK,CAAC;EAE7C,MAAME,YAAY,GAAGA,CAAE;IAAEC,GAAG;IAAEC;EAAM,CAAC,KAAM;IAC1CC,qBAAQ,CAACC,OAAO,CAAC,CAAC;IAClBP,wBAAwB,CAACQ,OAAO,GAAGC,UAAU,CAAE,MAAM;MACpDb,UAAU,CAACc,QAAQ,CAAEf,gBAAgB,EAAE;QACtCgB,UAAU,EAAEP,GAAG;QACfQ,IAAI,EAAEP;MACP,CAAE,CAAC;IACJ,CAAC,EAAE,GAAI,CAAC;EACT,CAAC;EAED,MAAMQ,QAAQ,GAAGA,CAAA,KAAM;IACtBP,qBAAQ,CAACC,OAAO,CAAC,CAAC;IAClBL,sBAAsB,CAACM,OAAO,GAAGC,UAAU,CAAE,MAAM;MAClDb,UAAU,CAACkB,MAAM,CAAC,CAAC;IACpB,CAAC,EAAE,GAAI,CAAC;EACT,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,OAAO,MAAM;MACZC,YAAY,CAAEhB,wBAAwB,CAACQ,OAAQ,CAAC;MAChDQ,YAAY,CAAEd,sBAAsB,CAACM,OAAQ,CAAC;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEG;EAAW,CAAC,GAAGb,KAAK,CAACmB,MAAM;EACnC,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,oBACC,IAAAzB,WAAA,CAAA0B,GAAA,EAAC3B,CAAA,CAAA4B,UAAU;MACVC,KAAK,EAAGV,UAAY;MACpBR,YAAY,EAAGA,YAAc;MAC7BU,QAAQ,EAAGA;IAAU,CACrB,CAAC;IAEH;IACA;IACA;EACD,CAAC,EAAE,CAAEF,UAAU,CAAG,CAAC;AACpB,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa9B,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_native","_element","_","_jsxRuntime","LinkPickerScreen","returnScreenName","navigation","useNavigation","route","useRoute","navigateToLinkTimeoutRef","useRef","navigateBackTimeoutRef","onLinkPicked","url","title","Keyboard","dismiss","current","setTimeout","navigate","inputValue","text","onCancel","goBack","useEffect","clearTimeout","params","useMemo","jsx","LinkPicker","value","_default","exports","default"],"sources":["@wordpress/components/src/mobile/link-picker/link-picker-screen.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { LinkPicker } from './';\n\nconst LinkPickerScreen = ( { returnScreenName } ) => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst navigateToLinkTimeoutRef = useRef( null );\n\tconst navigateBackTimeoutRef = useRef( null );\n\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tnavigateToLinkTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.navigate( returnScreenName, {\n\t\t\t\tinputValue: url,\n\t\t\t\ttext: title,\n\t\t\t} );\n\t\t}, 100 );\n\t};\n\n\tconst onCancel = () => {\n\t\tKeyboard.dismiss();\n\t\tnavigateBackTimeoutRef.current = setTimeout( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\n\t};\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tclearTimeout( navigateToLinkTimeoutRef.current );\n\t\t\tclearTimeout( navigateBackTimeoutRef.current );\n\t\t};\n\t}, [] );\n\n\tconst { inputValue } = route.params;\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkPicker\n\t\t\t\tvalue={ inputValue }\n\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\tonCancel={ onCancel }\n\t\t\t/>\n\t\t);\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,CAAA,GAAAH,OAAA;AAAgC,IAAAI,WAAA,GAAAJ,OAAA;AAdhC;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMK,gBAAgB,GAAGA,CAAE;EAAEC;AAAiB,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAMC,wBAAwB,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;EAC/C,MAAMC,sBAAsB,GAAG,IAAAD,eAAM,EAAE,IAAK,CAAC;EAE7C,MAAME,YAAY,GAAGA,CAAE;IAAEC,GAAG;IAAEC;EAAM,CAAC,KAAM;IAC1CC,qBAAQ,CAACC,OAAO,CAAC,CAAC;IAClBP,wBAAwB,CAACQ,OAAO,GAAGC,UAAU,CAAE,MAAM;MACpDb,UAAU,CAACc,QAAQ,CAAEf,gBAAgB,EAAE;QACtCgB,UAAU,EAAEP,GAAG;QACfQ,IAAI,EAAEP;MACP,CAAE,CAAC;IACJ,CAAC,EAAE,GAAI,CAAC;EACT,CAAC;EAED,MAAMQ,QAAQ,GAAGA,CAAA,KAAM;IACtBP,qBAAQ,CAACC,OAAO,CAAC,CAAC;IAClBL,sBAAsB,CAACM,OAAO,GAAGC,UAAU,CAAE,MAAM;MAClDb,UAAU,CAACkB,MAAM,CAAC,CAAC;IACpB,CAAC,EAAE,GAAI,CAAC;EACT,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,OAAO,MAAM;MACZC,YAAY,CAAEhB,wBAAwB,CAACQ,OAAQ,CAAC;MAChDQ,YAAY,CAAEd,sBAAsB,CAACM,OAAQ,CAAC;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEG;EAAW,CAAC,GAAGb,KAAK,CAACmB,MAAM;EACnC,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,oBACC,IAAAzB,WAAA,CAAA0B,GAAA,EAAC3B,CAAA,CAAA4B,UAAU;MACVC,KAAK,EAAGV,UAAY;MACpBR,YAAY,EAAGA,YAAc;MAC7BU,QAAQ,EAAGA;IAAU,CACrB,CAAC;IAEH;EACD,CAAC,EAAE,CAAEF,UAAU,CAAG,CAAC;AACpB,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa9B,gBAAgB","ignoreList":[]}
@@ -104,9 +104,7 @@ function LinkSettings({
104
104
  if (onHandleClosingBottomSheet) {
105
105
  onHandleClosingBottomSheet(onCloseSettingsSheet);
106
106
  }
107
- // Disable reason: deferring this refactor to the native team.
108
- // see https://github.com/WordPress/gutenberg/pull/41166
109
- // eslint-disable-next-line react-hooks/exhaustive-deps
107
+ // See https://github.com/WordPress/gutenberg/pull/41166
110
108
  }, [urlInputValue, labelInputValue, linkRelInputValue]);
111
109
  (0, _element.useEffect)(() => {
112
110
  prevEditorSidebarOpenedRef.current = editorSidebarOpened;
@@ -116,9 +114,7 @@ function LinkSettings({
116
114
  if (url !== urlInputValue) {
117
115
  setUrlInputValue(url || '');
118
116
  }
119
- // Disable reason: deferring this refactor to the native team.
120
- // see https://github.com/WordPress/gutenberg/pull/41166
121
- // eslint-disable-next-line react-hooks/exhaustive-deps
117
+ // See https://github.com/WordPress/gutenberg/pull/41166
122
118
  }, [url]);
123
119
  (0, _element.useEffect)(() => {
124
120
  setLabelInputValue(label || '');
@@ -137,9 +133,7 @@ function LinkSettings({
137
133
  if (prevEditorSidebarOpened && !editorSidebarOpened) {
138
134
  onSetAttributes();
139
135
  }
140
- // Disable reason: deferring this refactor to the native team.
141
- // see https://github.com/WordPress/gutenberg/pull/41166
142
- // eslint-disable-next-line react-hooks/exhaustive-deps
136
+ // See https://github.com/WordPress/gutenberg/pull/41166
143
137
  }, [editorSidebarOpened, isVisible]);
144
138
  (0, _element.useEffect)(() => {
145
139
  if (!urlValue && onEmptyURL) {
@@ -150,9 +144,7 @@ function LinkSettings({
150
144
  url: (0, _url.prependHTTP)(urlValue)
151
145
  });
152
146
  }
153
- // Disable reason: deferring this refactor to the native team.
154
- // see https://github.com/WordPress/gutenberg/pull/41166
155
- // eslint-disable-next-line react-hooks/exhaustive-deps
147
+ // See https://github.com/WordPress/gutenberg/pull/41166
156
148
  }, [urlValue]);
157
149
  const onChangeURL = (0, _element.useCallback)(value => {
158
150
  if (!value && onEmptyURL) {
@@ -172,9 +164,7 @@ function LinkSettings({
172
164
  rel: linkRelInputValue
173
165
  });
174
166
  }
175
- // Disable reason: deferring this refactor to the native team.
176
- // see https://github.com/WordPress/gutenberg/pull/41166
177
- // eslint-disable-next-line react-hooks/exhaustive-deps
167
+ // See https://github.com/WordPress/gutenberg/pull/41166
178
168
  }, [urlInputValue, labelInputValue, linkRelInputValue, setAttributes]);
179
169
  const onCloseSettingsSheet = (0, _element.useCallback)(() => {
180
170
  if (onCloseSettingsSheetConsumed.current) {
@@ -199,9 +189,7 @@ function LinkSettings({
199
189
  rel: updatedRel
200
190
  });
201
191
  },
202
- // Disable reason: deferring this refactor to the native team.
203
- // see https://github.com/WordPress/gutenberg/pull/41166
204
- // eslint-disable-next-line react-hooks/exhaustive-deps
192
+ // See https://github.com/WordPress/gutenberg/pull/41166
205
193
  [linkRelInputValue]);
206
194
  const onChangeLinkRel = (0, _element.useCallback)(value => {
207
195
  setLinkRelInputValue(value);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_clipboard","_interopRequireDefault","_compose","_data","_url","_element","_icons","_bottomSheet","_bottomSheetContext","_body","_textControl","_toggleControl","_footerMessageControl","_actions","_linkRel","_style","_jsxRuntime","NEW_TAB_REL","LinkSettings","isVisible","onClose","setAttributes","onEmptyURL","options","withBottomSheet","actions","editorSidebarOpened","showIcon","onLinkCellPressed","urlValue","url","label","linkTarget","rel","urlInputValue","setUrlInputValue","useState","labelInputValue","setLabelInputValue","linkRelInputValue","setLinkRelInputValue","onCloseSettingsSheetConsumed","useRef","prevEditorSidebarOpenedRef","onHandleClosingBottomSheet","useContext","BottomSheetContext","useEffect","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","prependHTTP","onChangeURL","useCallback","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","Clipboard","getString","isURL","getSettings","jsxs","Fragment","children","jsx","default","LinkCell","valueMask","onPress","icon","link","valuePlaceholder","placeholder","onChange","onSubmit","autoCapitalize","autoCorrect","autoFocus","Platform","OS","keyboardType","linkLabel","openInNewTab","external","checked","linkRel","LinkRelIcon","style","styles","linkSettingsPanel","footer","separatorType","_default","exports","compose","withSelect","select","isEditorSidebarOpened"],"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ 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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ 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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ 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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ 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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ 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// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_clipboard","_interopRequireDefault","_compose","_data","_url","_element","_icons","_bottomSheet","_bottomSheetContext","_body","_textControl","_toggleControl","_footerMessageControl","_actions","_linkRel","_style","_jsxRuntime","NEW_TAB_REL","LinkSettings","isVisible","onClose","setAttributes","onEmptyURL","options","withBottomSheet","actions","editorSidebarOpened","showIcon","onLinkCellPressed","urlValue","url","label","linkTarget","rel","urlInputValue","setUrlInputValue","useState","labelInputValue","setLabelInputValue","linkRelInputValue","setLinkRelInputValue","onCloseSettingsSheetConsumed","useRef","prevEditorSidebarOpenedRef","onHandleClosingBottomSheet","useContext","BottomSheetContext","useEffect","onCloseSettingsSheet","current","prevEditorSidebarOpened","isSettingSheetOpen","autoFill","getURLFromClipboard","onSetAttributes","prependHTTP","onChangeURL","useCallback","value","onChangeLabel","newURL","onChangeOpenInNewTab","newLinkTarget","undefined","updatedRel","onChangeLinkRel","clipboardText","Clipboard","getString","isURL","getSettings","jsxs","Fragment","children","jsx","default","LinkCell","valueMask","onPress","icon","link","valuePlaceholder","placeholder","onChange","onSubmit","autoCapitalize","autoCorrect","autoFocus","Platform","OS","keyboardType","linkLabel","openInNewTab","external","checked","linkRel","LinkRelIcon","style","styles","linkSettingsPanel","footer","separatorType","_default","exports","compose","withSelect","select","isEditorSidebarOpened"],"sources":["@wordpress/components/src/mobile/link-settings/index.native.js"],"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\t// See https://github.com/WordPress/gutenberg/pull/41166\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\t// See https://github.com/WordPress/gutenberg/pull/41166\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\t// See https://github.com/WordPress/gutenberg/pull/41166\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\t// See https://github.com/WordPress/gutenberg/pull/41166\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\t// See https://github.com/WordPress/gutenberg/pull/41166\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// See https://github.com/WordPress/gutenberg/pull/41166\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"],"mappings":"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","ignoreList":[]}
@@ -47,9 +47,7 @@ const LinkSettingsScreen = props => {
47
47
  onLinkCellPressed: props.hasPicker ? onLinkCellPressed : undefined,
48
48
  urlValue: inputValue
49
49
  });
50
- // Disable reason: deferring this refactor to the native team.
51
- // see https://github.com/WordPress/gutenberg/pull/41166
52
- // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ // See https://github.com/WordPress/gutenberg/pull/41166
53
51
  }, [props, inputValue, navigation, route]);
54
52
  };
55
53
  var _default = exports.default = LinkSettingsScreen;
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_element","_","_interopRequireDefault","_jsxRuntime","LinkSettingsScreen","props","navigation","useNavigation","route","useRoute","url","inputValue","params","onLinkCellPressed","navigate","useMemo","jsx","default","hasPicker","undefined","urlValue","_default","exports"],"sources":["@wordpress/components/src/mobile/link-settings/link-settings-screen.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport LinkSettings from './';\n\nconst LinkSettingsScreen = ( props ) => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url } = route.params || {};\n\n\tconst onLinkCellPressed = () => {\n\t\tif ( props.onLinkCellPressed ) {\n\t\t\tprops.onLinkCellPressed( { navigation } );\n\t\t} else {\n\t\t\tnavigation.navigate( 'linkPicker', { inputValue } );\n\t\t}\n\t};\n\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkSettings\n\t\t\t\t{ ...props }\n\t\t\t\tonLinkCellPressed={\n\t\t\t\t\tprops.hasPicker ? onLinkCellPressed : undefined\n\t\t\t\t}\n\t\t\t\turlValue={ inputValue }\n\t\t\t/>\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ props, inputValue, navigation, route ] );\n};\n\nexport default LinkSettingsScreen;\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,CAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8B,IAAAI,WAAA,GAAAJ,OAAA;AAb9B;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMK,kBAAkB,GAAKC,KAAK,IAAM;EACvC,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC,GAAG,GAAG;EAAG,CAAC,GAAGL,KAAK;EAC1B,MAAM;IAAEM,UAAU,GAAGD;EAAI,CAAC,GAAGF,KAAK,CAACI,MAAM,IAAI,CAAC,CAAC;EAE/C,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;IAC/B,IAAKR,KAAK,CAACQ,iBAAiB,EAAG;MAC9BR,KAAK,CAACQ,iBAAiB,CAAE;QAAEP;MAAW,CAAE,CAAC;IAC1C,CAAC,MAAM;MACNA,UAAU,CAACQ,QAAQ,CAAE,YAAY,EAAE;QAAEH;MAAW,CAAE,CAAC;IACpD;EACD,CAAC;EAED,OAAO,IAAAI,gBAAO,EAAE,MAAM;IACrB,oBACC,IAAAZ,WAAA,CAAAa,GAAA,EAACf,CAAA,CAAAgB,OAAY;MAAA,GACPZ,KAAK;MACVQ,iBAAiB,EAChBR,KAAK,CAACa,SAAS,GAAGL,iBAAiB,GAAGM,SACtC;MACDC,QAAQ,EAAGT;IAAY,CACvB,CAAC;IAEH;IACA;IACA;EACD,CAAC,EAAE,CAAEN,KAAK,EAAEM,UAAU,EAAEL,UAAU,EAAEE,KAAK,CAAG,CAAC;AAC9C,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEab,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_element","_","_interopRequireDefault","_jsxRuntime","LinkSettingsScreen","props","navigation","useNavigation","route","useRoute","url","inputValue","params","onLinkCellPressed","navigate","useMemo","jsx","default","hasPicker","undefined","urlValue","_default","exports"],"sources":["@wordpress/components/src/mobile/link-settings/link-settings-screen.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport LinkSettings from './';\n\nconst LinkSettingsScreen = ( props ) => {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst { inputValue = url } = route.params || {};\n\n\tconst onLinkCellPressed = () => {\n\t\tif ( props.onLinkCellPressed ) {\n\t\t\tprops.onLinkCellPressed( { navigation } );\n\t\t} else {\n\t\t\tnavigation.navigate( 'linkPicker', { inputValue } );\n\t\t}\n\t};\n\n\treturn useMemo( () => {\n\t\treturn (\n\t\t\t<LinkSettings\n\t\t\t\t{ ...props }\n\t\t\t\tonLinkCellPressed={\n\t\t\t\t\tprops.hasPicker ? onLinkCellPressed : undefined\n\t\t\t\t}\n\t\t\t\turlValue={ inputValue }\n\t\t\t/>\n\t\t);\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ props, inputValue, navigation, route ] );\n};\n\nexport default LinkSettingsScreen;\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,CAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8B,IAAAI,WAAA,GAAAJ,OAAA;AAb9B;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMK,kBAAkB,GAAKC,KAAK,IAAM;EACvC,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC,GAAG,GAAG;EAAG,CAAC,GAAGL,KAAK;EAC1B,MAAM;IAAEM,UAAU,GAAGD;EAAI,CAAC,GAAGF,KAAK,CAACI,MAAM,IAAI,CAAC,CAAC;EAE/C,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;IAC/B,IAAKR,KAAK,CAACQ,iBAAiB,EAAG;MAC9BR,KAAK,CAACQ,iBAAiB,CAAE;QAAEP;MAAW,CAAE,CAAC;IAC1C,CAAC,MAAM;MACNA,UAAU,CAACQ,QAAQ,CAAE,YAAY,EAAE;QAAEH;MAAW,CAAE,CAAC;IACpD;EACD,CAAC;EAED,OAAO,IAAAI,gBAAO,EAAE,MAAM;IACrB,oBACC,IAAAZ,WAAA,CAAAa,GAAA,EAACf,CAAA,CAAAgB,OAAY;MAAA,GACPZ,KAAK;MACVQ,iBAAiB,EAChBR,KAAK,CAACa,SAAS,GAAGL,iBAAiB,GAAGM,SACtC;MACDC,QAAQ,EAAGT;IAAY,CACvB,CAAC;IAEH;EACD,CAAC,EAAE,CAAEN,KAAK,EAAEM,UAAU,EAAEL,UAAU,EAAEE,KAAK,CAAG,CAAC;AAC9C,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEab,kBAAkB","ignoreList":[]}
@@ -73,15 +73,11 @@ const SegmentedControls = ({
73
73
  (0, _element.useEffect)(() => {
74
74
  setActiveSegmentIndex(selectedSegmentIndex);
75
75
  segmentHandler(segments[selectedSegmentIndex]);
76
- // Disable reason: deferring this refactor to the native team.
77
- // see https://github.com/WordPress/gutenberg/pull/41166
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
76
+ // See https://github.com/WordPress/gutenberg/pull/41166
79
77
  }, []);
80
78
  (0, _element.useEffect)(() => {
81
79
  positionAnimationValue.setValue(calculateEndValue(activeSegmentIndex));
82
- // Disable reason: deferring this refactor to the native team.
83
- // see https://github.com/WordPress/gutenberg/pull/41166
84
- // eslint-disable-next-line react-hooks/exhaustive-deps
80
+ // See https://github.com/WordPress/gutenberg/pull/41166
85
81
  }, [segmentsDimensions]);
86
82
  const containerStyle = (0, _compose.usePreferredColorSchemeStyle)(_style.default.container, _style.default.containerDark);
87
83
  function performSwatchAnimation(index) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_compose","_layoutAnimation","_style","_interopRequireDefault","_jsxRuntime","ANIMATION_DURATION","isIOS","Platform","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","styles","segment","segmentIOS","textStyle","usePreferredColorSchemeStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","jsx","View","style","children","TouchableWithoutFeedback","Text","maxFontSizeMultiplier","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","useState","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Animated","Value","useEffect","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","Easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","performLayoutAnimation","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","jsxs","row","flex","left","accessibilityState","accessibilityRole","accessibilityLabel","accessibilityHint","length","_default","exports","default"],"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ]?.width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ]?.height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\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</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAWA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAkC,IAAAM,WAAA,GAAAN,OAAA;AArBlC;AACA;AACA;;AASA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAMO,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,KAAK,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AAEnC,MAAMC,OAAO,GAAGA,CAAE;EAAEC,UAAU;EAAEC,KAAK;EAAEC,OAAO;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,KAAM;EACzE,MAAMC,aAAa,GAAGT,KAAK,IAAII,UAAU;EAEzC,MAAMM,YAAY,GAAG,CAAEC,cAAM,CAACC,OAAO,EAAEZ,KAAK,IAAIW,cAAM,CAACE,UAAU,CAAE;EAEnE,MAAMC,SAAS,GAAG,IAAAC,qCAA4B,EAC7CJ,cAAM,CAACK,iBAAiB,EACxBL,cAAM,CAACM,qBACR,CAAC;EACD,MAAMC,iBAAiB,GAAG,IAAAH,qCAA4B,EACrDJ,cAAM,CAACQ,kBAAkB,EACzBR,cAAM,CAACS,sBACR,CAAC;EACD,MAAMC,WAAW,GAAG,IAAAN,qCAA4B,EAAEJ,cAAM,CAACW,SAAS,EAAE,CAAC,CAAE,CAAC;EAExE,oBACC,IAAAxB,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAiC,IAAI;IAACC,KAAK,EAAGhB,aAAa,IAAIY,WAAa;IAAAK,QAAA,eAC3C,IAAA5B,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAoC,wBAAwB;MAACrB,OAAO,EAAGA,OAAS;MAAAoB,QAAA,eAC5C,IAAA5B,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAiC,IAAI;QAACC,KAAK,EAAGf,YAAc;QAACH,QAAQ,EAAGA,QAAU;QAAA,GAAMC,KAAK;QAAAkB,QAAA,eAC5D,IAAA5B,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAqC,IAAI;UACJH,KAAK,EAAG,CAAEX,SAAS,EAAEV,UAAU,IAAIc,iBAAiB,CAAI;UACxDW,qBAAqB,EAAG,CAAG;UAAAH,QAAA,EAEzBrB;QAAK,CACF;MAAC,CACF;IAAC,CACkB;EAAC,CACtB,CAAC;AAET,CAAC;AAED,MAAMyB,iBAAiB,GAAGA,CAAE;EAC3BC,QAAQ;EACRC,cAAc;EACdC,aAAa;EACbC,SAAS;EACTC;AACD,CAAC,KAAM;EACN,MAAMC,oBAAoB,GAAGH,aAAa,IAAI,CAAC;EAC/C,MAAM,CAAEI,kBAAkB,EAAEC,qBAAqB,CAAE,GAClD,IAAAC,iBAAQ,EAAEH,oBAAqB,CAAC;EACjC,MAAM,CAAEI,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAF,iBAAQ,EAAE;IAC/D,CAAEF,kBAAkB,GAAI;MAAEK,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE;EAC/C,CAAE,CAAC;EACH,MAAM,CAAEC,sBAAsB,CAAE,GAAG,IAAAL,iBAAQ,EAAE,IAAIM,qBAAQ,CAACC,KAAK,CAAE,CAAE,CAAE,CAAC;EAEtE,IAAAC,kBAAS,EAAE,MAAM;IAChBT,qBAAqB,CAAEF,oBAAqB,CAAC;IAC7CJ,cAAc,CAAED,QAAQ,CAAEK,oBAAoB,CAAG,CAAC;IAClD;IACA;IACA;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAAW,kBAAS,EAAE,MAAM;IAChBH,sBAAsB,CAACI,QAAQ,CAC9BC,iBAAiB,CAAEZ,kBAAmB,CACvC,CAAC;IACD;IACA;IACA;EACD,CAAC,EAAE,CAAEG,kBAAkB,CAAG,CAAC;EAE3B,MAAMU,cAAc,GAAG,IAAAnC,qCAA4B,EAClDJ,cAAM,CAACwC,SAAS,EAChBxC,cAAM,CAACyC,aACR,CAAC;EAED,SAASC,sBAAsBA,CAAEC,KAAK,EAAG;IACxCT,qBAAQ,CAACU,MAAM,CAAEX,sBAAsB,EAAE;MACxCY,OAAO,EAAEP,iBAAiB,CAAEK,KAAM,CAAC;MACnCG,QAAQ,EAAE1D,kBAAkB;MAC5B2D,MAAM,EAAEC,mBAAM,CAACC,IAAI;MACnBC,eAAe,EAAE;IAClB,CAAE,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ;EAEA,SAASb,iBAAiBA,CAAEK,KAAK,EAAG;IACnC,MAAM;MAAES,WAAW,EAAEC;IAAO,CAAC,GAAGhE,KAAK,GAClCW,cAAM,CAACsD,YAAY,GACnBtD,cAAM,CAACwC,SAAS;IACnB,MAAMe,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAE5B,kBAAmB,CAAC,CAAC6B,GAAG,CACnDC,SAAS,IAAMA,SAAS,CAAC5B,KAC5B,CAAC;IACD,MAAM6B,cAAc,GAAGL,MAAM,CAACM,KAAK,CAAE,CAAC,EAAElB,KAAM,CAAC;IAC/C,MAAMmB,iBAAiB,GAAGF,cAAc,CAACG,MAAM,CAC9C,CAAEC,GAAG,EAAEC,CAAC,KAAMD,GAAG,GAAGC,CAAC,EACrB,CACD,CAAC;IAED,MAAMC,QAAQ,GAAGvB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGmB,iBAAiB;IACpD,OAAOI,QAAQ,GAAGb,MAAM;EACzB;EAEA,SAASc,aAAaA,CAAElE,OAAO,EAAE0C,KAAK,EAAG;IACxC,IAAAyB,uCAAsB,EAAEhF,kBAAmB,CAAC;IAC5CuC,qBAAqB,CAAEgB,KAAM,CAAC;IAC9BtB,cAAc,CAAEpB,OAAQ,CAAC;IACzByC,sBAAsB,CAAEC,KAAM,CAAC;EAChC;EAEA,SAAS0B,eAAeA,CAAEC,KAAK,EAAE3B,KAAK,EAAG;IACxC,MAAM;MAAEZ,KAAK;MAAEC;IAAO,CAAC,GAAGsC,KAAK,CAACC,WAAW,CAACC,MAAM;IAElD1C,qBAAqB,CAAE;MACtB,GAAGD,kBAAkB;MACrB,CAAEc,KAAK,GAAI;QAAEZ,KAAK;QAAEC;MAAO;IAC5B,CAAE,CAAC;EACJ;EAEA,MAAMyC,aAAa,GAAG,IAAArE,qCAA4B,EACjDJ,cAAM,CAAC0E,QAAQ,EACf1E,cAAM,CAAC2E,YACR,CAAC;EAED,MAAM5C,KAAK,GAAGF,kBAAkB,CAAEH,kBAAkB,CAAE,EAAEK,KAAK;EAC7D,MAAMC,MAAM,GAAGH,kBAAkB,CAAEH,kBAAkB,CAAE,EAAEM,MAAM;EAE/D,MAAM4C,YAAY,GAAG,CAAE5E,cAAM,CAAC6E,OAAO,EAAExF,KAAK,IAAIW,cAAM,CAAC8E,UAAU,CAAE;EAEnE,oBACC,IAAA3F,WAAA,CAAA4F,IAAA,EAACnG,YAAA,CAAAiC,IAAI;IAACC,KAAK,EAAGd,cAAM,CAACgF,GAAK;IAAAjE,QAAA,gBACzB,IAAA5B,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAiC,IAAI;MAACC,KAAK,EAAGd,cAAM,CAACiF,IAAM;MAAAlE,QAAA,EAAGQ;IAAS,CAAQ,CAAC,eAChD,IAAApC,WAAA,CAAA4F,IAAA,EAACnG,YAAA,CAAAiC,IAAI;MAACC,KAAK,EAAG,CAAEyB,cAAc,EAAElD,KAAK,IAAIW,cAAM,CAACsD,YAAY,CAAI;MAAAvC,QAAA,gBAC/D,IAAA5B,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAsD,QAAQ,CAACrB,IAAI;QACbC,KAAK,EAAG,CACP;UACCiB,KAAK;UACLmD,IAAI,EAAEjD,sBAAsB;UAC5BD;QACD,CAAC,EACDyC,aAAa,EACbG,YAAY;MACV,CACH,CAAC,EACAxD,QAAQ,CAACsC,GAAG,CAAE,CAAEzD,OAAO,EAAE0C,KAAK,KAAM;QACrC,oBACC,IAAAxD,WAAA,CAAAyB,GAAA,EAACpB,OAAO;UACPE,KAAK,EAAGO,OAAS;UACjBN,OAAO,EAAGA,CAAA,KAAMwE,aAAa,CAAElE,OAAO,EAAE0C,KAAM,CAAG;UACjDlD,UAAU,EAAGiC,kBAAkB,KAAKiB,KAAO;UAE3C/C,QAAQ,EAAK0E,KAAK,IACjBD,eAAe,CAAEC,KAAK,EAAE3B,KAAM,CAC9B;UACDwC,kBAAkB,EAAG;YACpBT,QAAQ,EAAEhD,kBAAkB,KAAKiB;UAClC,CAAG;UACHyC,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAGpF,OAAS;UAC9BqF,iBAAiB,EAAG,GAAI3C,KAAK,GAAG,CAAC,OAChCvB,QAAQ,CAACmE,MAAM;QACZ,GAXE5C,KAYN,CAAC;MAEJ,CAAE,CAAC;IAAA,CACE,CAAC,eACP,IAAAxD,WAAA,CAAAyB,GAAA,EAAChC,YAAA,CAAAiC,IAAI;MAACC,KAAK,EAAGd,cAAM,CAACiF,IAAM;MAAAlE,QAAA,EAAGS;IAAU,CAAQ,CAAC;EAAA,CAC5C,CAAC;AAET,CAAC;AAAC,IAAAgE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEavE,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_element","_compose","_layoutAnimation","_style","_interopRequireDefault","_jsxRuntime","ANIMATION_DURATION","isIOS","Platform","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","styles","segment","segmentIOS","textStyle","usePreferredColorSchemeStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","jsx","View","style","children","TouchableWithoutFeedback","Text","maxFontSizeMultiplier","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","useState","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Animated","Value","useEffect","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","Easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","performLayoutAnimation","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","jsxs","row","flex","left","accessibilityState","accessibilityRole","accessibilityLabel","accessibilityHint","length","_default","exports","default"],"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ]?.width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ]?.height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\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</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"],"mappings":"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","ignoreList":[]}
@@ -67,9 +67,7 @@ const useConvertUnitToMobile = (value, unit, styles) => {
67
67
  return () => {
68
68
  dimensionsChangeSubscription.remove();
69
69
  };
70
- // Disable reason: deferring this refactor to the native team.
71
- // see https://github.com/WordPress/gutenberg/pull/41166
72
- // eslint-disable-next-line react-hooks/exhaustive-deps
70
+ // See https://github.com/WordPress/gutenberg/pull/41166
73
71
  }, []);
74
72
  const onDimensionsChange = (0, _element.useCallback)(({
75
73
  window
@@ -82,9 +80,7 @@ const useConvertUnitToMobile = (value, unit, styles) => {
82
80
  valueUnit
83
81
  } = getValueAndUnit(value, unit) || {};
84
82
  return convertUnitToMobile(windowSizes, styles, valueToConvert, valueUnit);
85
- // Disable reason: deferring this refactor to the native team.
86
- // see https://github.com/WordPress/gutenberg/pull/41166
87
- // eslint-disable-next-line react-hooks/exhaustive-deps
83
+ // See https://github.com/WordPress/gutenberg/pull/41166
88
84
  }, [windowSizes, value, unit]);
89
85
  };
90
86
  exports.useConvertUnitToMobile = useConvertUnitToMobile;