@wordpress/components 19.16.0 → 19.17.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 (434) hide show
  1. package/CHANGELOG.md +40 -4
  2. package/build/base-control/index.js +6 -3
  3. package/build/base-control/index.js.map +1 -1
  4. package/build/base-control/styles/base-control-styles.js +8 -8
  5. package/build/base-control/styles/base-control-styles.js.map +1 -1
  6. package/build/border-control/styles.js +17 -25
  7. package/build/border-control/styles.js.map +1 -1
  8. package/build/box-control/all-input-control.js +2 -27
  9. package/build/box-control/all-input-control.js.map +1 -1
  10. package/build/box-control/index.js +10 -5
  11. package/build/box-control/index.js.map +1 -1
  12. package/build/box-control/styles/box-control-styles.js +17 -9
  13. package/build/box-control/styles/box-control-styles.js.map +1 -1
  14. package/build/box-control/utils.js +35 -0
  15. package/build/box-control/utils.js.map +1 -1
  16. package/build/color-picker/styles.js +10 -8
  17. package/build/color-picker/styles.js.map +1 -1
  18. package/build/combobox-control/index.js +14 -6
  19. package/build/combobox-control/index.js.map +1 -1
  20. package/build/custom-select-control/index.js +3 -1
  21. package/build/custom-select-control/index.js.map +1 -1
  22. package/build/date-time/time/index.js +6 -2
  23. package/build/date-time/time/index.js.map +1 -1
  24. package/build/date-time/time/styles.js +17 -24
  25. package/build/date-time/time/styles.js.map +1 -1
  26. package/build/external-link/index.js +6 -0
  27. package/build/external-link/index.js.map +1 -1
  28. package/build/flex/flex/component.js +9 -9
  29. package/build/flex/flex/component.js.map +1 -1
  30. package/build/flex/flex/hook.js +6 -16
  31. package/build/flex/flex/hook.js.map +1 -1
  32. package/build/flex/flex/index.js.map +1 -1
  33. package/build/flex/flex-block/component.js +9 -9
  34. package/build/flex/flex-block/component.js.map +1 -1
  35. package/build/flex/flex-block/hook.js +0 -4
  36. package/build/flex/flex-block/hook.js.map +1 -1
  37. package/build/flex/flex-block/index.js.map +1 -1
  38. package/build/flex/flex-item/component.js +9 -9
  39. package/build/flex/flex-item/component.js.map +1 -1
  40. package/build/flex/flex-item/hook.js +1 -5
  41. package/build/flex/flex-item/hook.js.map +1 -1
  42. package/build/flex/flex-item/index.js.map +1 -1
  43. package/build/flex/index.js.map +1 -1
  44. package/build/flex/styles.js +5 -5
  45. package/build/flex/styles.js.map +1 -1
  46. package/build/focal-point-picker/styles/focal-point-picker-style.js +22 -22
  47. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  48. package/build/focal-point-picker/styles/focal-point-style.js +5 -5
  49. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  50. package/build/font-size-picker/index.js +15 -6
  51. package/build/font-size-picker/index.js.map +1 -1
  52. package/build/form-token-field/index.js +6 -2
  53. package/build/form-token-field/index.js.map +1 -1
  54. package/build/form-token-field/suggestions-list.js +19 -6
  55. package/build/form-token-field/suggestions-list.js.map +1 -1
  56. package/build/index.js +7 -1
  57. package/build/index.js.map +1 -1
  58. package/build/input-control/input-base.js +1 -2
  59. package/build/input-control/input-base.js.map +1 -1
  60. package/build/input-control/reducer/actions.js +3 -1
  61. package/build/input-control/reducer/actions.js.map +1 -1
  62. package/build/input-control/reducer/reducer.js +28 -11
  63. package/build/input-control/reducer/reducer.js.map +1 -1
  64. package/build/input-control/reducer/state.js.map +1 -1
  65. package/build/input-control/styles/input-control-styles.js +26 -26
  66. package/build/input-control/styles/input-control-styles.js.map +1 -1
  67. package/build/mobile/global-styles-context/utils.native.js +23 -3
  68. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  69. package/build/mobile/image/index.native.js +23 -2
  70. package/build/mobile/image/index.native.js.map +1 -1
  71. package/build/mobile/link-picker/link-picker-screen.native.js +10 -4
  72. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  73. package/build/mobile/picker/index.ios.js +16 -3
  74. package/build/mobile/picker/index.ios.js.map +1 -1
  75. package/build/placeholder/index.js +11 -14
  76. package/build/placeholder/index.js.map +1 -1
  77. package/build/placeholder/types.js +6 -0
  78. package/build/placeholder/types.js.map +1 -0
  79. package/build/popover/index.js +113 -62
  80. package/build/popover/index.js.map +1 -1
  81. package/build/range-control/styles/range-control-styles.js +40 -40
  82. package/build/range-control/styles/range-control-styles.js.map +1 -1
  83. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  84. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  85. package/build/select-control/styles/select-control-styles.js +6 -6
  86. package/build/select-control/styles/select-control-styles.js.map +1 -1
  87. package/build/style-provider/index.js +10 -7
  88. package/build/style-provider/index.js.map +1 -1
  89. package/build/style-provider/types.js +6 -0
  90. package/build/style-provider/types.js.map +1 -0
  91. package/build/swatch/index.js +2 -0
  92. package/build/swatch/index.js.map +1 -1
  93. package/build/swatch/types.js +6 -0
  94. package/build/swatch/types.js.map +1 -0
  95. package/build/text/hook.js +5 -8
  96. package/build/text/hook.js.map +1 -1
  97. package/build/tools-panel/styles.js +13 -10
  98. package/build/tools-panel/styles.js.map +1 -1
  99. package/build/tools-panel/tools-panel/hook.js +1 -1
  100. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  101. package/build/ui/tooltip/styles.js +4 -4
  102. package/build/ui/tooltip/styles.js.map +1 -1
  103. package/build/unit-control/styles/unit-control-styles.js +34 -9
  104. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  105. package/build/utils/base-label.js +24 -0
  106. package/build/utils/base-label.js.map +1 -0
  107. package/build/utils/box-sizing.js +22 -0
  108. package/build/utils/box-sizing.js.map +1 -0
  109. package/build/utils/style-mixins.js +16 -0
  110. package/build/utils/style-mixins.js.map +1 -1
  111. package/build-module/base-control/index.js +7 -5
  112. package/build-module/base-control/index.js.map +1 -1
  113. package/build-module/base-control/styles/base-control-styles.js +9 -9
  114. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  115. package/build-module/border-control/styles.js +18 -26
  116. package/build-module/border-control/styles.js.map +1 -1
  117. package/build-module/box-control/all-input-control.js +3 -28
  118. package/build-module/box-control/all-input-control.js.map +1 -1
  119. package/build-module/box-control/index.js +4 -4
  120. package/build-module/box-control/index.js.map +1 -1
  121. package/build-module/box-control/styles/box-control-styles.js +18 -10
  122. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  123. package/build-module/box-control/utils.js +33 -0
  124. package/build-module/box-control/utils.js.map +1 -1
  125. package/build-module/color-picker/styles.js +9 -8
  126. package/build-module/color-picker/styles.js.map +1 -1
  127. package/build-module/combobox-control/index.js +13 -6
  128. package/build-module/combobox-control/index.js.map +1 -1
  129. package/build-module/custom-select-control/index.js +2 -1
  130. package/build-module/custom-select-control/index.js.map +1 -1
  131. package/build-module/date-time/time/index.js +6 -3
  132. package/build-module/date-time/time/index.js.map +1 -1
  133. package/build-module/date-time/time/styles.js +15 -21
  134. package/build-module/date-time/time/styles.js.map +1 -1
  135. package/build-module/external-link/index.js +6 -0
  136. package/build-module/external-link/index.js.map +1 -1
  137. package/build-module/flex/flex/component.js +9 -9
  138. package/build-module/flex/flex/component.js.map +1 -1
  139. package/build-module/flex/flex/hook.js +6 -15
  140. package/build-module/flex/flex/hook.js.map +1 -1
  141. package/build-module/flex/flex/index.js.map +1 -1
  142. package/build-module/flex/flex-block/component.js +9 -9
  143. package/build-module/flex/flex-block/component.js.map +1 -1
  144. package/build-module/flex/flex-block/hook.js +0 -4
  145. package/build-module/flex/flex-block/hook.js.map +1 -1
  146. package/build-module/flex/flex-block/index.js.map +1 -1
  147. package/build-module/flex/flex-item/component.js +9 -9
  148. package/build-module/flex/flex-item/component.js.map +1 -1
  149. package/build-module/flex/flex-item/hook.js +1 -5
  150. package/build-module/flex/flex-item/hook.js.map +1 -1
  151. package/build-module/flex/flex-item/index.js.map +1 -1
  152. package/build-module/flex/index.js.map +1 -1
  153. package/build-module/flex/styles.js +5 -5
  154. package/build-module/flex/styles.js.map +1 -1
  155. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +22 -22
  156. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  157. package/build-module/focal-point-picker/styles/focal-point-style.js +5 -5
  158. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  159. package/build-module/font-size-picker/index.js +14 -6
  160. package/build-module/font-size-picker/index.js.map +1 -1
  161. package/build-module/form-token-field/index.js +5 -2
  162. package/build-module/form-token-field/index.js.map +1 -1
  163. package/build-module/form-token-field/suggestions-list.js +19 -6
  164. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  165. package/build-module/index.js +1 -1
  166. package/build-module/index.js.map +1 -1
  167. package/build-module/input-control/input-base.js +1 -2
  168. package/build-module/input-control/input-base.js.map +1 -1
  169. package/build-module/input-control/reducer/actions.js +1 -0
  170. package/build-module/input-control/reducer/actions.js.map +1 -1
  171. package/build-module/input-control/reducer/reducer.js +28 -11
  172. package/build-module/input-control/reducer/reducer.js.map +1 -1
  173. package/build-module/input-control/reducer/state.js.map +1 -1
  174. package/build-module/input-control/styles/input-control-styles.js +27 -27
  175. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  176. package/build-module/mobile/global-styles-context/utils.native.js +23 -4
  177. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  178. package/build-module/mobile/image/index.native.js +25 -4
  179. package/build-module/mobile/image/index.native.js.map +1 -1
  180. package/build-module/mobile/link-picker/link-picker-screen.native.js +11 -4
  181. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  182. package/build-module/mobile/picker/index.ios.js +14 -3
  183. package/build-module/mobile/picker/index.ios.js.map +1 -1
  184. package/build-module/placeholder/index.js +10 -15
  185. package/build-module/placeholder/index.js.map +1 -1
  186. package/build-module/placeholder/types.js +2 -0
  187. package/build-module/placeholder/types.js.map +1 -0
  188. package/build-module/popover/index.js +112 -62
  189. package/build-module/popover/index.js.map +1 -1
  190. package/build-module/range-control/styles/range-control-styles.js +40 -40
  191. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  192. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  193. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  194. package/build-module/select-control/styles/select-control-styles.js +6 -6
  195. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  196. package/build-module/style-provider/index.js +10 -5
  197. package/build-module/style-provider/index.js.map +1 -1
  198. package/build-module/style-provider/types.js +2 -0
  199. package/build-module/style-provider/types.js.map +1 -0
  200. package/build-module/swatch/index.js +2 -0
  201. package/build-module/swatch/index.js.map +1 -1
  202. package/build-module/swatch/types.js +2 -0
  203. package/build-module/swatch/types.js.map +1 -0
  204. package/build-module/text/hook.js +5 -7
  205. package/build-module/text/hook.js.map +1 -1
  206. package/build-module/tools-panel/styles.js +12 -11
  207. package/build-module/tools-panel/styles.js.map +1 -1
  208. package/build-module/tools-panel/tools-panel/hook.js +1 -1
  209. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  210. package/build-module/ui/tooltip/styles.js +4 -4
  211. package/build-module/ui/tooltip/styles.js.map +1 -1
  212. package/build-module/unit-control/styles/unit-control-styles.js +35 -9
  213. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  214. package/build-module/utils/base-label.js +18 -0
  215. package/build-module/utils/base-label.js.map +1 -0
  216. package/build-module/utils/box-sizing.js +16 -0
  217. package/build-module/utils/box-sizing.js.map +1 -0
  218. package/build-module/utils/style-mixins.js +2 -0
  219. package/build-module/utils/style-mixins.js.map +1 -1
  220. package/build-style/style-rtl.css +50 -30
  221. package/build-style/style.css +52 -30
  222. package/build-types/base-control/index.d.ts +4 -3
  223. package/build-types/base-control/index.d.ts.map +1 -1
  224. package/build-types/base-control/stories/index.d.ts +1 -1
  225. package/build-types/base-control/stories/index.d.ts.map +1 -1
  226. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  227. package/build-types/base-control/types.d.ts +0 -1
  228. package/build-types/base-control/types.d.ts.map +1 -1
  229. package/build-types/border-control/styles.d.ts.map +1 -1
  230. package/build-types/color-picker/color-display.d.ts +13 -0
  231. package/build-types/color-picker/color-display.d.ts.map +1 -0
  232. package/build-types/color-picker/styles.d.ts.map +1 -1
  233. package/build-types/date-time/time/index.d.ts.map +1 -1
  234. package/build-types/date-time/time/styles.d.ts +0 -4
  235. package/build-types/date-time/time/styles.d.ts.map +1 -1
  236. package/build-types/external-link/index.d.ts.map +1 -1
  237. package/build-types/flex/flex/component.d.ts +5 -4
  238. package/build-types/flex/flex/component.d.ts.map +1 -1
  239. package/build-types/flex/flex/hook.d.ts +5 -2
  240. package/build-types/flex/flex/hook.d.ts.map +1 -1
  241. package/build-types/flex/flex/index.d.ts +2 -2
  242. package/build-types/flex/flex/index.d.ts.map +1 -1
  243. package/build-types/flex/flex-block/component.d.ts +5 -4
  244. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  245. package/build-types/flex/flex-block/hook.d.ts +6 -3
  246. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  247. package/build-types/flex/flex-block/index.d.ts +2 -2
  248. package/build-types/flex/flex-block/index.d.ts.map +1 -1
  249. package/build-types/flex/flex-item/component.d.ts +5 -4
  250. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  251. package/build-types/flex/flex-item/hook.d.ts +6 -3
  252. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  253. package/build-types/flex/flex-item/index.d.ts +2 -2
  254. package/build-types/flex/flex-item/index.d.ts.map +1 -1
  255. package/build-types/flex/index.d.ts +3 -3
  256. package/build-types/flex/index.d.ts.map +1 -1
  257. package/build-types/flex/stories/index.d.ts +13 -0
  258. package/build-types/flex/stories/index.d.ts.map +1 -0
  259. package/build-types/flex/styles.d.ts +5 -5
  260. package/build-types/flex/styles.d.ts.map +1 -1
  261. package/build-types/flex/test/index.d.ts +2 -0
  262. package/build-types/flex/test/index.d.ts.map +1 -0
  263. package/build-types/flex/types.d.ts +15 -11
  264. package/build-types/flex/types.d.ts.map +1 -1
  265. package/build-types/flyout/context.d.ts +6 -0
  266. package/build-types/flyout/context.d.ts.map +1 -0
  267. package/build-types/flyout/flyout/component.d.ts +21 -0
  268. package/build-types/flyout/flyout/component.d.ts.map +1 -0
  269. package/build-types/flyout/flyout/hook.d.ts +270 -0
  270. package/build-types/flyout/flyout/hook.d.ts.map +1 -0
  271. package/build-types/flyout/flyout/index.d.ts +3 -0
  272. package/build-types/flyout/flyout/index.d.ts.map +1 -0
  273. package/build-types/flyout/flyout-content/component.d.ts +3 -0
  274. package/build-types/flyout/flyout-content/component.d.ts.map +1 -0
  275. package/build-types/flyout/flyout-content/index.d.ts +2 -0
  276. package/build-types/flyout/flyout-content/index.d.ts.map +1 -0
  277. package/build-types/flyout/index.d.ts +2 -0
  278. package/build-types/flyout/index.d.ts.map +1 -0
  279. package/build-types/flyout/styles.d.ts +22 -0
  280. package/build-types/flyout/styles.d.ts.map +1 -0
  281. package/build-types/flyout/types.d.ts +80 -0
  282. package/build-types/flyout/types.d.ts.map +1 -0
  283. package/build-types/flyout/utils.d.ts +8 -0
  284. package/build-types/flyout/utils.d.ts.map +1 -0
  285. package/build-types/form-token-field/index.d.ts.map +1 -1
  286. package/build-types/form-token-field/stories/index.d.ts +6 -0
  287. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  288. package/build-types/form-token-field/suggestions-list.d.ts +1 -1
  289. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  290. package/build-types/form-token-field/types.d.ts +15 -3
  291. package/build-types/form-token-field/types.d.ts.map +1 -1
  292. package/build-types/input-control/input-base.d.ts.map +1 -1
  293. package/build-types/input-control/reducer/actions.d.ts +3 -1
  294. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  295. package/build-types/input-control/reducer/reducer.d.ts +2 -2
  296. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  297. package/build-types/input-control/reducer/state.d.ts +2 -2
  298. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  299. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  300. package/build-types/placeholder/index.d.ts +16 -0
  301. package/build-types/placeholder/index.d.ts.map +1 -0
  302. package/build-types/placeholder/stories/index.d.ts +12 -0
  303. package/build-types/placeholder/stories/index.d.ts.map +1 -0
  304. package/build-types/placeholder/types.d.ts +47 -0
  305. package/build-types/placeholder/types.d.ts.map +1 -0
  306. package/build-types/popover/index.d.ts +1 -1
  307. package/build-types/popover/index.d.ts.map +1 -1
  308. package/build-types/popover/utils.d.ts +70 -0
  309. package/build-types/popover/utils.d.ts.map +1 -0
  310. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  311. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  312. package/build-types/style-provider/index.d.ts +7 -4
  313. package/build-types/style-provider/index.d.ts.map +1 -1
  314. package/build-types/style-provider/types.d.ts +15 -0
  315. package/build-types/style-provider/types.d.ts.map +1 -0
  316. package/build-types/swatch/index.d.ts +5 -0
  317. package/build-types/swatch/index.d.ts.map +1 -0
  318. package/build-types/swatch/types.d.ts +11 -0
  319. package/build-types/swatch/types.d.ts.map +1 -0
  320. package/build-types/text/hook.d.ts.map +1 -1
  321. package/build-types/tools-panel/styles.d.ts +1 -1
  322. package/build-types/tools-panel/styles.d.ts.map +1 -1
  323. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  324. package/build-types/ui/tooltip/styles.d.ts.map +1 -1
  325. package/build-types/unit-control/index.d.ts +1 -1
  326. package/build-types/unit-control/stories/index.d.ts.map +1 -1
  327. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  328. package/build-types/unit-control/types.d.ts +1 -7
  329. package/build-types/unit-control/types.d.ts.map +1 -1
  330. package/build-types/utils/base-label.d.ts +2 -0
  331. package/build-types/utils/base-label.d.ts.map +1 -0
  332. package/build-types/utils/box-sizing.d.ts +2 -0
  333. package/build-types/utils/box-sizing.d.ts.map +1 -0
  334. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  335. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  336. package/build-types/utils/style-mixins.d.ts +2 -0
  337. package/package.json +17 -17
  338. package/src/base-control/index.tsx +5 -3
  339. package/src/base-control/stories/index.tsx +1 -0
  340. package/src/base-control/styles/base-control-styles.ts +9 -5
  341. package/src/base-control/types.ts +0 -1
  342. package/src/border-control/styles.ts +2 -1
  343. package/src/box-control/all-input-control.js +3 -27
  344. package/src/box-control/index.js +5 -6
  345. package/src/box-control/styles/box-control-styles.js +1 -2
  346. package/src/box-control/utils.js +32 -0
  347. package/src/color-picker/styles.ts +3 -0
  348. package/src/combobox-control/README.md +7 -0
  349. package/src/combobox-control/index.js +14 -4
  350. package/src/combobox-control/stories/index.js +49 -5
  351. package/src/custom-gradient-picker/style.scss +0 -12
  352. package/src/custom-select-control/index.js +3 -2
  353. package/src/custom-select-control/style.scss +1 -5
  354. package/src/date-time/time/index.tsx +7 -5
  355. package/src/date-time/time/styles.ts +3 -6
  356. package/src/external-link/index.tsx +10 -0
  357. package/src/flex/flex/README.md +19 -13
  358. package/src/flex/flex/{component.js → component.tsx} +15 -10
  359. package/src/flex/flex/{hook.js → hook.ts} +14 -13
  360. package/src/flex/flex/{index.js → index.ts} +0 -0
  361. package/src/flex/flex-block/README.md +3 -3
  362. package/src/flex/flex-block/{component.js → component.tsx} +15 -10
  363. package/src/flex/flex-block/{hook.js → hook.ts} +5 -5
  364. package/src/flex/flex-block/{index.js → index.ts} +0 -0
  365. package/src/flex/flex-item/README.md +6 -5
  366. package/src/flex/flex-item/{component.js → component.tsx} +15 -10
  367. package/src/flex/flex-item/{hook.js → hook.ts} +10 -7
  368. package/src/flex/flex-item/{index.js → index.ts} +0 -0
  369. package/src/flex/{index.js → index.ts} +0 -0
  370. package/src/flex/stories/index.tsx +81 -0
  371. package/src/flex/{styles.js → styles.ts} +0 -0
  372. package/src/flex/test/__snapshots__/{index.js.snap → index.tsx.snap} +49 -9
  373. package/src/flex/test/index.tsx +84 -0
  374. package/src/flex/types.ts +15 -11
  375. package/src/focal-point-picker/styles/focal-point-picker-style.js +0 -5
  376. package/src/focal-point-picker/styles/focal-point-style.js +0 -1
  377. package/src/font-size-picker/index.js +18 -7
  378. package/src/font-size-picker/stories/index.js +6 -0
  379. package/src/form-token-field/README.md +2 -1
  380. package/src/form-token-field/index.tsx +5 -2
  381. package/src/form-token-field/stories/index.tsx +14 -0
  382. package/src/form-token-field/style.scss +0 -5
  383. package/src/form-token-field/suggestions-list.tsx +21 -12
  384. package/src/form-token-field/types.ts +16 -2
  385. package/src/index.js +4 -1
  386. package/src/input-control/input-base.tsx +0 -1
  387. package/src/input-control/reducer/actions.ts +3 -1
  388. package/src/input-control/reducer/reducer.ts +27 -10
  389. package/src/input-control/reducer/state.ts +7 -2
  390. package/src/input-control/styles/input-control-styles.tsx +3 -1
  391. package/src/input-control/test/index.js +20 -4
  392. package/src/mobile/global-styles-context/utils.native.js +21 -4
  393. package/src/mobile/image/index.native.js +27 -2
  394. package/src/mobile/link-picker/link-picker-screen.native.js +12 -4
  395. package/src/mobile/picker/index.ios.js +16 -0
  396. package/src/mobile/picker/styles.native.scss +8 -0
  397. package/src/panel/style.scss +4 -1
  398. package/src/placeholder/README.md +49 -9
  399. package/src/placeholder/{index.js → index.tsx} +27 -23
  400. package/src/placeholder/stories/index.tsx +64 -0
  401. package/src/placeholder/style.scss +0 -4
  402. package/src/placeholder/types.ts +48 -0
  403. package/src/popover/README.md +7 -0
  404. package/src/popover/index.js +144 -70
  405. package/src/popover/stories/index.js +199 -98
  406. package/src/popover/style.scss +60 -6
  407. package/src/popover/test/index.js +23 -1
  408. package/src/range-control/styles/range-control-styles.ts +0 -12
  409. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  410. package/src/select-control/styles/select-control-styles.ts +0 -1
  411. package/src/style-provider/index.tsx +41 -0
  412. package/src/style-provider/types.ts +15 -0
  413. package/src/swatch/{index.js → index.tsx} +4 -1
  414. package/src/swatch/types.ts +11 -0
  415. package/src/text/hook.js +5 -3
  416. package/src/toggle-group-control/test/__snapshots__/index.js.snap +24 -0
  417. package/src/tools-panel/styles.ts +7 -16
  418. package/src/tools-panel/test/__snapshots__/index.js.snap +2 -11
  419. package/src/tools-panel/tools-panel/hook.ts +6 -1
  420. package/src/ui/tooltip/styles.js +1 -0
  421. package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -0
  422. package/src/unit-control/stories/index.tsx +16 -23
  423. package/src/unit-control/styles/unit-control-styles.ts +93 -41
  424. package/src/unit-control/types.ts +1 -7
  425. package/src/utils/base-label.ts +13 -0
  426. package/src/utils/box-sizing.ts +14 -0
  427. package/src/utils/style-mixins.js +2 -0
  428. package/tsconfig.json +2 -0
  429. package/tsconfig.tsbuildinfo +1 -1
  430. package/src/flex/stories/index.js +0 -29
  431. package/src/flex/test/index.js +0 -77
  432. package/src/placeholder/stories/index.js +0 -44
  433. package/src/popover/stories/_utils.js +0 -64
  434. package/src/style-provider/index.js +0 -31
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/input-control/styles/input-control-styles.tsx"],"names":["rootFocusedStyles","isFocused","rootLabelPositionStyles","labelPosition","Root","Flex","containerDisabledStyles","disabled","backgroundColor","COLORS","ui","backgroundDisabled","background","containerMarginStyles","hideLabel","containerWidthStyles","__unstableInputWidth","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","default","small","fontSize","fontSizeMobile","css","getSizeConfig","__next36pxDefaultSize","height","lineHeight","minHeight","paddingLeft","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","gray","labelMargin","marginBottom","marginTop","marginRight","marginLeft","BaseLabel","Text","Label","LabelWrapper","FlexItem","backdropFocusedStyles","borderColor","borderFocus","border","boxShadow","borderDisabled","borderStyle","borderWidth","BackdropUI","Prefix","Suffix"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { css, SerializedStyles } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport type { CSSProperties, ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { Flex, FlexItem } from '../../flex';\nimport { Text } from '../../text';\nimport { COLORS, rtl } from '../../utils';\nimport type { LabelPosition, Size } from '../types';\nimport { space } from '../../ui/utils/space';\n\ntype ContainerProps = {\n\tdisabled?: boolean;\n\thideLabel?: boolean;\n\t__unstableInputWidth?: CSSProperties[ 'width' ];\n\tlabelPosition?: LabelPosition;\n};\n\ntype RootProps = {\n\tisFocused?: boolean;\n\tlabelPosition?: LabelPosition;\n};\n\nconst rootFocusedStyles = ( { isFocused }: RootProps ) => {\n\tif ( ! isFocused ) return '';\n\n\treturn css( { zIndex: 1 } );\n};\n\nconst rootLabelPositionStyles = ( { labelPosition }: RootProps ) => {\n\tswitch ( labelPosition ) {\n\t\tcase 'top':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column;\n\t\t\t`;\n\t\tcase 'bottom':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t`;\n\t\tcase 'edge':\n\t\t\treturn css`\n\t\t\t\tjustify-content: space-between;\n\t\t\t`;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nexport const Root = styled( Flex )< RootProps >`\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\t${ rootFocusedStyles }\n\t${ rootLabelPositionStyles }\n`;\n\nconst containerDisabledStyles = ( { disabled }: ContainerProps ) => {\n\tconst backgroundColor = disabled\n\t\t? COLORS.ui.backgroundDisabled\n\t\t: COLORS.ui.background;\n\n\treturn css( { backgroundColor } );\n};\n\n// Normalizes the margins from the <Flex /> (components/ui/flex/) container.\nconst containerMarginStyles = ( { hideLabel }: ContainerProps ) => {\n\treturn hideLabel ? css( { margin: '0 !important' } ) : null;\n};\n\nconst containerWidthStyles = ( {\n\t__unstableInputWidth,\n\tlabelPosition,\n}: ContainerProps ) => {\n\tif ( ! __unstableInputWidth ) return css( { width: '100%' } );\n\n\tif ( labelPosition === 'side' ) return '';\n\n\tif ( labelPosition === 'edge' ) {\n\t\treturn css( {\n\t\t\tflex: `0 0 ${ __unstableInputWidth }`,\n\t\t} );\n\t}\n\n\treturn css( { width: __unstableInputWidth } );\n};\n\nexport const Container = styled.div< ContainerProps >`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tborder-radius: inherit;\n\tdisplay: flex;\n\tflex: 1;\n\tposition: relative;\n\n\t${ containerDisabledStyles }\n\t${ containerMarginStyles }\n\t${ containerWidthStyles }\n`;\n\ntype InputProps = {\n\t__next36pxDefaultSize?: boolean;\n\tdisabled?: boolean;\n\tinputSize?: Size;\n\tisDragging?: boolean;\n\tdragCursor?: CSSProperties[ 'cursor' ];\n\tpaddingInlineStart?: CSSProperties[ 'paddingInlineStart' ];\n\tpaddingInlineEnd?: CSSProperties[ 'paddingInlineEnd' ];\n};\n\nconst disabledStyles = ( { disabled }: InputProps ) => {\n\tif ( ! disabled ) return '';\n\n\treturn css( {\n\t\tcolor: COLORS.ui.textDisabled,\n\t} );\n};\n\nconst fontSizeStyles = ( { inputSize: size }: InputProps ) => {\n\tconst sizes = {\n\t\tdefault: '13px',\n\t\tsmall: '11px',\n\t\t'__unstable-large': '13px',\n\t};\n\n\tconst fontSize = sizes[ size as Size ] || sizes.default;\n\tconst fontSizeMobile = '16px';\n\n\tif ( ! fontSize ) return '';\n\n\treturn css`\n\t\tfont-size: ${ fontSizeMobile };\n\n\t\t@media ( min-width: 600px ) {\n\t\t\tfont-size: ${ fontSize };\n\t\t}\n\t`;\n};\n\nexport const getSizeConfig = ( {\n\tinputSize: size,\n\t__next36pxDefaultSize,\n}: InputProps ) => {\n\t// Paddings may be overridden by the custom paddings props.\n\tconst sizes = {\n\t\tdefault: {\n\t\t\theight: 36,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 36,\n\t\t\tpaddingLeft: space( 4 ),\n\t\t\tpaddingRight: space( 4 ),\n\t\t},\n\t\tsmall: {\n\t\t\theight: 24,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 24,\n\t\t\tpaddingLeft: space( 2 ),\n\t\t\tpaddingRight: space( 2 ),\n\t\t},\n\t\t'__unstable-large': {\n\t\t\theight: 40,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 40,\n\t\t\tpaddingLeft: space( 4 ),\n\t\t\tpaddingRight: space( 4 ),\n\t\t},\n\t};\n\n\tif ( ! __next36pxDefaultSize ) {\n\t\tsizes.default = {\n\t\t\theight: 30,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 30,\n\t\t\tpaddingLeft: space( 2 ),\n\t\t\tpaddingRight: space( 2 ),\n\t\t};\n\t}\n\n\treturn sizes[ size as Size ] || sizes.default;\n};\n\nconst sizeStyles = ( props: InputProps ) => {\n\treturn css( getSizeConfig( props ) );\n};\n\nconst customPaddings = ( {\n\tpaddingInlineStart,\n\tpaddingInlineEnd,\n}: InputProps ) => {\n\treturn css( { paddingInlineStart, paddingInlineEnd } );\n};\n\nconst dragStyles = ( { isDragging, dragCursor }: InputProps ) => {\n\tlet defaultArrowStyles: SerializedStyles | undefined;\n\tlet activeDragCursorStyles: SerializedStyles | undefined;\n\n\tif ( isDragging ) {\n\t\tdefaultArrowStyles = css`\n\t\t\tcursor: ${ dragCursor };\n\t\t\tuser-select: none;\n\n\t\t\t&::-webkit-outer-spin-button,\n\t\t\t&::-webkit-inner-spin-button {\n\t\t\t\t-webkit-appearance: none !important;\n\t\t\t\tmargin: 0 !important;\n\t\t\t}\n\t\t`;\n\t}\n\n\tif ( isDragging && dragCursor ) {\n\t\tactiveDragCursorStyles = css`\n\t\t\t&:active {\n\t\t\t\tcursor: ${ dragCursor };\n\t\t\t}\n\t\t`;\n\t}\n\n\treturn css`\n\t\t${ defaultArrowStyles }\n\t\t${ activeDragCursorStyles }\n\t`;\n};\n\n// TODO: Resolve need to use &&& to increase specificity\n// https://github.com/WordPress/gutenberg/issues/18483\n\nexport const Input = styled.input< InputProps >`\n\t&&& {\n\t\tbackground-color: transparent;\n\t\tbox-sizing: border-box;\n\t\tborder: none;\n\t\tbox-shadow: none !important;\n\t\tcolor: ${ COLORS.gray[ 900 ] };\n\t\tdisplay: block;\n\t\tfont-family: inherit;\n\t\tmargin: 0;\n\t\toutline: none;\n\t\twidth: 100%;\n\n\t\t${ dragStyles }\n\t\t${ disabledStyles }\n\t\t${ fontSizeStyles }\n\t\t${ sizeStyles }\n\t\t${ customPaddings }\n\n\t\t&::-webkit-input-placeholder {\n\t\t\tline-height: normal;\n\t\t}\n\t}\n`;\n\nconst labelMargin = ( {\n\tlabelPosition,\n}: {\n\tlabelPosition?: LabelPosition;\n} ) => {\n\tlet marginBottom = 8;\n\n\tif ( labelPosition === 'edge' || labelPosition === 'side' ) {\n\t\tmarginBottom = 0;\n\t}\n\n\treturn css( { marginTop: 0, marginRight: 0, marginBottom, marginLeft: 0 } );\n};\n\nconst BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tdisplay: block;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t\tmax-width: 100%;\n\t\tz-index: 1;\n\n\t\t${ labelMargin }\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n`;\n\nexport const Label = (\n\tprops: WordPressComponentProps<\n\t\t{ labelPosition?: LabelPosition; children: ReactNode },\n\t\t'label',\n\t\tfalse\n\t>\n) => <BaseLabel { ...props } as=\"label\" />;\n\nexport const LabelWrapper = styled( FlexItem )`\n\tmax-width: calc( 100% - 10px );\n`;\n\ntype BackdropProps = {\n\tdisabled?: boolean;\n\tisFocused?: boolean;\n};\n\nconst backdropFocusedStyles = ( {\n\tdisabled,\n\tisFocused,\n}: BackdropProps ): SerializedStyles => {\n\tlet borderColor = isFocused ? COLORS.ui.borderFocus : COLORS.ui.border;\n\n\tlet boxShadow;\n\n\tif ( isFocused ) {\n\t\tboxShadow = `0 0 0 1px ${ COLORS.ui.borderFocus } inset`;\n\t}\n\n\tif ( disabled ) {\n\t\tborderColor = COLORS.ui.borderDisabled;\n\t}\n\n\treturn css( {\n\t\tboxShadow,\n\t\tborderColor,\n\t\tborderStyle: 'solid',\n\t\tborderWidth: 1,\n\t} );\n};\n\nexport const BackdropUI = styled.div< BackdropProps >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tborder-radius: inherit;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\n\t\t${ backdropFocusedStyles }\n\t\t${ rtl( { paddingLeft: 2 } ) }\n\t}\n`;\n\nexport const Prefix = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n`;\n\nexport const Suffix = styled.span`\n\talign-items: center;\n\talign-self: stretch;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/input-control/styles/input-control-styles.tsx"],"names":["rootFocusedStyles","isFocused","rootLabelPositionStyles","labelPosition","Root","Flex","containerDisabledStyles","disabled","backgroundColor","COLORS","ui","backgroundDisabled","background","containerMarginStyles","hideLabel","containerWidthStyles","__unstableInputWidth","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","default","small","fontSize","fontSizeMobile","css","getSizeConfig","__next36pxDefaultSize","height","lineHeight","minHeight","paddingLeft","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","gray","labelMargin","marginBottom","marginTop","marginRight","marginLeft","BaseLabel","Text","baseLabelTypography","Label","LabelWrapper","FlexItem","backdropFocusedStyles","borderColor","borderFocus","border","boxShadow","borderDisabled","borderStyle","borderWidth","BackdropUI","Prefix","Suffix"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { css, SerializedStyles } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport type { CSSProperties, ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { Flex, FlexItem } from '../../flex';\nimport { Text } from '../../text';\nimport { baseLabelTypography, COLORS, rtl } from '../../utils';\nimport type { LabelPosition, Size } from '../types';\nimport { space } from '../../ui/utils/space';\n\ntype ContainerProps = {\n\tdisabled?: boolean;\n\thideLabel?: boolean;\n\t__unstableInputWidth?: CSSProperties[ 'width' ];\n\tlabelPosition?: LabelPosition;\n};\n\ntype RootProps = {\n\tisFocused?: boolean;\n\tlabelPosition?: LabelPosition;\n};\n\nconst rootFocusedStyles = ( { isFocused }: RootProps ) => {\n\tif ( ! isFocused ) return '';\n\n\treturn css( { zIndex: 1 } );\n};\n\nconst rootLabelPositionStyles = ( { labelPosition }: RootProps ) => {\n\tswitch ( labelPosition ) {\n\t\tcase 'top':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column;\n\t\t\t`;\n\t\tcase 'bottom':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t`;\n\t\tcase 'edge':\n\t\t\treturn css`\n\t\t\t\tjustify-content: space-between;\n\t\t\t`;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nexport const Root = styled( Flex )< RootProps >`\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\t${ rootFocusedStyles }\n\t${ rootLabelPositionStyles }\n`;\n\nconst containerDisabledStyles = ( { disabled }: ContainerProps ) => {\n\tconst backgroundColor = disabled\n\t\t? COLORS.ui.backgroundDisabled\n\t\t: COLORS.ui.background;\n\n\treturn css( { backgroundColor } );\n};\n\n// Normalizes the margins from the <Flex /> (components/ui/flex/) container.\nconst containerMarginStyles = ( { hideLabel }: ContainerProps ) => {\n\treturn hideLabel ? css( { margin: '0 !important' } ) : null;\n};\n\nconst containerWidthStyles = ( {\n\t__unstableInputWidth,\n\tlabelPosition,\n}: ContainerProps ) => {\n\tif ( ! __unstableInputWidth ) return css( { width: '100%' } );\n\n\tif ( labelPosition === 'side' ) return '';\n\n\tif ( labelPosition === 'edge' ) {\n\t\treturn css( {\n\t\t\tflex: `0 0 ${ __unstableInputWidth }`,\n\t\t} );\n\t}\n\n\treturn css( { width: __unstableInputWidth } );\n};\n\nexport const Container = styled.div< ContainerProps >`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tborder-radius: inherit;\n\tdisplay: flex;\n\tflex: 1;\n\tposition: relative;\n\n\t${ containerDisabledStyles }\n\t${ containerMarginStyles }\n\t${ containerWidthStyles }\n`;\n\ntype InputProps = {\n\t__next36pxDefaultSize?: boolean;\n\tdisabled?: boolean;\n\tinputSize?: Size;\n\tisDragging?: boolean;\n\tdragCursor?: CSSProperties[ 'cursor' ];\n\tpaddingInlineStart?: CSSProperties[ 'paddingInlineStart' ];\n\tpaddingInlineEnd?: CSSProperties[ 'paddingInlineEnd' ];\n};\n\nconst disabledStyles = ( { disabled }: InputProps ) => {\n\tif ( ! disabled ) return '';\n\n\treturn css( {\n\t\tcolor: COLORS.ui.textDisabled,\n\t} );\n};\n\nconst fontSizeStyles = ( { inputSize: size }: InputProps ) => {\n\tconst sizes = {\n\t\tdefault: '13px',\n\t\tsmall: '11px',\n\t\t'__unstable-large': '13px',\n\t};\n\n\tconst fontSize = sizes[ size as Size ] || sizes.default;\n\tconst fontSizeMobile = '16px';\n\n\tif ( ! fontSize ) return '';\n\n\treturn css`\n\t\tfont-size: ${ fontSizeMobile };\n\n\t\t@media ( min-width: 600px ) {\n\t\t\tfont-size: ${ fontSize };\n\t\t}\n\t`;\n};\n\nexport const getSizeConfig = ( {\n\tinputSize: size,\n\t__next36pxDefaultSize,\n}: InputProps ) => {\n\t// Paddings may be overridden by the custom paddings props.\n\tconst sizes = {\n\t\tdefault: {\n\t\t\theight: 36,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 36,\n\t\t\tpaddingLeft: space( 4 ),\n\t\t\tpaddingRight: space( 4 ),\n\t\t},\n\t\tsmall: {\n\t\t\theight: 24,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 24,\n\t\t\tpaddingLeft: space( 2 ),\n\t\t\tpaddingRight: space( 2 ),\n\t\t},\n\t\t'__unstable-large': {\n\t\t\theight: 40,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 40,\n\t\t\tpaddingLeft: space( 4 ),\n\t\t\tpaddingRight: space( 4 ),\n\t\t},\n\t};\n\n\tif ( ! __next36pxDefaultSize ) {\n\t\tsizes.default = {\n\t\t\theight: 30,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 30,\n\t\t\tpaddingLeft: space( 2 ),\n\t\t\tpaddingRight: space( 2 ),\n\t\t};\n\t}\n\n\treturn sizes[ size as Size ] || sizes.default;\n};\n\nconst sizeStyles = ( props: InputProps ) => {\n\treturn css( getSizeConfig( props ) );\n};\n\nconst customPaddings = ( {\n\tpaddingInlineStart,\n\tpaddingInlineEnd,\n}: InputProps ) => {\n\treturn css( { paddingInlineStart, paddingInlineEnd } );\n};\n\nconst dragStyles = ( { isDragging, dragCursor }: InputProps ) => {\n\tlet defaultArrowStyles: SerializedStyles | undefined;\n\tlet activeDragCursorStyles: SerializedStyles | undefined;\n\n\tif ( isDragging ) {\n\t\tdefaultArrowStyles = css`\n\t\t\tcursor: ${ dragCursor };\n\t\t\tuser-select: none;\n\n\t\t\t&::-webkit-outer-spin-button,\n\t\t\t&::-webkit-inner-spin-button {\n\t\t\t\t-webkit-appearance: none !important;\n\t\t\t\tmargin: 0 !important;\n\t\t\t}\n\t\t`;\n\t}\n\n\tif ( isDragging && dragCursor ) {\n\t\tactiveDragCursorStyles = css`\n\t\t\t&:active {\n\t\t\t\tcursor: ${ dragCursor };\n\t\t\t}\n\t\t`;\n\t}\n\n\treturn css`\n\t\t${ defaultArrowStyles }\n\t\t${ activeDragCursorStyles }\n\t`;\n};\n\n// TODO: Resolve need to use &&& to increase specificity\n// https://github.com/WordPress/gutenberg/issues/18483\n\nexport const Input = styled.input< InputProps >`\n\t&&& {\n\t\tbackground-color: transparent;\n\t\tbox-sizing: border-box;\n\t\tborder: none;\n\t\tbox-shadow: none !important;\n\t\tcolor: ${ COLORS.gray[ 900 ] };\n\t\tdisplay: block;\n\t\tfont-family: inherit;\n\t\tmargin: 0;\n\t\toutline: none;\n\t\twidth: 100%;\n\n\t\t${ dragStyles }\n\t\t${ disabledStyles }\n\t\t${ fontSizeStyles }\n\t\t${ sizeStyles }\n\t\t${ customPaddings }\n\n\t\t&::-webkit-input-placeholder {\n\t\t\tline-height: normal;\n\t\t}\n\t}\n`;\n\nconst labelMargin = ( {\n\tlabelPosition,\n}: {\n\tlabelPosition?: LabelPosition;\n} ) => {\n\tlet marginBottom = 8;\n\n\tif ( labelPosition === 'edge' || labelPosition === 'side' ) {\n\t\tmarginBottom = 0;\n\t}\n\n\treturn css( { marginTop: 0, marginRight: 0, marginBottom, marginLeft: 0 } );\n};\n\nconst BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`\n\t&&& {\n\t\t${ baseLabelTypography };\n\n\t\tbox-sizing: border-box;\n\t\tdisplay: block;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t\tmax-width: 100%;\n\t\tz-index: 1;\n\n\t\t${ labelMargin }\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n`;\n\nexport const Label = (\n\tprops: WordPressComponentProps<\n\t\t{ labelPosition?: LabelPosition; children: ReactNode },\n\t\t'label',\n\t\tfalse\n\t>\n) => <BaseLabel { ...props } as=\"label\" />;\n\nexport const LabelWrapper = styled( FlexItem )`\n\tmax-width: calc( 100% - 10px );\n`;\n\ntype BackdropProps = {\n\tdisabled?: boolean;\n\tisFocused?: boolean;\n};\n\nconst backdropFocusedStyles = ( {\n\tdisabled,\n\tisFocused,\n}: BackdropProps ): SerializedStyles => {\n\tlet borderColor = isFocused ? COLORS.ui.borderFocus : COLORS.ui.border;\n\n\tlet boxShadow;\n\n\tif ( isFocused ) {\n\t\tboxShadow = `0 0 0 1px ${ COLORS.ui.borderFocus } inset`;\n\t}\n\n\tif ( disabled ) {\n\t\tborderColor = COLORS.ui.borderDisabled;\n\t}\n\n\treturn css( {\n\t\tboxShadow,\n\t\tborderColor,\n\t\tborderStyle: 'solid',\n\t\tborderWidth: 1,\n\t} );\n};\n\nexport const BackdropUI = styled.div< BackdropProps >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tborder-radius: inherit;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\n\t\t${ backdropFocusedStyles }\n\t\t${ rtl( { paddingLeft: 2 } ) }\n\t}\n`;\n\nexport const Prefix = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n`;\n\nexport const Suffix = styled.span`\n\talign-items: center;\n\talign-self: stretch;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n`;\n"]}
@@ -39,6 +39,7 @@ const BLOCK_STYLE_ATTRIBUTES_MAPPING = {
39
39
  const PADDING = 12; // $solid-border-space
40
40
 
41
41
  const UNKNOWN_VALUE = 'undefined';
42
+ const DEFAULT_FONT_SIZE = 16;
42
43
 
43
44
  function getBlockPaddings(mergedStyle, wrapperPropsStyle, blockStyleAttributes, blockColors) {
44
45
  const blockPaddings = {};
@@ -95,8 +96,10 @@ function getBlockColors(blockStyleAttributes, defaultColors, blockName, baseGlob
95
96
 
96
97
 
97
98
  Object.entries(blockStyleAttributes).forEach(_ref2 => {
99
+ var _value$startsWith;
100
+
98
101
  let [key, value] = _ref2;
99
- const isCustomColor = (0, _lodash.startsWith)(value, '#');
102
+ const isCustomColor = value === null || value === void 0 ? void 0 : (_value$startsWith = value.startsWith) === null || _value$startsWith === void 0 ? void 0 : _value$startsWith.call(value, '#');
100
103
  let styleKey = key;
101
104
 
102
105
  if (BLOCK_STYLE_ATTRIBUTES_MAPPING[styleKey]) {
@@ -179,7 +182,7 @@ function getBlockTypography(blockStyleAttributes, fontSizes, blockName, baseGlob
179
182
 
180
183
  function parseStylesVariables(styles, mappedValues, customValues) {
181
184
  let stylesBase = styles;
182
- const variables = ['preset', 'custom', 'var'];
185
+ const variables = ['preset', 'custom', 'var', 'fontSize'];
183
186
 
184
187
  if (!stylesBase) {
185
188
  return styles;
@@ -192,6 +195,7 @@ function parseStylesVariables(styles, mappedValues, customValues) {
192
195
  // var:preset|color|custom-color-2
193
196
  const regex = new RegExp(`var\\(--wp--${variable}--(.*?)\\)`, 'g');
194
197
  const varRegex = /\"var:preset\|color\|(.*?)\"/gm;
198
+ const fontSizeRegex = /"fontSize":"(.*?)"/gm;
195
199
 
196
200
  if (variable === 'preset') {
197
201
  stylesBase = stylesBase.replace(regex, (_$1, $2) => {
@@ -237,6 +241,22 @@ function parseStylesVariables(styles, mappedValues, customValues) {
237
241
  return UNKNOWN_VALUE;
238
242
  });
239
243
  }
244
+
245
+ if (variable === 'fontSize') {
246
+ const {
247
+ width,
248
+ height
249
+ } = _reactNative.Dimensions.get('window');
250
+
251
+ stylesBase = stylesBase.replace(fontSizeRegex, (_$1, $2) => {
252
+ const parsedFontSize = (0, _blockEditor.getPxFromCssUnit)($2, {
253
+ width,
254
+ height,
255
+ fontSize: DEFAULT_FONT_SIZE
256
+ }) || `${DEFAULT_FONT_SIZE}px`;
257
+ return `"fontSize":"${parsedFontSize}"`;
258
+ });
259
+ }
240
260
  });
241
261
  return JSON.parse(stylesBase);
242
262
  }
@@ -287,7 +307,7 @@ function normalizeFontSizes(fontSizes) {
287
307
  fontSizeObject.sizePx = (0, _blockEditor.getPxFromCssUnit)(fontSizeObject.size, {
288
308
  width: dimensions.width,
289
309
  height: dimensions.height,
290
- fontSize: 16
310
+ fontSize: DEFAULT_FONT_SIZE
291
311
  });
292
312
  return fontSizeObject;
293
313
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","Dimensions","get","map","fontSizeObject","sizePx","width","height","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","reduce","origin","concat","colorPalette","editorDefaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","stringify","globalStyles","customLineHeight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, startsWith, get, camelCase, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSetting,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = startsWith( value, '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = find( mappedValues.color?.values, {\n\t\t\t\t\t\tslug: $2,\n\t\t\t\t\t} );\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst editorDefaultPalette = useSetting( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","width","height","Dimensions","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","reduce","origin","concat","colorPalette","editorDefaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","stringify","globalStyles","customLineHeight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, get, camelCase, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSetting,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = find( mappedValues.color?.values, {\n\t\t\t\t\t\tslug: $2,\n\t\t\t\t\t} );\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst editorDefaultPalette = useSetting( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
@@ -81,6 +81,12 @@ const ImageComponent = _ref => {
81
81
  } = _ref;
82
82
  const [imageData, setImageData] = (0, _element.useState)(null);
83
83
  const [containerSize, setContainerSize] = (0, _element.useState)(null);
84
+ const [shouldUseFallback, setShouldUseFallback] = (0, _element.useState)(false);
85
+ const {
86
+ height: windowHeight,
87
+ width: windowWidth
88
+ } = (0, _reactNative.useWindowDimensions)();
89
+ const isLandscape = (0, _element.useRef)(windowWidth > windowHeight);
84
90
  const Image = !shouldUseFastImage ? _reactNative.Image : _reactNativeFastImage.default;
85
91
  const imageResizeMode = !shouldUseFastImage ? resizeMode : _reactNativeFastImage.default.resizeMode[resizeMode];
86
92
  (0, _element.useEffect)(() => {
@@ -106,7 +112,21 @@ const ImageComponent = _ref => {
106
112
  }
107
113
 
108
114
  return () => isCurrent = false;
109
- }, [url]);
115
+ }, [url]); // Workaround for Android where changing the orientation breaks FastImage
116
+ // for now if there's any orientation changes, it will use the fallback
117
+ // prop to use the default Image component.
118
+ // https://github.com/WordPress/gutenberg/issues/42869
119
+
120
+ (0, _element.useEffect)(() => {
121
+ if (_element.Platform.isAndroid && shouldUseFastImage) {
122
+ const isCurrentOrientationLandscape = windowWidth > windowHeight;
123
+
124
+ if (isLandscape.current !== isCurrentOrientationLandscape) {
125
+ setShouldUseFallback(true);
126
+ isLandscape.current = isCurrentOrientationLandscape;
127
+ }
128
+ }
129
+ }, [windowHeight, windowWidth]);
110
130
 
111
131
  const onContainerLayout = event => {
112
132
  const {
@@ -200,7 +220,8 @@ const ImageComponent = _ref => {
200
220
  }, !focalPoint && {
201
221
  resizeMethod: 'scale'
202
222
  }, {
203
- resizeMode: imageResizeMode
223
+ resizeMode: imageResizeMode,
224
+ fallback: shouldUseFallback
204
225
  }))), isUploadFailed && retryMessage && (0, _element.createElement)(_reactNative.View, {
205
226
  style: [_style.default.imageContainer, _style.default.retryContainer]
206
227
  }, (0, _element.createElement)(_reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","Image","RNImage","FastImage","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","SvgIconRetry","styles","iconRetry","iconPlaceholderStyles","iconUploadStyles","icon","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","opacity","undefined","container","alignItems","imageBorder","imageUploadingIconContainer","focalPointContent","uri","resizeMethod","imageContainer","retryContainer","customRetryIcon","uploadFailedText"],"mappings":";;;;;;;;;AAaA;;;;AAVA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAOA;AACA;AACA;AAMA,MAAMA,SAAS,GAAG;AACjBC,EAAAA,WAAW,EAAE,aADI;AAEjBC,EAAAA,KAAK,EAAE,OAFU;AAGjBC,EAAAA,MAAM,EAAE;AAHS,CAAlB;AAMO,MAAMC,yBAAyB,GAAG;AAAEC,EAAAA,CAAC,EAAE,GAAL;AAAUC,EAAAA,CAAC,EAAE;AAAb,CAAlC;;;AAEP,MAAMC,cAAc,GAAG,QAsBhB;AAAA;;AAAA,MAtBkB;AACxBC,IAAAA,KADwB;AAExBC,IAAAA,GAFwB;AAGxBC,IAAAA,UAAU,GAAG,IAHW;AAIxBC,IAAAA,UAJwB;AAKxBC,IAAAA,MAAM,EAAEC,WALgB;AAMxBC,IAAAA,iBAAiB,GAAG,IANI;AAOxBC,IAAAA,UAPwB;AAQxBC,IAAAA,kBARwB;AASxBC,IAAAA,cATwB;AAUxBC,IAAAA,kBAVwB;AAWxBC,IAAAA,kBAXwB;AAYxBC,IAAAA,eAZwB;AAaxBC,IAAAA,yBAbwB;AAcxBC,IAAAA,gBAdwB;AAexBC,IAAAA,UAfwB;AAgBxBC,IAAAA,YAhBwB;AAiBxBC,IAAAA,SAjBwB;AAkBxBC,IAAAA,GAlBwB;AAmBxBC,IAAAA,UAnBwB;AAoBxBC,IAAAA,KApBwB;AAqBxBC,IAAAA,KAAK,EAAEC;AArBiB,GAsBlB;AACN,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,IAAV,CAApC;AACA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsC,uBAAU,IAAV,CAA5C;AACA,QAAMC,KAAK,GAAG,CAAEnB,kBAAF,GAAuBoB,kBAAvB,GAAiCC,6BAA/C;AACA,QAAMC,eAAe,GAAG,CAAEtB,kBAAF,GACrBO,UADqB,GAErBc,8BAAUd,UAAV,CAAsBA,UAAtB,CAFH;AAIA,0BAAW,MAAM;AAChB,QAAIgB,SAAS,GAAG,IAAhB;;AACA,QAAKb,GAAL,EAAW;AACVU,yBAAQI,OAAR,CAAiBd,GAAjB,EAAsB,CAAEe,QAAF,EAAYC,SAAZ,KAA2B;AAChD,YAAK,CAAEH,SAAP,EAAmB;AAClB;AACA;;AACD,cAAMI,QAAQ,GAAG;AAChBC,UAAAA,WAAW,EAAEH,QAAQ,GAAGC,SADR;AAEhBb,UAAAA,KAAK,EAAEY,QAFS;AAGhB7B,UAAAA,MAAM,EAAE8B;AAHQ,SAAjB;AAKAV,QAAAA,YAAY,CAAEW,QAAF,CAAZ;;AACA,YAAKvB,eAAL,EAAuB;AACtBA,UAAAA,eAAe,CAAEuB,QAAF,CAAf;AACA;AACD,OAbD;AAcA;;AACD,WAAO,MAAQJ,SAAS,GAAG,KAA3B;AACA,GAnBD,EAmBG,CAAEb,GAAF,CAnBH;;AAqBA,QAAMmB,iBAAiB,GAAKC,KAAF,IAAa;AACtC,UAAM;AAAElC,MAAAA,MAAF;AAAUiB,MAAAA;AAAV,QAAoBiB,KAAK,CAACC,WAAN,CAAkBC,MAA5C;;AAEA,QACCnB,KAAK,KAAK,CAAV,IACAjB,MAAM,KAAK,CADX,KAEE,CAAAqB,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEJ,KAAf,MAAyBA,KAAzB,IACD,CAAAI,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAErB,MAAf,MAA0BA,MAH3B,CADD,EAKE;AACDsB,MAAAA,gBAAgB,CAAE;AAAEL,QAAAA,KAAF;AAASjB,QAAAA;AAAT,OAAF,CAAhB;AACA;AACD,GAXD;;AAaA,QAAMqC,OAAO,GAAKC,QAAF,IAAgB;AAC/B,QAAIC,SAAJ;;AACA,YAASD,QAAT;AACC,WAAKlD,SAAS,CAACE,KAAf;AACC,eACC,4BAAC,gBAAD;AACC,UAAA,IAAI,EAAGuB,SAAS,IAAI2B;AADrB,WAEMC,eAAOC,SAFb,EADD;;AAMD,WAAKtD,SAAS,CAACC,WAAf;AACCkD,QAAAA,SAAS,GAAGI,qBAAZ;AACA;;AACD,WAAKvD,SAAS,CAACG,MAAf;AACCgD,QAAAA,SAAS,GAAGK,gBAAZ;AACA;AAbF;;AAeA,WAAO,4BAAC,gBAAD;AAAM,MAAA,IAAI,EAAGC;AAAb,OAAyBN,SAAzB,EAAP;AACA,GAlBD;;AAoBA,QAAMI,qBAAqB,GAAG,2CAC7BF,eAAOK,eADsB,EAE7BL,eAAOM,mBAFsB,CAA9B;AAKA,QAAMH,gBAAgB,GAAG,2CACxBH,eAAOO,UADiB,EAExBP,eAAOQ,cAFiB,CAAzB;AAKA,QAAMC,iBAAiB,GAAG,CACzB,2CACCT,eAAOU,oBADR,EAECV,eAAOW,wBAFR,CADyB,EAKzBrD,UAAU,IAAI0C,eAAOY,kCALI,EAMzBpD,WAAW,IAAI;AAAED,IAAAA,MAAM,EAAEC;AAAV,GANU,CAA1B;AASA,QAAMqD,WAAW,GAChB,CAAAnC,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEF,KAAX,KAAmBI,aAAnB,aAAmBA,aAAnB,uBAAmBA,aAAa,CAAEJ,KAAlC,IACGE,SADH,aACGA,SADH,uBACGA,SAAS,CAAEF,KADd,mBAEGwB,eAAOc,IAFV,iDAEG,aAAatC,KAHjB;AAKA,QAAMuC,oBAAoB,GAAG,CAC5Bf,eAAOgB,YADqB,EAE5B;AACCxC,IAAAA,KAAK,EACJC,UAAU,uBAAKuB,eAAOc,IAAZ,kDAAK,cAAatC,KAAlB,CAAV,IACEE,SAAS,IACVD,UAAU,GAAG,CADZ,IAEDA,UAAU,IAAGG,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEJ,KAAlB,CAHX,GAIGC,UAJH,GAKGoC;AAPL,GAF4B,EAW5B3C,UAAU,IAAI;AAAEM,IAAAA,KAAK,mBAAEwB,eAAOc,IAAT,kDAAE,cAAatC;AAAtB,GAXc,EAY5BlB,UAAU,IAAI0C,eAAOiB,mBAZO,CAA7B;AAeA,QAAMC,WAAW,GAAG,CACnB;AACCC,IAAAA,OAAO,EAAEtD,kBAAkB,GAAG,GAAH,GAAS,CADrC;AAECN,IAAAA,MAAM,EAAEqB,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAErB;AAFxB,GADmB,EAKnB,CAAEW,UAAF,IAAgB;AACfqB,IAAAA,WAAW,EAAEb,SAAF,aAAEA,SAAF,uBAAEA,SAAS,CAAEa;AADT,GALG,EAQnBjC,UAAU,IAAI0C,eAAO1C,UARF,EASnBA,UAAU,IACT,yCACCA,UADD,EAECsB,aAFD,EAGCF,SAHD,CAVkB,EAenB,CAAEpB,UAAF,IACCoB,SADD,IAECE,aAFD,IAEkB;AAChBrB,IAAAA,MAAM,EACL,CAAAmB,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEF,KAAX,KAAmBI,aAAnB,aAAmBA,aAAnB,uBAAmBA,aAAa,CAAEJ,KAAlC,IACG,CAAAI,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEJ,KAAf,KAAuBE,SAAvB,aAAuBA,SAAvB,uBAAuBA,SAAS,CAAEa,WAAlC,CADH,GAEG6B;AAJY,GAjBC,EAuBnB5D,WAAW,IAAI;AAAED,IAAAA,MAAM,EAAEC;AAAV,GAvBI,EAwBnBc,UAxBmB,CAApB;AA2BA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACP0B,eAAOqB,SADA,EAEP;AACA;AACA;AACA3C,IAAAA,SAAS,IAAIvB,KAAb,IAAsB;AAAEmE,MAAAA,UAAU,EAAEnE;AAAd,KALf,EAMPoB,KANO,CADT;AASC,IAAA,QAAQ,EAAGiB;AATZ,KAWC,4BAAC,iBAAD;AACC,IAAA,UAAU,MADX;AAEC,IAAA,QAAQ,EAAG,CAAE9B,UAFd;AAGC,IAAA,kBAAkB,EAAGN,GAHtB;AAIC,IAAA,iBAAiB,EAAG,cAAI,6BAAJ,CAJrB;AAKC,IAAA,iBAAiB,EAAG,aALrB;AAMC,IAAA,GAAG,EAAGiB,GANP;AAOC,IAAA,KAAK,EAAG0C;AAPT,KASGrD,UAAU,IACXD,iBADC,IAED,EAAII,kBAAkB,IAAID,cAA1B,CAFC,IAGA,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACPoC,eAAOuB,WADA,EAEP;AAAEhE,MAAAA,MAAM,EAAEqB,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAErB;AAAzB,KAFO;AADT,IAZH,EAoBG,CAAEmB,SAAF,GACD,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAG+B;AAAd,KACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGT,eAAOwB;AAArB,KACG5B,OAAO,CAAEjD,SAAS,CAACG,MAAZ,CADV,CADD,CADC,GAOD,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGQ,UAAU,IAAI0C,eAAOyB;AAAnC,KACC,4BAAC,KAAD;AACC,IAAA,KAAK,EAAGP,WADT;AAEC,IAAA,MAAM,EAAG;AAAEQ,MAAAA,GAAG,EAAErD;AAAP;AAFV,KAGQ,CAAEf,UAAF,IAAgB;AACtBqE,IAAAA,YAAY,EAAE;AADQ,GAHxB;AAMC,IAAA,UAAU,EAAG1C;AANd,KADD,CA3BF,EAuCGrB,cAAc,IAAIO,YAAlB,IACD,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACP6B,eAAO4B,cADA,EAEP5B,eAAO6B,cAFA;AADT,KAMC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACP7B,eAAO5B,SADA,EAEPA,SAAS,IAAI4B,eAAO8B,eAFb;AADT,KAMGlC,OAAO,CAAEjD,SAAS,CAACE,KAAZ,CANV,CAND,EAcC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGmD,eAAO+B;AAArB,KACG5D,YADH,CAdD,CAxCF,CAXD,EAwEGd,UAAU,IAAIK,UAAd,IAA4B,CAAEG,kBAA9B,IACD,4BAAC,2BAAD;AACC,IAAA,yBAAyB,EAAGG,yBAD7B;AAEC,IAAA,gBAAgB,EAAGC,gBAFpB;AAGC,IAAA,GAAG,EAAG,CAAEL,cAAF,IAAoBc,SAApB,IAAiCL,GAHxC;AAIC,IAAA,aAAa,EAAGP;AAJjB,IAzEF,CADD;AAmFA,CAzOD;;eA2OeZ,c","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 { Icon } from '@wordpress/components';\nimport { image as icon } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState } 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';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nexport const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\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\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 Image = ! shouldUseFastImage ? RNImage : FastImage;\n\tconst imageResizeMode = ! shouldUseFastImage\n\t\t? resizeMode\n\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\t\t}\n\t\treturn () => ( isCurrent = false );\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 iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ retryIcon || SvgIconRetry }\n\t\t\t\t\t\t{ ...styles.iconRetry }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\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 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\topacity: isUploadInProgress ? 0.3 : 1,\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\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\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 &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! ( isUploadInProgress || isUploadFailed ) && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.imageBorder,\n\t\t\t\t\t\t\t\t{ height: containerSize?.height },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\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<Image\n\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\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 && 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\tstyles.retryContainer,\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\tstyles.retryIcon,\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{ getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ styles.uploadFailedText }>\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={ ! isUploadFailed && imageData && url }\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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","shouldUseFallback","setShouldUseFallback","windowHeight","windowWidth","isLandscape","Image","RNImage","FastImage","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","Platform","isAndroid","isCurrentOrientationLandscape","current","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","SvgIconRetry","styles","iconRetry","iconPlaceholderStyles","iconUploadStyles","icon","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","opacity","undefined","container","alignItems","imageBorder","imageUploadingIconContainer","focalPointContent","uri","resizeMethod","imageContainer","retryContainer","customRetryIcon","uploadFailedText"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tImage as RNImage,\n\tText,\n\tView,\n\tuseWindowDimensions,\n} from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image as icon } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, useRef, 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';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nexport const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\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\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 [ shouldUseFallback, setShouldUseFallback ] = useState( false );\n\tconst { height: windowHeight, width: windowWidth } = useWindowDimensions();\n\tconst isLandscape = useRef( windowWidth > windowHeight );\n\n\tconst Image = ! shouldUseFastImage ? RNImage : FastImage;\n\tconst imageResizeMode = ! shouldUseFastImage\n\t\t? resizeMode\n\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\t\t}\n\t\treturn () => ( isCurrent = false );\n\t}, [ url ] );\n\n\t// Workaround for Android where changing the orientation breaks FastImage\n\t// for now if there's any orientation changes, it will use the fallback\n\t// prop to use the default Image component.\n\t// https://github.com/WordPress/gutenberg/issues/42869\n\tuseEffect( () => {\n\t\tif ( Platform.isAndroid && shouldUseFastImage ) {\n\t\t\tconst isCurrentOrientationLandscape = windowWidth > windowHeight;\n\n\t\t\tif ( isLandscape.current !== isCurrentOrientationLandscape ) {\n\t\t\t\tsetShouldUseFallback( true );\n\t\t\t\tisLandscape.current = isCurrentOrientationLandscape;\n\t\t\t}\n\t\t}\n\t}, [ windowHeight, windowWidth ] );\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 iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ retryIcon || SvgIconRetry }\n\t\t\t\t\t\t{ ...styles.iconRetry }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\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 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\topacity: isUploadInProgress ? 0.3 : 1,\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\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\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 &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! ( isUploadInProgress || isUploadFailed ) && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.imageBorder,\n\t\t\t\t\t\t\t\t{ height: containerSize?.height },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\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<Image\n\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\tfallback={ shouldUseFallback }\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 && 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\tstyles.retryContainer,\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\tstyles.retryIcon,\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{ getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ styles.uploadFailedText }>\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={ ! isUploadFailed && imageData && url }\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"]}
@@ -11,8 +11,6 @@ var _reactNative = require("react-native");
11
11
 
12
12
  var _native = require("@react-navigation/native");
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _ = require("./");
17
15
 
18
16
  /**
@@ -32,6 +30,8 @@ const LinkPickerScreen = _ref => {
32
30
  } = _ref;
33
31
  const navigation = (0, _native.useNavigation)();
34
32
  const route = (0, _native.useRoute)();
33
+ const navigateToLinkTimeoutRef = (0, _element.useRef)(null);
34
+ const navigateBackTimeoutRef = (0, _element.useRef)(null);
35
35
 
36
36
  const onLinkPicked = _ref2 => {
37
37
  let {
@@ -41,7 +41,7 @@ const LinkPickerScreen = _ref => {
41
41
 
42
42
  _reactNative.Keyboard.dismiss();
43
43
 
44
- (0, _lodash.delay)(() => {
44
+ navigateToLinkTimeoutRef.current = setTimeout(() => {
45
45
  navigation.navigate(returnScreenName, {
46
46
  inputValue: url,
47
47
  text: title
@@ -52,11 +52,17 @@ const LinkPickerScreen = _ref => {
52
52
  const onCancel = () => {
53
53
  _reactNative.Keyboard.dismiss();
54
54
 
55
- (0, _lodash.delay)(() => {
55
+ navigateBackTimeoutRef.current = setTimeout(() => {
56
56
  navigation.goBack();
57
57
  }, 100);
58
58
  };
59
59
 
60
+ (0, _element.useEffect)(() => {
61
+ return () => {
62
+ clearTimeout(navigateToLinkTimeoutRef.current);
63
+ clearTimeout(navigateBackTimeoutRef.current);
64
+ };
65
+ }, []);
60
66
  const {
61
67
  inputValue
62
68
  } = route.params;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/link-picker-screen.native.js"],"names":["LinkPickerScreen","returnScreenName","navigation","route","onLinkPicked","url","title","Keyboard","dismiss","navigate","inputValue","text","onCancel","goBack","params"],"mappings":";;;;;;;AAUA;;AAPA;;AACA;;AACA;;AAUA;;AAfA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,gBAAgB,GAAG,QAA4B;AAAA,MAA1B;AAAEC,IAAAA;AAAF,GAA0B;AACpD,QAAMC,UAAU,GAAG,4BAAnB;AACA,QAAMC,KAAK,GAAG,uBAAd;;AAEA,QAAMC,YAAY,GAAG,SAAsB;AAAA,QAApB;AAAEC,MAAAA,GAAF;AAAOC,MAAAA;AAAP,KAAoB;;AAC1CC,0BAASC,OAAT;;AACA,uBAAO,MAAM;AACZN,MAAAA,UAAU,CAACO,QAAX,CAAqBR,gBAArB,EAAuC;AACtCS,QAAAA,UAAU,EAAEL,GAD0B;AAEtCM,QAAAA,IAAI,EAAEL;AAFgC,OAAvC;AAIA,KALD,EAKG,GALH;AAMA,GARD;;AAUA,QAAMM,QAAQ,GAAG,MAAM;AACtBL,0BAASC,OAAT;;AACA,uBAAO,MAAM;AACZN,MAAAA,UAAU,CAACW,MAAX;AACA,KAFD,EAEG,GAFH;AAGA,GALD;;AAOA,QAAM;AAAEH,IAAAA;AAAF,MAAiBP,KAAK,CAACW,MAA7B;AACA,SAAO,sBAAS,MAAM;AACrB,WACC,4BAAC,YAAD;AACC,MAAA,KAAK,EAAGJ,UADT;AAEC,MAAA,YAAY,EAAGN,YAFhB;AAGC,MAAA,QAAQ,EAAGQ;AAHZ,MADD;AAOA,GARM,EAQJ,CAAEF,UAAF,CARI,CAAP;AASA,CA/BD;;eAiCeV,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { Keyboard } from 'react-native';\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { delay } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } 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\n\tconst onLinkPicked = ( { url, title } ) => {\n\t\tKeyboard.dismiss();\n\t\tdelay( () => {\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\tdelay( () => {\n\t\t\tnavigation.goBack();\n\t\t}, 100 );\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}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/link-picker-screen.native.js"],"names":["LinkPickerScreen","returnScreenName","navigation","route","navigateToLinkTimeoutRef","navigateBackTimeoutRef","onLinkPicked","url","title","Keyboard","dismiss","current","setTimeout","navigate","inputValue","text","onCancel","goBack","clearTimeout","params"],"mappings":";;;;;;;AASA;;AANA;;AACA;;AAUA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,gBAAgB,GAAG,QAA4B;AAAA,MAA1B;AAAEC,IAAAA;AAAF,GAA0B;AACpD,QAAMC,UAAU,GAAG,4BAAnB;AACA,QAAMC,KAAK,GAAG,uBAAd;AACA,QAAMC,wBAAwB,GAAG,qBAAQ,IAAR,CAAjC;AACA,QAAMC,sBAAsB,GAAG,qBAAQ,IAAR,CAA/B;;AAEA,QAAMC,YAAY,GAAG,SAAsB;AAAA,QAApB;AAAEC,MAAAA,GAAF;AAAOC,MAAAA;AAAP,KAAoB;;AAC1CC,0BAASC,OAAT;;AACAN,IAAAA,wBAAwB,CAACO,OAAzB,GAAmCC,UAAU,CAAE,MAAM;AACpDV,MAAAA,UAAU,CAACW,QAAX,CAAqBZ,gBAArB,EAAuC;AACtCa,QAAAA,UAAU,EAAEP,GAD0B;AAEtCQ,QAAAA,IAAI,EAAEP;AAFgC,OAAvC;AAIA,KAL4C,EAK1C,GAL0C,CAA7C;AAMA,GARD;;AAUA,QAAMQ,QAAQ,GAAG,MAAM;AACtBP,0BAASC,OAAT;;AACAL,IAAAA,sBAAsB,CAACM,OAAvB,GAAiCC,UAAU,CAAE,MAAM;AAClDV,MAAAA,UAAU,CAACe,MAAX;AACA,KAF0C,EAExC,GAFwC,CAA3C;AAGA,GALD;;AAOA,0BAAW,MAAM;AAChB,WAAO,MAAM;AACZC,MAAAA,YAAY,CAAEd,wBAAwB,CAACO,OAA3B,CAAZ;AACAO,MAAAA,YAAY,CAAEb,sBAAsB,CAACM,OAAzB,CAAZ;AACA,KAHD;AAIA,GALD,EAKG,EALH;AAOA,QAAM;AAAEG,IAAAA;AAAF,MAAiBX,KAAK,CAACgB,MAA7B;AACA,SAAO,sBAAS,MAAM;AACrB,WACC,4BAAC,YAAD;AACC,MAAA,KAAK,EAAGL,UADT;AAEC,MAAA,YAAY,EAAGR,YAFhB;AAGC,MAAA,QAAQ,EAAGU;AAHZ,MADD;AAOA,GARM,EAQJ,CAAEF,UAAF,CARI,CAAP;AASA,CAxCD;;eA0Ced,gB","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}, [ inputValue ] );\n};\n\nexport default LinkPickerScreen;\n"]}
@@ -19,6 +19,10 @@ var _data = require("@wordpress/data");
19
19
 
20
20
  var _components = require("@wordpress/components");
21
21
 
22
+ var _compose = require("@wordpress/compose");
23
+
24
+ var _styles = _interopRequireDefault(require("./styles.scss"));
25
+
22
26
  /**
23
27
  * External dependencies
24
28
  */
@@ -26,6 +30,10 @@ var _components = require("@wordpress/components");
26
30
  /**
27
31
  * WordPress dependencies
28
32
  */
33
+
34
+ /**
35
+ * Internal dependencies
36
+ */
29
37
  class Picker extends _element.Component {
30
38
  presentPicker() {
31
39
  const {
@@ -37,7 +45,8 @@ class Picker extends _element.Component {
37
45
  getAnchor,
38
46
  isBottomSheetOpened,
39
47
  closeBottomSheet,
40
- onHandleClosingBottomSheet
48
+ onHandleClosingBottomSheet,
49
+ colorScheme
41
50
  } = this.props;
42
51
  const labels = options.map(_ref => {
43
52
  let {
@@ -46,6 +55,7 @@ class Picker extends _element.Component {
46
55
  return label;
47
56
  });
48
57
  const fullOptions = [(0, _i18n.__)('Cancel')].concat(labels);
58
+ const buttonTitleColor = colorScheme === 'light' ? _styles.default['components-picker__button-title'].color : _styles.default['components-picker__button-title--dark'].color;
49
59
 
50
60
  _reactNative.ActionSheetIOS.showActionSheetWithOptions({
51
61
  title,
@@ -53,7 +63,8 @@ class Picker extends _element.Component {
53
63
  cancelButtonIndex: 0,
54
64
  destructiveButtonIndex,
55
65
  disabledButtonIndices,
56
- anchor: getAnchor && getAnchor()
66
+ anchor: getAnchor && getAnchor(),
67
+ tintColor: buttonTitleColor
57
68
  }, buttonIndex => {
58
69
  if (buttonIndex === 0) {
59
70
  return;
@@ -86,12 +97,14 @@ const PickerComponent = (0, _element.forwardRef)((props, ref) => {
86
97
  const {
87
98
  onHandleClosingBottomSheet
88
99
  } = (0, _element.useContext)(_components.BottomSheetContext);
100
+ const colorScheme = (0, _compose.usePreferredColorScheme)();
89
101
  return (0, _element.createElement)(Picker, (0, _extends2.default)({
90
102
  ref: ref
91
103
  }, props, {
92
104
  isBottomSheetOpened: isBottomSheetOpened,
93
105
  closeBottomSheet: closeGeneralSidebar,
94
- onHandleClosingBottomSheet: onHandleClosingBottomSheet
106
+ onHandleClosingBottomSheet: onHandleClosingBottomSheet,
107
+ colorScheme: colorScheme
95
108
  }));
96
109
  });
97
110
  var _default = PickerComponent;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/picker/index.ios.js"],"names":["Picker","Component","presentPicker","options","onChange","title","destructiveButtonIndex","disabledButtonIndices","getAnchor","isBottomSheetOpened","closeBottomSheet","onHandleClosingBottomSheet","props","labels","map","label","fullOptions","concat","ActionSheetIOS","showActionSheetWithOptions","cancelButtonIndex","anchor","buttonIndex","selected","requiresModal","value","render","PickerComponent","ref","select","isEditorSidebarOpened","closeGeneralSidebar","BottomSheetContext"],"mappings":";;;;;;;;;AASA;;;;AANA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMA,MAAMA,MAAN,SAAqBC,kBAArB,CAA+B;AAC9BC,EAAAA,aAAa,GAAG;AACf,UAAM;AACLC,MAAAA,OADK;AAELC,MAAAA,QAFK;AAGLC,MAAAA,KAHK;AAILC,MAAAA,sBAJK;AAKLC,MAAAA,qBALK;AAMLC,MAAAA,SANK;AAOLC,MAAAA,mBAPK;AAQLC,MAAAA,gBARK;AASLC,MAAAA;AATK,QAUF,KAAKC,KAVT;AAWA,UAAMC,MAAM,GAAGV,OAAO,CAACW,GAAR,CAAa;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAiBA,KAAjB;AAAA,KAAb,CAAf;AACA,UAAMC,WAAW,GAAG,CAAE,cAAI,QAAJ,CAAF,EAAmBC,MAAnB,CAA2BJ,MAA3B,CAApB;;AAEAK,gCAAeC,0BAAf,CACC;AACCd,MAAAA,KADD;AAECF,MAAAA,OAAO,EAAEa,WAFV;AAGCI,MAAAA,iBAAiB,EAAE,CAHpB;AAICd,MAAAA,sBAJD;AAKCC,MAAAA,qBALD;AAMCc,MAAAA,MAAM,EAAEb,SAAS,IAAIA,SAAS;AAN/B,KADD,EASGc,WAAF,IAAmB;AAClB,UAAKA,WAAW,KAAK,CAArB,EAAyB;AACxB;AACA;;AACD,YAAMC,QAAQ,GAAGpB,OAAO,CAAEmB,WAAW,GAAG,CAAhB,CAAxB;;AAEA,UAAKC,QAAQ,CAACC,aAAT,IAA0Bf,mBAA/B,EAAqD;AACpDE,QAAAA,0BAA0B,CAAE,MAAM;AACjCP,UAAAA,QAAQ,CAAEmB,QAAQ,CAACE,KAAX,CAAR;AACA,SAFyB,CAA1B;AAGAf,QAAAA,gBAAgB;AAChB,OALD,MAKO;AACNN,QAAAA,QAAQ,CAAEmB,QAAQ,CAACE,KAAX,CAAR;AACA;AACD,KAvBF;AAyBA;;AAEDC,EAAAA,MAAM,GAAG;AACR,WAAO,IAAP;AACA;;AA7C6B;;AAgD/B,MAAMC,eAAe,GAAG,yBAAY,CAAEf,KAAF,EAASgB,GAAT,KAAkB;AACrD,QAAMnB,mBAAmB,GAAG,qBAAaoB,MAAF,IACtCA,MAAM,CAAE,gBAAF,CAAN,CAA2BC,qBAA3B,EAD2B,CAA5B;AAGA,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAa,gBAAb,CAAhC;AACA,QAAM;AAAEpB,IAAAA;AAAF,MAAiC,yBAAYqB,8BAAZ,CAAvC;AAEA,SACC,4BAAC,MAAD;AACC,IAAA,GAAG,EAAGJ;AADP,KAEMhB,KAFN;AAGC,IAAA,mBAAmB,EAAGH,mBAHvB;AAIC,IAAA,gBAAgB,EAAGsB,mBAJpB;AAKC,IAAA,0BAA0B,EAAGpB;AAL9B,KADD;AASA,CAhBuB,CAAxB;eAkBegB,e","sourcesContent":["/**\n * External dependencies\n */\nimport { ActionSheetIOS } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, forwardRef, useContext } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { BottomSheetContext } from '@wordpress/components';\n\nclass Picker extends Component {\n\tpresentPicker() {\n\t\tconst {\n\t\t\toptions,\n\t\t\tonChange,\n\t\t\ttitle,\n\t\t\tdestructiveButtonIndex,\n\t\t\tdisabledButtonIndices,\n\t\t\tgetAnchor,\n\t\t\tisBottomSheetOpened,\n\t\t\tcloseBottomSheet,\n\t\t\tonHandleClosingBottomSheet,\n\t\t} = this.props;\n\t\tconst labels = options.map( ( { label } ) => label );\n\t\tconst fullOptions = [ __( 'Cancel' ) ].concat( labels );\n\n\t\tActionSheetIOS.showActionSheetWithOptions(\n\t\t\t{\n\t\t\t\ttitle,\n\t\t\t\toptions: fullOptions,\n\t\t\t\tcancelButtonIndex: 0,\n\t\t\t\tdestructiveButtonIndex,\n\t\t\t\tdisabledButtonIndices,\n\t\t\t\tanchor: getAnchor && getAnchor(),\n\t\t\t},\n\t\t\t( buttonIndex ) => {\n\t\t\t\tif ( buttonIndex === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selected = options[ buttonIndex - 1 ];\n\n\t\t\t\tif ( selected.requiresModal && isBottomSheetOpened ) {\n\t\t\t\t\tonHandleClosingBottomSheet( () => {\n\t\t\t\t\t\tonChange( selected.value );\n\t\t\t\t\t} );\n\t\t\t\t\tcloseBottomSheet();\n\t\t\t\t} else {\n\t\t\t\t\tonChange( selected.value );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nconst PickerComponent = forwardRef( ( props, ref ) => {\n\tconst isBottomSheetOpened = useSelect( ( select ) =>\n\t\tselect( 'core/edit-post' ).isEditorSidebarOpened()\n\t);\n\tconst { closeGeneralSidebar } = useDispatch( 'core/edit-post' );\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\n\treturn (\n\t\t<Picker\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tisBottomSheetOpened={ isBottomSheetOpened }\n\t\t\tcloseBottomSheet={ closeGeneralSidebar }\n\t\t\tonHandleClosingBottomSheet={ onHandleClosingBottomSheet }\n\t\t/>\n\t);\n} );\n\nexport default PickerComponent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/picker/index.ios.js"],"names":["Picker","Component","presentPicker","options","onChange","title","destructiveButtonIndex","disabledButtonIndices","getAnchor","isBottomSheetOpened","closeBottomSheet","onHandleClosingBottomSheet","colorScheme","props","labels","map","label","fullOptions","concat","buttonTitleColor","styles","color","ActionSheetIOS","showActionSheetWithOptions","cancelButtonIndex","anchor","tintColor","buttonIndex","selected","requiresModal","value","render","PickerComponent","ref","select","isEditorSidebarOpened","closeGeneralSidebar","BottomSheetContext"],"mappings":";;;;;;;;;AASA;;;;AANA;;AAKA;;AAEA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,MAAN,SAAqBC,kBAArB,CAA+B;AAC9BC,EAAAA,aAAa,GAAG;AACf,UAAM;AACLC,MAAAA,OADK;AAELC,MAAAA,QAFK;AAGLC,MAAAA,KAHK;AAILC,MAAAA,sBAJK;AAKLC,MAAAA,qBALK;AAMLC,MAAAA,SANK;AAOLC,MAAAA,mBAPK;AAQLC,MAAAA,gBARK;AASLC,MAAAA,0BATK;AAULC,MAAAA;AAVK,QAWF,KAAKC,KAXT;AAYA,UAAMC,MAAM,GAAGX,OAAO,CAACY,GAAR,CAAa;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAiBA,KAAjB;AAAA,KAAb,CAAf;AACA,UAAMC,WAAW,GAAG,CAAE,cAAI,QAAJ,CAAF,EAAmBC,MAAnB,CAA2BJ,MAA3B,CAApB;AAEA,UAAMK,gBAAgB,GACrBP,WAAW,KAAK,OAAhB,GACGQ,gBAAQ,iCAAR,EAA4CC,KAD/C,GAEGD,gBAAQ,uCAAR,EAAkDC,KAHtD;;AAKAC,gCAAeC,0BAAf,CACC;AACClB,MAAAA,KADD;AAECF,MAAAA,OAAO,EAAEc,WAFV;AAGCO,MAAAA,iBAAiB,EAAE,CAHpB;AAIClB,MAAAA,sBAJD;AAKCC,MAAAA,qBALD;AAMCkB,MAAAA,MAAM,EAAEjB,SAAS,IAAIA,SAAS,EAN/B;AAOCkB,MAAAA,SAAS,EAAEP;AAPZ,KADD,EAUGQ,WAAF,IAAmB;AAClB,UAAKA,WAAW,KAAK,CAArB,EAAyB;AACxB;AACA;;AACD,YAAMC,QAAQ,GAAGzB,OAAO,CAAEwB,WAAW,GAAG,CAAhB,CAAxB;;AAEA,UAAKC,QAAQ,CAACC,aAAT,IAA0BpB,mBAA/B,EAAqD;AACpDE,QAAAA,0BAA0B,CAAE,MAAM;AACjCP,UAAAA,QAAQ,CAAEwB,QAAQ,CAACE,KAAX,CAAR;AACA,SAFyB,CAA1B;AAGApB,QAAAA,gBAAgB;AAChB,OALD,MAKO;AACNN,QAAAA,QAAQ,CAAEwB,QAAQ,CAACE,KAAX,CAAR;AACA;AACD,KAxBF;AA0BA;;AAEDC,EAAAA,MAAM,GAAG;AACR,WAAO,IAAP;AACA;;AApD6B;;AAuD/B,MAAMC,eAAe,GAAG,yBAAY,CAAEnB,KAAF,EAASoB,GAAT,KAAkB;AACrD,QAAMxB,mBAAmB,GAAG,qBAAayB,MAAF,IACtCA,MAAM,CAAE,gBAAF,CAAN,CAA2BC,qBAA3B,EAD2B,CAA5B;AAGA,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAa,gBAAb,CAAhC;AACA,QAAM;AAAEzB,IAAAA;AAAF,MAAiC,yBAAY0B,8BAAZ,CAAvC;AAEA,QAAMzB,WAAW,GAAG,uCAApB;AAEA,SACC,4BAAC,MAAD;AACC,IAAA,GAAG,EAAGqB;AADP,KAEMpB,KAFN;AAGC,IAAA,mBAAmB,EAAGJ,mBAHvB;AAIC,IAAA,gBAAgB,EAAG2B,mBAJpB;AAKC,IAAA,0BAA0B,EAAGzB,0BAL9B;AAMC,IAAA,WAAW,EAAGC;AANf,KADD;AAUA,CAnBuB,CAAxB;eAqBeoB,e","sourcesContent":["/**\n * External dependencies\n */\nimport { ActionSheetIOS } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, forwardRef, useContext } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { BottomSheetContext } from '@wordpress/components';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nclass Picker extends Component {\n\tpresentPicker() {\n\t\tconst {\n\t\t\toptions,\n\t\t\tonChange,\n\t\t\ttitle,\n\t\t\tdestructiveButtonIndex,\n\t\t\tdisabledButtonIndices,\n\t\t\tgetAnchor,\n\t\t\tisBottomSheetOpened,\n\t\t\tcloseBottomSheet,\n\t\t\tonHandleClosingBottomSheet,\n\t\t\tcolorScheme,\n\t\t} = this.props;\n\t\tconst labels = options.map( ( { label } ) => label );\n\t\tconst fullOptions = [ __( 'Cancel' ) ].concat( labels );\n\n\t\tconst buttonTitleColor =\n\t\t\tcolorScheme === 'light'\n\t\t\t\t? styles[ 'components-picker__button-title' ].color\n\t\t\t\t: styles[ 'components-picker__button-title--dark' ].color;\n\n\t\tActionSheetIOS.showActionSheetWithOptions(\n\t\t\t{\n\t\t\t\ttitle,\n\t\t\t\toptions: fullOptions,\n\t\t\t\tcancelButtonIndex: 0,\n\t\t\t\tdestructiveButtonIndex,\n\t\t\t\tdisabledButtonIndices,\n\t\t\t\tanchor: getAnchor && getAnchor(),\n\t\t\t\ttintColor: buttonTitleColor,\n\t\t\t},\n\t\t\t( buttonIndex ) => {\n\t\t\t\tif ( buttonIndex === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selected = options[ buttonIndex - 1 ];\n\n\t\t\t\tif ( selected.requiresModal && isBottomSheetOpened ) {\n\t\t\t\t\tonHandleClosingBottomSheet( () => {\n\t\t\t\t\t\tonChange( selected.value );\n\t\t\t\t\t} );\n\t\t\t\t\tcloseBottomSheet();\n\t\t\t\t} else {\n\t\t\t\t\tonChange( selected.value );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nconst PickerComponent = forwardRef( ( props, ref ) => {\n\tconst isBottomSheetOpened = useSelect( ( select ) =>\n\t\tselect( 'core/edit-post' ).isEditorSidebarOpened()\n\t);\n\tconst { closeGeneralSidebar } = useDispatch( 'core/edit-post' );\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\n\tconst colorScheme = usePreferredColorScheme();\n\n\treturn (\n\t\t<Picker\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tisBottomSheetOpened={ isBottomSheetOpened }\n\t\t\tcloseBottomSheet={ closeGeneralSidebar }\n\t\t\tonHandleClosingBottomSheet={ onHandleClosingBottomSheet }\n\t\t\tcolorScheme={ colorScheme }\n\t\t/>\n\t);\n} );\n\nexport default PickerComponent;\n"]}
@@ -5,6 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.Placeholder = Placeholder;
8
9
  exports.default = void 0;
9
10
 
10
11
  var _element = require("@wordpress/element");
@@ -43,22 +44,18 @@ const PlaceholderIllustration = (0, _element.createElement)(_primitives.SVG, {
43
44
  /**
44
45
  * Renders a placeholder. Normally used by blocks to render their empty state.
45
46
  *
46
- * @param {Object} props The component props.
47
- * @param {WPIcon} props.icon An icon rendered before the label.
48
- * @param {WPElement} props.children Children to be rendered.
49
- * @param {string} props.label Title of the placeholder.
50
- * @param {string} props.instructions Instructions of the placeholder.
51
- * @param {string} props.className Class to set on the container div.
52
- * @param {Object} props.notices A rendered notices list.
53
- * @param {Object} props.preview Preview to be rendered in the placeholder.
54
- * @param {boolean} props.isColumnLayout Whether a column layout should be used.
55
- * @param {boolean} props.withIllustration Whether to add an illustration to the placeholder.
47
+ * ```jsx
48
+ * import { Placeholder } from '@wordpress/components';
49
+ * import { more } from '@wordpress/icons';
56
50
  *
57
- * @return {Object} The rendered placeholder.
51
+ * const MyPlaceholder = () => <Placeholder icon={ more } label="Placeholder" />;
52
+ * ```
58
53
  */
59
54
 
60
- function Placeholder(_ref) {
61
- let {
55
+ function Placeholder( // ref is omitted until we have `WordPressComponentPropsWithoutRef` or add
56
+ // ref forwarding to Placeholder.
57
+ props) {
58
+ const {
62
59
  icon,
63
60
  children,
64
61
  label,
@@ -69,7 +66,7 @@ function Placeholder(_ref) {
69
66
  isColumnLayout,
70
67
  withIllustration,
71
68
  ...additionalProps
72
- } = _ref;
69
+ } = props;
73
70
  const [resizeListener, {
74
71
  width
75
72
  }] = (0, _compose.useResizeObserver)(); // Since `useResizeObserver` will report a width of `null` until after the