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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (944) hide show
  1. package/CHANGELOG.md +37 -4
  2. package/CONTRIBUTING.md +69 -2
  3. package/build/alignment-matrix-control/utils.js +1 -1
  4. package/build/alignment-matrix-control/utils.js.map +1 -1
  5. package/build/angle-picker-control/angle-circle.js +1 -1
  6. package/build/angle-picker-control/angle-circle.js.map +1 -1
  7. package/build/animation/index.js +0 -6
  8. package/build/animation/index.js.map +1 -1
  9. package/build/autocomplete/get-default-use-items.js +3 -3
  10. package/build/autocomplete/get-default-use-items.js.map +1 -1
  11. package/build/base-field/hook.js +1 -1
  12. package/build/base-field/hook.js.map +1 -1
  13. package/build/box-control/icon.js +1 -1
  14. package/build/box-control/icon.js.map +1 -1
  15. package/build/box-control/index.js +4 -4
  16. package/build/box-control/index.js.map +1 -1
  17. package/build/box-control/unit-control.js +2 -2
  18. package/build/box-control/unit-control.js.map +1 -1
  19. package/build/box-control/utils.js +12 -8
  20. package/build/box-control/utils.js.map +1 -1
  21. package/build/button/index.js +5 -5
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/index.native.js +7 -7
  24. package/build/button/index.native.js.map +1 -1
  25. package/build/card/card/component.js +2 -2
  26. package/build/card/card/component.js.map +1 -1
  27. package/build/card/card-body/component.js +1 -1
  28. package/build/card/card-body/component.js.map +1 -1
  29. package/build/card/card-divider/component.js +1 -1
  30. package/build/card/card-divider/component.js.map +1 -1
  31. package/build/card/card-footer/component.js +1 -1
  32. package/build/card/card-footer/component.js.map +1 -1
  33. package/build/card/card-header/component.js +1 -1
  34. package/build/card/card-header/component.js.map +1 -1
  35. package/build/card/card-media/component.js +1 -1
  36. package/build/card/card-media/component.js.map +1 -1
  37. package/build/color-palette/index.native.js +35 -30
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-picker/color-display.js +1 -1
  40. package/build/color-picker/color-display.js.map +1 -1
  41. package/build/color-picker/component.js.map +1 -1
  42. package/build/color-picker/hex-input.js +6 -9
  43. package/build/color-picker/hex-input.js.map +1 -1
  44. package/build/color-picker/styles.js +8 -8
  45. package/build/color-picker/styles.js.map +1 -1
  46. package/build/combobox-control/index.js +1 -1
  47. package/build/combobox-control/index.js.map +1 -1
  48. package/build/confirm-dialog/component.js +4 -2
  49. package/build/confirm-dialog/component.js.map +1 -1
  50. package/build/date-time/time.js +7 -4
  51. package/build/date-time/time.js.map +1 -1
  52. package/build/divider/component.js +5 -4
  53. package/build/divider/component.js.map +1 -1
  54. package/build/draggable/index.js +3 -3
  55. package/build/draggable/index.js.map +1 -1
  56. package/build/elevation/component.js +1 -1
  57. package/build/elevation/component.js.map +1 -1
  58. package/build/flex/flex/component.js +1 -1
  59. package/build/flex/flex/component.js.map +1 -1
  60. package/build/flex/flex-block/component.js +1 -1
  61. package/build/flex/flex-block/component.js.map +1 -1
  62. package/build/flex/flex-item/component.js +1 -1
  63. package/build/flex/flex-item/component.js.map +1 -1
  64. package/build/flyout/flyout/component.js +1 -1
  65. package/build/flyout/flyout/component.js.map +1 -1
  66. package/build/flyout/flyout-content/component.js +1 -1
  67. package/build/flyout/flyout-content/component.js.map +1 -1
  68. package/build/focal-point-picker/index.js +18 -12
  69. package/build/focal-point-picker/index.js.map +1 -1
  70. package/build/focal-point-picker/index.native.js +7 -7
  71. package/build/focal-point-picker/index.native.js.map +1 -1
  72. package/build/focal-point-picker/tooltip/index.native.js +1 -1
  73. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  74. package/build/font-size-picker/index.js +1 -2
  75. package/build/font-size-picker/index.js.map +1 -1
  76. package/build/form-token-field/index.js +6 -6
  77. package/build/form-token-field/index.js.map +1 -1
  78. package/build/form-token-field/suggestions-list.js +2 -2
  79. package/build/form-token-field/suggestions-list.js.map +1 -1
  80. package/build/grid/component.js +1 -1
  81. package/build/grid/component.js.map +1 -1
  82. package/build/h-stack/component.js +1 -1
  83. package/build/h-stack/component.js.map +1 -1
  84. package/build/heading/component.js +6 -5
  85. package/build/heading/component.js.map +1 -1
  86. package/build/heading/hook.js +1 -1
  87. package/build/heading/hook.js.map +1 -1
  88. package/build/higher-order/with-notices/index.js +1 -1
  89. package/build/higher-order/with-notices/index.js.map +1 -1
  90. package/build/index.js +14 -2
  91. package/build/index.js.map +1 -1
  92. package/build/index.native.js +15 -1
  93. package/build/index.native.js.map +1 -1
  94. package/build/input-control/index.js.map +1 -1
  95. package/build/input-control/input-base.js +1 -1
  96. package/build/input-control/input-base.js.map +1 -1
  97. package/build/input-control/input-field.js +19 -17
  98. package/build/input-control/input-field.js.map +1 -1
  99. package/build/input-control/reducer/reducer.js +3 -0
  100. package/build/input-control/reducer/reducer.js.map +1 -1
  101. package/build/input-control/styles/input-control-styles.js +25 -25
  102. package/build/input-control/styles/input-control-styles.js.map +1 -1
  103. package/build/isolated-event-container/index.js +1 -1
  104. package/build/isolated-event-container/index.js.map +1 -1
  105. package/build/item-group/item/component.js.map +1 -1
  106. package/build/item-group/item-group/component.js.map +1 -1
  107. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  108. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  109. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  110. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  111. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  112. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  113. package/build/mobile/bottom-sheet/cell.native.js +1 -1
  114. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  115. package/build/mobile/bottom-sheet/index.native.js +11 -11
  116. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  117. package/build/mobile/bottom-sheet/link-cell.native.js +1 -1
  118. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  119. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  120. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  121. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  122. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  123. package/build/mobile/color-settings/palette.screen.native.js +26 -9
  124. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  125. package/build/mobile/global-styles-context/utils.native.js +73 -19
  126. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  127. package/build/mobile/gradient/index.native.js +2 -2
  128. package/build/mobile/gradient/index.native.js.map +1 -1
  129. package/build/mobile/html-text-input/container.ios.js +3 -3
  130. package/build/mobile/html-text-input/container.ios.js.map +1 -1
  131. package/build/mobile/html-text-input/index.native.js +1 -1
  132. package/build/mobile/html-text-input/index.native.js.map +1 -1
  133. package/build/mobile/image/index.native.js +1 -1
  134. package/build/mobile/image/index.native.js.map +1 -1
  135. package/build/mobile/inserter-button/index.native.js +3 -3
  136. package/build/mobile/inserter-button/index.native.js.map +1 -1
  137. package/build/mobile/inserter-button/sparkles.js +25 -0
  138. package/build/mobile/inserter-button/sparkles.js.map +1 -0
  139. package/build/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  140. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  141. package/build/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  142. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  143. package/build/mobile/link-picker/index.native.js +3 -3
  144. package/build/mobile/link-picker/index.native.js.map +1 -1
  145. package/build/mobile/link-picker/link-picker-results.native.js +8 -8
  146. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  147. package/build/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  148. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  149. package/build/mobile/link-settings/index.native.js +1 -1
  150. package/build/mobile/link-settings/index.native.js.map +1 -1
  151. package/build/modal/aria-helper.js +1 -1
  152. package/build/modal/aria-helper.js.map +1 -1
  153. package/build/modal/index.js +2 -2
  154. package/build/modal/index.js.map +1 -1
  155. package/build/navigable-container/container.js +2 -2
  156. package/build/navigable-container/container.js.map +1 -1
  157. package/build/navigable-container/tabbable.js +1 -1
  158. package/build/navigable-container/tabbable.js.map +1 -1
  159. package/build/navigation/item/index.js +1 -1
  160. package/build/navigation/item/index.js.map +1 -1
  161. package/build/navigation/menu/index.js +1 -1
  162. package/build/navigation/menu/index.js.map +1 -1
  163. package/build/navigator/index.js +16 -0
  164. package/build/navigator/index.js.map +1 -1
  165. package/build/navigator/navigator-back-button/component.js +72 -0
  166. package/build/navigator/navigator-back-button/component.js.map +1 -0
  167. package/build/navigator/navigator-back-button/hook.js +49 -0
  168. package/build/navigator/navigator-back-button/hook.js.map +1 -0
  169. package/build/navigator/navigator-back-button/index.js +16 -0
  170. package/build/navigator/navigator-back-button/index.js.map +1 -0
  171. package/build/navigator/navigator-button/component.js +71 -0
  172. package/build/navigator/navigator-button/component.js.map +1 -0
  173. package/build/navigator/navigator-button/hook.js +59 -0
  174. package/build/navigator/navigator-button/hook.js.map +1 -0
  175. package/build/navigator/navigator-button/index.js +16 -0
  176. package/build/navigator/navigator-button/index.js.map +1 -0
  177. package/build/navigator/navigator-provider/component.js +12 -22
  178. package/build/navigator/navigator-provider/component.js.map +1 -1
  179. package/build/navigator/navigator-screen/component.js +14 -22
  180. package/build/navigator/navigator-screen/component.js.map +1 -1
  181. package/build/number-control/index.js +1 -1
  182. package/build/number-control/index.js.map +1 -1
  183. package/build/panel/body.js +2 -2
  184. package/build/panel/body.js.map +1 -1
  185. package/build/popover/index.js +3 -3
  186. package/build/popover/index.js.map +1 -1
  187. package/build/popover/utils.js +6 -6
  188. package/build/popover/utils.js.map +1 -1
  189. package/build/radio-group/index.js +1 -1
  190. package/build/radio-group/index.js.map +1 -1
  191. package/build/range-control/styles/range-control-styles.js +29 -29
  192. package/build/range-control/styles/range-control-styles.js.map +1 -1
  193. package/build/resizable-box/index.js.map +1 -1
  194. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  195. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  196. package/build/sandbox/index.js +5 -5
  197. package/build/sandbox/index.js.map +1 -1
  198. package/build/sandbox/index.native.js +1 -1
  199. package/build/sandbox/index.native.js.map +1 -1
  200. package/build/scrollable/component.js +1 -1
  201. package/build/scrollable/component.js.map +1 -1
  202. package/build/select-control/index.js +1 -1
  203. package/build/select-control/index.js.map +1 -1
  204. package/build/select-control/styles/select-control-styles.js +5 -5
  205. package/build/select-control/styles/select-control-styles.js.map +1 -1
  206. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  207. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  208. package/build/slot-fill/bubbles-virtually/slot.js +1 -1
  209. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  210. package/build/slot-fill/fill.js +1 -1
  211. package/build/slot-fill/fill.js.map +1 -1
  212. package/build/slot-fill/provider.js +1 -1
  213. package/build/slot-fill/provider.js.map +1 -1
  214. package/build/snackbar/index.js +1 -1
  215. package/build/snackbar/index.js.map +1 -1
  216. package/build/snackbar/list.js +1 -1
  217. package/build/snackbar/list.js.map +1 -1
  218. package/build/spacer/component.js.map +1 -1
  219. package/build/style-provider/index.js +2 -2
  220. package/build/style-provider/index.js.map +1 -1
  221. package/build/surface/component.js +1 -1
  222. package/build/surface/component.js.map +1 -1
  223. package/build/text/component.js +1 -1
  224. package/build/text/component.js.map +1 -1
  225. package/build/text-control/index.js +2 -2
  226. package/build/text-control/index.js.map +1 -1
  227. package/build/toggle-group-control/toggle-group-control/component.js +2 -2
  228. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  229. package/build/toggle-group-control/toggle-group-control-option/component.js +1 -4
  230. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  231. package/build/toggle-group-control/toggle-group-control-option/styles.js +12 -19
  232. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  233. package/build/toolbar/index.js +1 -1
  234. package/build/toolbar/index.js.map +1 -1
  235. package/build/tools-panel/tools-panel/component.js.map +1 -1
  236. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  237. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  238. package/build/tooltip/index.js +3 -3
  239. package/build/tooltip/index.js.map +1 -1
  240. package/build/tooltip/index.native.js +7 -7
  241. package/build/tooltip/index.native.js.map +1 -1
  242. package/build/tree-grid/index.js +54 -7
  243. package/build/tree-grid/index.js.map +1 -1
  244. package/build/truncate/component.js +1 -1
  245. package/build/truncate/component.js.map +1 -1
  246. package/build/truncate/utils.js +1 -1
  247. package/build/truncate/utils.js.map +1 -1
  248. package/build/ui/context/context-connect.js +8 -15
  249. package/build/ui/context/context-connect.js.map +1 -1
  250. package/build/ui/context/context-system-provider.js +2 -2
  251. package/build/ui/context/context-system-provider.js.map +1 -1
  252. package/build/ui/context/index.js.map +1 -1
  253. package/build/ui/control-group/component.js +1 -1
  254. package/build/ui/control-group/component.js.map +1 -1
  255. package/build/ui/control-label/component.js +1 -1
  256. package/build/ui/control-label/component.js.map +1 -1
  257. package/build/ui/form-group/form-group.js +1 -1
  258. package/build/ui/form-group/form-group.js.map +1 -1
  259. package/build/ui/shortcut/component.js.map +1 -1
  260. package/build/ui/spinner/component.js +1 -1
  261. package/build/ui/spinner/component.js.map +1 -1
  262. package/build/ui/tooltip/component.js +1 -1
  263. package/build/ui/tooltip/component.js.map +1 -1
  264. package/build/ui/tooltip/content.js +1 -1
  265. package/build/ui/tooltip/content.js.map +1 -1
  266. package/build/ui/utils/colors.js +2 -2
  267. package/build/ui/utils/colors.js.map +1 -1
  268. package/build/ui/utils/space.js +2 -2
  269. package/build/ui/utils/space.js.map +1 -1
  270. package/build/unit-control/index.js +38 -29
  271. package/build/unit-control/index.js.map +1 -1
  272. package/build/unit-control/index.native.js +4 -2
  273. package/build/unit-control/index.native.js.map +1 -1
  274. package/build/unit-control/unit-select-control.js +1 -1
  275. package/build/unit-control/unit-select-control.js.map +1 -1
  276. package/build/unit-control/utils.js +96 -104
  277. package/build/unit-control/utils.js.map +1 -1
  278. package/build/utils/breakpoint-values.js +1 -1
  279. package/build/utils/breakpoint-values.js.map +1 -1
  280. package/build/utils/colors-values.js +1 -1
  281. package/build/utils/colors-values.js.map +1 -1
  282. package/build/v-stack/component.js +1 -1
  283. package/build/v-stack/component.js.map +1 -1
  284. package/build/visually-hidden/component.js +1 -1
  285. package/build/visually-hidden/component.js.map +1 -1
  286. package/build/z-stack/component.js.map +1 -1
  287. package/build-module/alignment-matrix-control/utils.js +1 -1
  288. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  289. package/build-module/angle-picker-control/angle-circle.js +1 -1
  290. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  291. package/build-module/animation/index.js +1 -1
  292. package/build-module/animation/index.js.map +1 -1
  293. package/build-module/autocomplete/get-default-use-items.js +3 -3
  294. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  295. package/build-module/base-field/hook.js +1 -1
  296. package/build-module/base-field/hook.js.map +1 -1
  297. package/build-module/box-control/icon.js +1 -1
  298. package/build-module/box-control/icon.js.map +1 -1
  299. package/build-module/box-control/index.js +5 -5
  300. package/build-module/box-control/index.js.map +1 -1
  301. package/build-module/box-control/unit-control.js +1 -1
  302. package/build-module/box-control/unit-control.js.map +1 -1
  303. package/build-module/box-control/utils.js +13 -9
  304. package/build-module/box-control/utils.js.map +1 -1
  305. package/build-module/button/index.js +5 -5
  306. package/build-module/button/index.js.map +1 -1
  307. package/build-module/button/index.native.js +7 -7
  308. package/build-module/button/index.native.js.map +1 -1
  309. package/build-module/card/card/component.js +2 -2
  310. package/build-module/card/card/component.js.map +1 -1
  311. package/build-module/card/card-body/component.js +1 -1
  312. package/build-module/card/card-body/component.js.map +1 -1
  313. package/build-module/card/card-divider/component.js +1 -1
  314. package/build-module/card/card-divider/component.js.map +1 -1
  315. package/build-module/card/card-footer/component.js +1 -1
  316. package/build-module/card/card-footer/component.js.map +1 -1
  317. package/build-module/card/card-header/component.js +1 -1
  318. package/build-module/card/card-header/component.js.map +1 -1
  319. package/build-module/card/card-media/component.js +1 -1
  320. package/build-module/card/card-media/component.js.map +1 -1
  321. package/build-module/color-palette/index.native.js +36 -31
  322. package/build-module/color-palette/index.native.js.map +1 -1
  323. package/build-module/color-picker/color-display.js +1 -1
  324. package/build-module/color-picker/color-display.js.map +1 -1
  325. package/build-module/color-picker/component.js.map +1 -1
  326. package/build-module/color-picker/hex-input.js +6 -9
  327. package/build-module/color-picker/hex-input.js.map +1 -1
  328. package/build-module/color-picker/styles.js +8 -8
  329. package/build-module/color-picker/styles.js.map +1 -1
  330. package/build-module/combobox-control/index.js +1 -1
  331. package/build-module/combobox-control/index.js.map +1 -1
  332. package/build-module/confirm-dialog/component.js +4 -5
  333. package/build-module/confirm-dialog/component.js.map +1 -1
  334. package/build-module/date-time/time.js +7 -4
  335. package/build-module/date-time/time.js.map +1 -1
  336. package/build-module/divider/component.js +3 -3
  337. package/build-module/divider/component.js.map +1 -1
  338. package/build-module/draggable/index.js +3 -3
  339. package/build-module/draggable/index.js.map +1 -1
  340. package/build-module/elevation/component.js +1 -1
  341. package/build-module/elevation/component.js.map +1 -1
  342. package/build-module/flex/flex/component.js +1 -1
  343. package/build-module/flex/flex/component.js.map +1 -1
  344. package/build-module/flex/flex-block/component.js +1 -1
  345. package/build-module/flex/flex-block/component.js.map +1 -1
  346. package/build-module/flex/flex-item/component.js +1 -1
  347. package/build-module/flex/flex-item/component.js.map +1 -1
  348. package/build-module/flyout/flyout/component.js +1 -1
  349. package/build-module/flyout/flyout/component.js.map +1 -1
  350. package/build-module/flyout/flyout-content/component.js +1 -1
  351. package/build-module/flyout/flyout-content/component.js.map +1 -1
  352. package/build-module/focal-point-picker/index.js +18 -12
  353. package/build-module/focal-point-picker/index.js.map +1 -1
  354. package/build-module/focal-point-picker/index.native.js +7 -7
  355. package/build-module/focal-point-picker/index.native.js.map +1 -1
  356. package/build-module/focal-point-picker/tooltip/index.native.js +1 -1
  357. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  358. package/build-module/font-size-picker/index.js +1 -2
  359. package/build-module/font-size-picker/index.js.map +1 -1
  360. package/build-module/form-token-field/index.js +6 -6
  361. package/build-module/form-token-field/index.js.map +1 -1
  362. package/build-module/form-token-field/suggestions-list.js +2 -2
  363. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  364. package/build-module/grid/component.js +1 -1
  365. package/build-module/grid/component.js.map +1 -1
  366. package/build-module/h-stack/component.js +1 -1
  367. package/build-module/h-stack/component.js.map +1 -1
  368. package/build-module/heading/component.js +4 -4
  369. package/build-module/heading/component.js.map +1 -1
  370. package/build-module/heading/hook.js +1 -1
  371. package/build-module/heading/hook.js.map +1 -1
  372. package/build-module/higher-order/with-notices/index.js +1 -1
  373. package/build-module/higher-order/with-notices/index.js.map +1 -1
  374. package/build-module/index.js +5 -5
  375. package/build-module/index.js.map +1 -1
  376. package/build-module/index.native.js +5 -5
  377. package/build-module/index.native.js.map +1 -1
  378. package/build-module/input-control/index.js.map +1 -1
  379. package/build-module/input-control/input-base.js +1 -1
  380. package/build-module/input-control/input-base.js.map +1 -1
  381. package/build-module/input-control/input-field.js +19 -16
  382. package/build-module/input-control/input-field.js.map +1 -1
  383. package/build-module/input-control/reducer/reducer.js +3 -0
  384. package/build-module/input-control/reducer/reducer.js.map +1 -1
  385. package/build-module/input-control/styles/input-control-styles.js +25 -25
  386. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  387. package/build-module/isolated-event-container/index.js +1 -1
  388. package/build-module/isolated-event-container/index.js.map +1 -1
  389. package/build-module/item-group/item/component.js.map +1 -1
  390. package/build-module/item-group/item-group/component.js.map +1 -1
  391. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  392. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  393. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  394. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  395. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  396. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  397. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  398. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  399. package/build-module/mobile/bottom-sheet/index.native.js +11 -11
  400. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  401. package/build-module/mobile/bottom-sheet/link-cell.native.js +1 -1
  402. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  403. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  404. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  405. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  406. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  407. package/build-module/mobile/color-settings/palette.screen.native.js +27 -10
  408. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  409. package/build-module/mobile/global-styles-context/utils.native.js +70 -20
  410. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  411. package/build-module/mobile/gradient/index.native.js +2 -2
  412. package/build-module/mobile/gradient/index.native.js.map +1 -1
  413. package/build-module/mobile/html-text-input/container.ios.js +3 -3
  414. package/build-module/mobile/html-text-input/container.ios.js.map +1 -1
  415. package/build-module/mobile/html-text-input/index.native.js +1 -1
  416. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  417. package/build-module/mobile/image/index.native.js +1 -1
  418. package/build-module/mobile/image/index.native.js.map +1 -1
  419. package/build-module/mobile/inserter-button/index.native.js +1 -1
  420. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  421. package/build-module/mobile/inserter-button/sparkles.js +16 -0
  422. package/build-module/mobile/inserter-button/sparkles.js.map +1 -0
  423. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  424. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  425. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  426. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  427. package/build-module/mobile/link-picker/index.native.js +3 -3
  428. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  429. package/build-module/mobile/link-picker/link-picker-results.native.js +8 -8
  430. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  431. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  432. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  433. package/build-module/mobile/link-settings/index.native.js +1 -1
  434. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  435. package/build-module/modal/aria-helper.js +1 -1
  436. package/build-module/modal/aria-helper.js.map +1 -1
  437. package/build-module/modal/index.js +2 -2
  438. package/build-module/modal/index.js.map +1 -1
  439. package/build-module/navigable-container/container.js +2 -2
  440. package/build-module/navigable-container/container.js.map +1 -1
  441. package/build-module/navigable-container/tabbable.js +1 -1
  442. package/build-module/navigable-container/tabbable.js.map +1 -1
  443. package/build-module/navigation/item/index.js +1 -1
  444. package/build-module/navigation/item/index.js.map +1 -1
  445. package/build-module/navigation/menu/index.js +1 -1
  446. package/build-module/navigation/menu/index.js.map +1 -1
  447. package/build-module/navigator/index.js +2 -0
  448. package/build-module/navigator/index.js.map +1 -1
  449. package/build-module/navigator/navigator-back-button/component.js +59 -0
  450. package/build-module/navigator/navigator-back-button/component.js.map +1 -0
  451. package/build-module/navigator/navigator-back-button/hook.js +36 -0
  452. package/build-module/navigator/navigator-back-button/hook.js.map +1 -0
  453. package/build-module/navigator/navigator-back-button/index.js +2 -0
  454. package/build-module/navigator/navigator-back-button/index.js.map +1 -0
  455. package/build-module/navigator/navigator-button/component.js +58 -0
  456. package/build-module/navigator/navigator-button/component.js.map +1 -0
  457. package/build-module/navigator/navigator-button/hook.js +46 -0
  458. package/build-module/navigator/navigator-button/hook.js.map +1 -0
  459. package/build-module/navigator/navigator-button/index.js +2 -0
  460. package/build-module/navigator/navigator-button/index.js.map +1 -0
  461. package/build-module/navigator/navigator-provider/component.js +12 -22
  462. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  463. package/build-module/navigator/navigator-screen/component.js +13 -22
  464. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  465. package/build-module/number-control/index.js +1 -1
  466. package/build-module/number-control/index.js.map +1 -1
  467. package/build-module/panel/body.js +2 -2
  468. package/build-module/panel/body.js.map +1 -1
  469. package/build-module/popover/index.js +3 -3
  470. package/build-module/popover/index.js.map +1 -1
  471. package/build-module/popover/utils.js +6 -6
  472. package/build-module/popover/utils.js.map +1 -1
  473. package/build-module/radio-group/index.js +1 -1
  474. package/build-module/radio-group/index.js.map +1 -1
  475. package/build-module/range-control/styles/range-control-styles.js +29 -29
  476. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  477. package/build-module/resizable-box/index.js.map +1 -1
  478. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  479. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  480. package/build-module/sandbox/index.js +5 -5
  481. package/build-module/sandbox/index.js.map +1 -1
  482. package/build-module/sandbox/index.native.js +1 -1
  483. package/build-module/sandbox/index.native.js.map +1 -1
  484. package/build-module/scrollable/component.js +1 -1
  485. package/build-module/scrollable/component.js.map +1 -1
  486. package/build-module/select-control/index.js +2 -2
  487. package/build-module/select-control/index.js.map +1 -1
  488. package/build-module/select-control/styles/select-control-styles.js +5 -5
  489. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  490. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  491. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  492. package/build-module/slot-fill/bubbles-virtually/slot.js +1 -1
  493. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  494. package/build-module/slot-fill/fill.js +1 -1
  495. package/build-module/slot-fill/fill.js.map +1 -1
  496. package/build-module/slot-fill/provider.js +1 -1
  497. package/build-module/slot-fill/provider.js.map +1 -1
  498. package/build-module/snackbar/index.js +1 -1
  499. package/build-module/snackbar/index.js.map +1 -1
  500. package/build-module/snackbar/list.js +1 -1
  501. package/build-module/snackbar/list.js.map +1 -1
  502. package/build-module/spacer/component.js.map +1 -1
  503. package/build-module/style-provider/index.js +2 -2
  504. package/build-module/style-provider/index.js.map +1 -1
  505. package/build-module/surface/component.js +1 -1
  506. package/build-module/surface/component.js.map +1 -1
  507. package/build-module/text/component.js +1 -1
  508. package/build-module/text/component.js.map +1 -1
  509. package/build-module/text-control/index.js +2 -2
  510. package/build-module/text-control/index.js.map +1 -1
  511. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -2
  512. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  513. package/build-module/toggle-group-control/toggle-group-control-option/component.js +1 -4
  514. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  515. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +11 -17
  516. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  517. package/build-module/toolbar/index.js +1 -1
  518. package/build-module/toolbar/index.js.map +1 -1
  519. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  520. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  521. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  522. package/build-module/tooltip/index.js +3 -3
  523. package/build-module/tooltip/index.js.map +1 -1
  524. package/build-module/tooltip/index.native.js +7 -7
  525. package/build-module/tooltip/index.native.js.map +1 -1
  526. package/build-module/tree-grid/index.js +55 -8
  527. package/build-module/tree-grid/index.js.map +1 -1
  528. package/build-module/truncate/component.js +1 -1
  529. package/build-module/truncate/component.js.map +1 -1
  530. package/build-module/truncate/utils.js +1 -1
  531. package/build-module/truncate/utils.js.map +1 -1
  532. package/build-module/ui/context/context-connect.js +9 -16
  533. package/build-module/ui/context/context-connect.js.map +1 -1
  534. package/build-module/ui/context/context-system-provider.js +2 -2
  535. package/build-module/ui/context/context-system-provider.js.map +1 -1
  536. package/build-module/ui/context/index.js.map +1 -1
  537. package/build-module/ui/control-group/component.js +1 -1
  538. package/build-module/ui/control-group/component.js.map +1 -1
  539. package/build-module/ui/control-label/component.js +1 -1
  540. package/build-module/ui/control-label/component.js.map +1 -1
  541. package/build-module/ui/form-group/form-group.js +1 -1
  542. package/build-module/ui/form-group/form-group.js.map +1 -1
  543. package/build-module/ui/shortcut/component.js.map +1 -1
  544. package/build-module/ui/spinner/component.js +1 -1
  545. package/build-module/ui/spinner/component.js.map +1 -1
  546. package/build-module/ui/tooltip/component.js +1 -1
  547. package/build-module/ui/tooltip/component.js.map +1 -1
  548. package/build-module/ui/tooltip/content.js +1 -1
  549. package/build-module/ui/tooltip/content.js.map +1 -1
  550. package/build-module/ui/utils/colors.js +2 -2
  551. package/build-module/ui/utils/colors.js.map +1 -1
  552. package/build-module/ui/utils/space.js +2 -2
  553. package/build-module/ui/utils/space.js.map +1 -1
  554. package/build-module/unit-control/index.js +39 -30
  555. package/build-module/unit-control/index.js.map +1 -1
  556. package/build-module/unit-control/index.native.js +5 -3
  557. package/build-module/unit-control/index.native.js.map +1 -1
  558. package/build-module/unit-control/unit-select-control.js +1 -1
  559. package/build-module/unit-control/unit-select-control.js.map +1 -1
  560. package/build-module/unit-control/utils.js +92 -100
  561. package/build-module/unit-control/utils.js.map +1 -1
  562. package/build-module/utils/breakpoint-values.js +1 -1
  563. package/build-module/utils/breakpoint-values.js.map +1 -1
  564. package/build-module/utils/colors-values.js +1 -1
  565. package/build-module/utils/colors-values.js.map +1 -1
  566. package/build-module/v-stack/component.js +1 -1
  567. package/build-module/v-stack/component.js.map +1 -1
  568. package/build-module/visually-hidden/component.js +1 -1
  569. package/build-module/visually-hidden/component.js.map +1 -1
  570. package/build-module/z-stack/component.js.map +1 -1
  571. package/build-style/style-rtl.css +8 -0
  572. package/build-style/style.css +8 -0
  573. package/build-types/base-field/hook.d.ts +2 -1
  574. package/build-types/base-field/hook.d.ts.map +1 -1
  575. package/build-types/card/card/hook.d.ts +2 -1
  576. package/build-types/card/card/hook.d.ts.map +1 -1
  577. package/build-types/card/card-body/hook.d.ts +2 -1
  578. package/build-types/card/card-body/hook.d.ts.map +1 -1
  579. package/build-types/card/card-divider/hook.d.ts +2 -3
  580. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  581. package/build-types/card/card-footer/hook.d.ts +2 -1
  582. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  583. package/build-types/card/card-header/hook.d.ts +2 -1
  584. package/build-types/card/card-header/hook.d.ts.map +1 -1
  585. package/build-types/card/card-media/hook.d.ts +2 -1
  586. package/build-types/card/card-media/hook.d.ts.map +1 -1
  587. package/build-types/color-picker/styles.d.ts +2 -4
  588. package/build-types/color-picker/styles.d.ts.map +1 -1
  589. package/build-types/confirm-dialog/component.d.ts +10 -6
  590. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  591. package/build-types/confirm-dialog/types.d.ts +2 -0
  592. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  593. package/build-types/divider/component.d.ts +2 -2
  594. package/build-types/divider/component.d.ts.map +1 -1
  595. package/build-types/divider/stories/index.d.ts +10 -0
  596. package/build-types/divider/stories/index.d.ts.map +1 -0
  597. package/build-types/divider/types.d.ts +1 -1
  598. package/build-types/divider/types.d.ts.map +1 -1
  599. package/build-types/elevation/hook.d.ts +2 -1
  600. package/build-types/elevation/hook.d.ts.map +1 -1
  601. package/build-types/flex/flex/hook.d.ts +2 -1
  602. package/build-types/flex/flex/hook.d.ts.map +1 -1
  603. package/build-types/flex/flex-block/hook.d.ts +2 -1
  604. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  605. package/build-types/flex/flex-item/hook.d.ts +2 -1
  606. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  607. package/build-types/flyout/flyout/hook.d.ts +2 -2
  608. package/build-types/grid/hook.d.ts +2 -1
  609. package/build-types/grid/hook.d.ts.map +1 -1
  610. package/build-types/h-stack/hook.d.ts +3 -2
  611. package/build-types/h-stack/hook.d.ts.map +1 -1
  612. package/build-types/heading/component.d.ts +3 -3
  613. package/build-types/heading/component.d.ts.map +1 -1
  614. package/build-types/heading/hook.d.ts +2 -1
  615. package/build-types/heading/hook.d.ts.map +1 -1
  616. package/build-types/heading/stories/index.d.ts +12 -0
  617. package/build-types/heading/stories/index.d.ts.map +1 -0
  618. package/build-types/input-control/index.d.ts +3 -3
  619. package/build-types/input-control/index.d.ts.map +1 -1
  620. package/build-types/input-control/input-base.d.ts +2 -2
  621. package/build-types/input-control/input-base.d.ts.map +1 -1
  622. package/build-types/input-control/input-field.d.ts +1 -3
  623. package/build-types/input-control/input-field.d.ts.map +1 -1
  624. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  625. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  626. package/build-types/input-control/types.d.ts +1 -1
  627. package/build-types/input-control/types.d.ts.map +1 -1
  628. package/build-types/item-group/item/hook.d.ts +2 -1
  629. package/build-types/item-group/item/hook.d.ts.map +1 -1
  630. package/build-types/item-group/item-group/hook.d.ts +2 -1
  631. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  632. package/build-types/navigator/index.d.ts +2 -0
  633. package/build-types/navigator/index.d.ts.map +1 -1
  634. package/build-types/navigator/navigator-back-button/component.d.ts +38 -0
  635. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -0
  636. package/build-types/navigator/navigator-back-button/hook.d.ts +283 -0
  637. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -0
  638. package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
  639. package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
  640. package/build-types/navigator/navigator-button/component.d.ts +37 -0
  641. package/build-types/navigator/navigator-button/component.d.ts.map +1 -0
  642. package/build-types/navigator/navigator-button/hook.d.ts +283 -0
  643. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -0
  644. package/build-types/navigator/navigator-button/index.d.ts +2 -0
  645. package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
  646. package/build-types/navigator/navigator-provider/component.d.ts +10 -20
  647. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  648. package/build-types/navigator/navigator-screen/component.d.ts +10 -20
  649. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  650. package/build-types/navigator/types.d.ts +21 -0
  651. package/build-types/navigator/types.d.ts.map +1 -1
  652. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  653. package/build-types/resizable-box/index.d.ts +2 -2
  654. package/build-types/resizable-box/index.d.ts.map +1 -1
  655. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  656. package/build-types/scrollable/hook.d.ts +2 -1
  657. package/build-types/scrollable/hook.d.ts.map +1 -1
  658. package/build-types/select-control/index.d.ts +1 -3
  659. package/build-types/select-control/index.d.ts.map +1 -1
  660. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  661. package/build-types/spacer/hook.d.ts +2 -1
  662. package/build-types/spacer/hook.d.ts.map +1 -1
  663. package/build-types/surface/hook.d.ts +2 -1
  664. package/build-types/surface/hook.d.ts.map +1 -1
  665. package/build-types/text/hook.d.ts +2 -1
  666. package/build-types/text/hook.d.ts.map +1 -1
  667. package/build-types/text/types.d.ts +1 -2
  668. package/build-types/text/types.d.ts.map +1 -1
  669. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  670. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -4
  671. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  672. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
  673. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  674. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
  675. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  676. package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -1
  677. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  678. package/build-types/truncate/hook.d.ts +2 -1
  679. package/build-types/truncate/hook.d.ts.map +1 -1
  680. package/build-types/ui/context/context-connect.d.ts +18 -16
  681. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  682. package/build-types/ui/context/index.d.ts +4 -4
  683. package/build-types/ui/context/index.d.ts.map +1 -1
  684. package/build-types/ui/context/wordpress-component.d.ts +3 -6
  685. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  686. package/build-types/ui/control-group/hook.d.ts +2 -1
  687. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  688. package/build-types/ui/control-label/hook.d.ts +2 -1
  689. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  690. package/build-types/ui/form-group/use-form-group.d.ts +6 -4
  691. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  692. package/build-types/unit-control/index.d.ts +3 -5
  693. package/build-types/unit-control/index.d.ts.map +1 -1
  694. package/build-types/unit-control/types.d.ts +4 -6
  695. package/build-types/unit-control/types.d.ts.map +1 -1
  696. package/build-types/unit-control/utils.d.ts +47 -38
  697. package/build-types/unit-control/utils.d.ts.map +1 -1
  698. package/build-types/v-stack/hook.d.ts +2 -1
  699. package/build-types/v-stack/hook.d.ts.map +1 -1
  700. package/build-types/z-stack/component.d.ts.map +1 -1
  701. package/package.json +19 -18
  702. package/src/alignment-matrix-control/README.md +4 -0
  703. package/src/alignment-matrix-control/stories/index.js +1 -1
  704. package/src/alignment-matrix-control/utils.js +1 -1
  705. package/src/angle-picker-control/angle-circle.js +1 -1
  706. package/src/animation/index.js +0 -1
  707. package/src/autocomplete/get-default-use-items.js +3 -3
  708. package/src/base-control/stories/index.js +65 -22
  709. package/src/base-field/hook.js +1 -1
  710. package/src/box-control/icon.js +1 -1
  711. package/src/box-control/index.js +5 -5
  712. package/src/box-control/stories/index.js +4 -1
  713. package/src/box-control/test/index.js +27 -7
  714. package/src/box-control/unit-control.js +1 -1
  715. package/src/box-control/utils.js +13 -9
  716. package/src/button/index.js +5 -5
  717. package/src/button/index.native.js +7 -7
  718. package/src/button/style.scss +1 -0
  719. package/src/card/card/component.js +1 -1
  720. package/src/card/card-body/component.js +1 -1
  721. package/src/card/card-divider/component.js +1 -1
  722. package/src/card/card-footer/component.js +1 -1
  723. package/src/card/card-header/component.js +1 -1
  724. package/src/card/card-media/component.js +1 -1
  725. package/src/color-palette/index.native.js +92 -75
  726. package/src/color-palette/style.native.scss +10 -5
  727. package/src/color-palette/style.scss +1 -0
  728. package/src/color-picker/color-display.tsx +1 -1
  729. package/src/color-picker/component.tsx +2 -2
  730. package/src/color-picker/hex-input.tsx +9 -9
  731. package/src/color-picker/styles.ts +1 -1
  732. package/src/color-picker/test/index.js +1 -1
  733. package/src/combobox-control/index.js +1 -1
  734. package/src/combobox-control/style.scss +1 -0
  735. package/src/confirm-dialog/README.md +56 -45
  736. package/src/confirm-dialog/component.tsx +6 -4
  737. package/src/confirm-dialog/stories/index.js +19 -0
  738. package/src/confirm-dialog/test/index.js +28 -0
  739. package/src/confirm-dialog/types.ts +2 -0
  740. package/src/date-time/style.scss +4 -0
  741. package/src/date-time/time.js +16 -5
  742. package/src/dimension-control/test/index.test.js +1 -1
  743. package/src/disabled/test/index.js +1 -1
  744. package/src/divider/component.tsx +5 -5
  745. package/src/divider/stories/index.tsx +70 -0
  746. package/src/divider/types.ts +3 -1
  747. package/src/draggable/index.js +3 -3
  748. package/src/draggable/stories/index.js +1 -1
  749. package/src/elevation/component.js +1 -1
  750. package/src/flex/flex/component.js +1 -1
  751. package/src/flex/flex-block/component.js +1 -1
  752. package/src/flex/flex-item/component.js +1 -1
  753. package/src/flyout/flyout/README.md +1 -1
  754. package/src/flyout/flyout/component.js +1 -1
  755. package/src/flyout/flyout-content/component.js +1 -1
  756. package/src/flyout/test/index.js +1 -1
  757. package/src/focal-point-picker/README.md +7 -0
  758. package/src/focal-point-picker/index.js +12 -7
  759. package/src/focal-point-picker/index.native.js +7 -7
  760. package/src/focal-point-picker/stories/index.js +30 -0
  761. package/src/focal-point-picker/test/index.js +44 -0
  762. package/src/focal-point-picker/tooltip/index.native.js +1 -1
  763. package/src/font-size-picker/README.md +1 -2
  764. package/src/font-size-picker/index.js +1 -2
  765. package/src/font-size-picker/stories/index.js +87 -108
  766. package/src/font-size-picker/test/index.js +0 -2
  767. package/src/form-file-upload/README.md +1 -1
  768. package/src/form-file-upload/stories/index.js +51 -0
  769. package/src/form-token-field/index.js +6 -6
  770. package/src/form-token-field/style.scss +1 -0
  771. package/src/form-token-field/suggestions-list.js +2 -2
  772. package/src/form-token-field/test/index.js +6 -6
  773. package/src/grid/component.js +1 -1
  774. package/src/h-stack/component.js +1 -1
  775. package/src/heading/component.tsx +6 -6
  776. package/src/heading/hook.ts +1 -1
  777. package/src/heading/stories/index.tsx +37 -0
  778. package/src/higher-order/with-filters/test/index.js +1 -1
  779. package/src/higher-order/with-focus-outside/test/index.js +1 -1
  780. package/src/higher-order/with-notices/index.js +1 -1
  781. package/src/higher-order/with-notices/test/index.js +3 -3
  782. package/src/index.js +6 -4
  783. package/src/index.native.js +9 -5
  784. package/src/input-control/index.tsx +2 -2
  785. package/src/input-control/input-base.tsx +3 -3
  786. package/src/input-control/input-field.tsx +16 -15
  787. package/src/input-control/reducer/reducer.ts +3 -0
  788. package/src/input-control/stories/index.js +1 -1
  789. package/src/input-control/styles/input-control-styles.tsx +1 -0
  790. package/src/input-control/test/index.js +4 -4
  791. package/src/input-control/types.ts +1 -1
  792. package/src/isolated-event-container/index.js +1 -1
  793. package/src/item-group/item/component.tsx +2 -2
  794. package/src/item-group/item-group/component.tsx +2 -2
  795. package/src/item-group/test/index.js +0 -1
  796. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  797. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  798. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -1
  799. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  800. package/src/mobile/bottom-sheet/index.native.js +11 -11
  801. package/src/mobile/bottom-sheet/link-cell.native.js +1 -1
  802. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  803. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  804. package/src/mobile/color-settings/palette.screen.native.js +39 -9
  805. package/src/mobile/color-settings/style.native.scss +4 -0
  806. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +27 -0
  807. package/src/mobile/global-styles-context/test/utils.native.js +2 -2
  808. package/src/mobile/global-styles-context/utils.native.js +85 -16
  809. package/src/mobile/gradient/index.native.js +2 -2
  810. package/src/mobile/html-text-input/container.ios.js +3 -3
  811. package/src/mobile/html-text-input/index.native.js +1 -1
  812. package/src/mobile/html-text-input/test/index.native.js +14 -14
  813. package/src/mobile/image/index.native.js +1 -1
  814. package/src/mobile/image/style.native.scss +1 -0
  815. package/src/mobile/inserter-button/index.native.js +1 -2
  816. package/src/mobile/inserter-button/sparkles.js +15 -0
  817. package/src/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  818. package/src/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  819. package/src/mobile/link-picker/index.native.js +3 -3
  820. package/src/mobile/link-picker/link-picker-results.native.js +8 -8
  821. package/src/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  822. package/src/mobile/link-settings/index.native.js +1 -2
  823. package/src/mobile/link-settings/test/edit.native.js +15 -15
  824. package/src/modal/aria-helper.js +1 -1
  825. package/src/modal/index.js +2 -2
  826. package/src/navigable-container/container.js +2 -2
  827. package/src/navigable-container/tabbable.js +1 -1
  828. package/src/navigable-container/test/menu.js +5 -5
  829. package/src/navigable-container/test/tabbable.js +2 -2
  830. package/src/navigation/item/index.js +1 -1
  831. package/src/navigation/menu/index.js +1 -1
  832. package/src/navigation/stories/controlled-state.js +2 -2
  833. package/src/navigation/stories/index.js +1 -1
  834. package/src/navigator/index.ts +2 -0
  835. package/src/navigator/navigator-back-button/README.md +31 -0
  836. package/src/navigator/navigator-back-button/component.tsx +62 -0
  837. package/src/navigator/navigator-back-button/hook.ts +40 -0
  838. package/src/navigator/navigator-back-button/index.ts +1 -0
  839. package/src/navigator/navigator-button/README.md +38 -0
  840. package/src/navigator/navigator-button/component.tsx +61 -0
  841. package/src/navigator/navigator-button/hook.ts +55 -0
  842. package/src/navigator/navigator-button/index.ts +1 -0
  843. package/src/navigator/navigator-provider/README.md +20 -33
  844. package/src/navigator/navigator-provider/component.tsx +13 -23
  845. package/src/navigator/navigator-screen/README.md +1 -1
  846. package/src/navigator/navigator-screen/component.tsx +16 -25
  847. package/src/navigator/stories/index.js +24 -37
  848. package/src/navigator/test/index.js +105 -51
  849. package/src/navigator/types.ts +27 -1
  850. package/src/number-control/index.js +1 -1
  851. package/src/number-control/stories/index.js +1 -1
  852. package/src/panel/body.js +2 -2
  853. package/src/popover/index.js +3 -3
  854. package/src/popover/utils.js +6 -6
  855. package/src/radio/stories/index.js +1 -1
  856. package/src/radio-group/index.js +1 -1
  857. package/src/radio-group/stories/index.js +4 -1
  858. package/src/range-control/stories/index.js +1 -1
  859. package/src/range-control/styles/range-control-styles.js +1 -1
  860. package/src/range-control/test/index.js +2 -2
  861. package/src/resizable-box/index.tsx +2 -2
  862. package/src/resizable-box/resize-tooltip/index.tsx +2 -2
  863. package/src/resizable-box/resize-tooltip/label.tsx +2 -2
  864. package/src/sandbox/index.js +5 -5
  865. package/src/sandbox/index.native.js +1 -1
  866. package/src/scrollable/component.js +1 -1
  867. package/src/select-control/index.tsx +3 -4
  868. package/src/select-control/styles/select-control-styles.ts +1 -0
  869. package/src/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  870. package/src/slot-fill/bubbles-virtually/slot.js +1 -2
  871. package/src/slot-fill/fill.js +1 -1
  872. package/src/slot-fill/provider.js +1 -1
  873. package/src/snackbar/index.js +1 -1
  874. package/src/snackbar/list.js +1 -1
  875. package/src/spacer/component.tsx +2 -2
  876. package/src/style-provider/index.js +2 -2
  877. package/src/surface/component.js +1 -1
  878. package/src/tab-panel/test/index.js +1 -1
  879. package/src/text/component.js +1 -1
  880. package/src/text/test/index.js +2 -2
  881. package/src/text/types.ts +6 -8
  882. package/src/text-control/index.js +2 -2
  883. package/src/text-highlight/test/index.js +4 -4
  884. package/src/toggle-control/test/index.js +3 -3
  885. package/src/toggle-group-control/stories/index.js +1 -1
  886. package/src/toggle-group-control/test/__snapshots__/index.js.snap +1 -27
  887. package/src/toggle-group-control/toggle-group-control/component.tsx +4 -4
  888. package/src/toggle-group-control/toggle-group-control-option/component.tsx +3 -6
  889. package/src/toggle-group-control/toggle-group-control-option/styles.ts +1 -12
  890. package/src/toolbar/index.js +1 -1
  891. package/src/toolbar-group/test/index.js +2 -2
  892. package/src/tools-panel/stories/index.js +0 -1
  893. package/src/tools-panel/tools-panel/component.tsx +2 -2
  894. package/src/tools-panel/tools-panel-header/component.tsx +2 -2
  895. package/src/tools-panel/tools-panel-item/component.tsx +2 -2
  896. package/src/tooltip/index.js +3 -3
  897. package/src/tooltip/index.native.js +7 -7
  898. package/src/tooltip/test/index.js +2 -2
  899. package/src/tooltip/test/index.native.js +2 -2
  900. package/src/tree-grid/README.md +24 -1
  901. package/src/tree-grid/index.js +70 -7
  902. package/src/tree-grid/stories/index.js +4 -1
  903. package/src/tree-grid/test/__snapshots__/index.js.snap +1 -14
  904. package/src/tree-grid/test/index.js +303 -8
  905. package/src/truncate/component.js +1 -1
  906. package/src/truncate/utils.js +1 -1
  907. package/src/ui/context/{context-connect.js → context-connect.ts} +27 -16
  908. package/src/ui/context/context-system-provider.js +2 -2
  909. package/src/ui/context/{index.js → index.ts} +0 -0
  910. package/src/ui/context/wordpress-component.ts +3 -2
  911. package/src/ui/control-group/component.js +1 -1
  912. package/src/ui/control-label/component.js +1 -1
  913. package/src/ui/form-group/form-group.js +1 -1
  914. package/src/ui/shortcut/component.tsx +2 -2
  915. package/src/ui/spinner/component.js +1 -1
  916. package/src/ui/tooltip/component.js +1 -1
  917. package/src/ui/tooltip/content.js +1 -1
  918. package/src/ui/tooltip/test/index.js +4 -4
  919. package/src/ui/utils/colors.js +2 -2
  920. package/src/ui/utils/space.ts +2 -2
  921. package/src/unit-control/README.md +1 -1
  922. package/src/unit-control/index.native.js +5 -3
  923. package/src/unit-control/index.tsx +66 -37
  924. package/src/unit-control/stories/index.js +1 -1
  925. package/src/unit-control/test/index.js +102 -3
  926. package/src/unit-control/test/utils.js +56 -15
  927. package/src/unit-control/types.ts +5 -8
  928. package/src/unit-control/unit-select-control.tsx +1 -1
  929. package/src/unit-control/utils.ts +128 -125
  930. package/src/utils/breakpoint-values.js +1 -1
  931. package/src/utils/colors-values.js +1 -1
  932. package/src/utils/hooks/test/use-controlled-state.js +1 -1
  933. package/src/utils/hooks/test/use-controlled-value.js +3 -3
  934. package/src/utils/hooks/test/use-latest-ref.js +1 -1
  935. package/src/utils/test/math.js +2 -2
  936. package/src/utils/test/rtl.js +12 -12
  937. package/src/v-stack/component.js +1 -1
  938. package/src/visually-hidden/component.js +1 -1
  939. package/src/z-stack/component.tsx +2 -2
  940. package/tsconfig.json +1 -1
  941. package/tsconfig.tsbuildinfo +1 -1
  942. package/src/divider/stories/index.js +0 -64
  943. package/src/heading/stories/index.js +0 -24
  944. package/src/tools-panel/stories/typography-panel.js +0 -215
@@ -7,8 +7,8 @@ import { Dimensions } from 'react-native';
7
7
  * WordPress dependencies
8
8
  */
9
9
 
10
- import { getPxFromCssUnit } from '@wordpress/block-editor';
11
- export const BLOCK_STYLE_ATTRIBUTES = ['textColor', 'backgroundColor', 'style', 'color', 'fontSize']; // Mapping style properties name to native
10
+ import { getPxFromCssUnit, useSetting, useMultipleOriginColorsAndGradients } from '@wordpress/block-editor';
11
+ export const BLOCK_STYLE_ATTRIBUTES = ['textColor', 'backgroundColor', 'style', 'color', 'fontSize']; // Mapping style properties name to native.
12
12
 
13
13
  const BLOCK_STYLE_ATTRIBUTES_MAPPING = {
14
14
  textColor: 'color',
@@ -26,7 +26,7 @@ export function getBlockPaddings(mergedStyle, wrapperPropsStyle, blockStyleAttri
26
26
  if (!mergedStyle.padding && (wrapperPropsStyle !== null && wrapperPropsStyle !== void 0 && wrapperPropsStyle.backgroundColor || blockStyleAttributes !== null && blockStyleAttributes !== void 0 && blockStyleAttributes.backgroundColor || blockColors !== null && blockColors !== void 0 && blockColors.backgroundColor)) {
27
27
  blockPaddings.padding = PADDING;
28
28
  return blockPaddings;
29
- } // Prevent adding extra paddings to inner blocks without background colors
29
+ } // Prevent adding extra paddings to inner blocks without background colors.
30
30
 
31
31
 
32
32
  if (mergedStyle !== null && mergedStyle !== void 0 && mergedStyle.padding && !(wrapperPropsStyle !== null && wrapperPropsStyle !== void 0 && wrapperPropsStyle.backgroundColor) && !(blockStyleAttributes !== null && blockStyleAttributes !== void 0 && blockStyleAttributes.backgroundColor) && !(blockColors !== null && blockColors !== void 0 && blockColors.backgroundColor)) {
@@ -40,7 +40,7 @@ export function getBlockColors(blockStyleAttributes, defaultColors, blockName, b
40
40
 
41
41
  const blockStyles = {};
42
42
  const customBlockStyles = (blockStyleAttributes === null || blockStyleAttributes === void 0 ? void 0 : (_blockStyleAttributes = blockStyleAttributes.style) === null || _blockStyleAttributes === void 0 ? void 0 : _blockStyleAttributes.color) || {};
43
- const blockGlobalStyles = baseGlobalStyles === null || baseGlobalStyles === void 0 ? void 0 : (_baseGlobalStyles$blo = baseGlobalStyles.blocks) === null || _baseGlobalStyles$blo === void 0 ? void 0 : _baseGlobalStyles$blo[blockName]; // Global styles colors
43
+ const blockGlobalStyles = baseGlobalStyles === null || baseGlobalStyles === void 0 ? void 0 : (_baseGlobalStyles$blo = baseGlobalStyles.blocks) === null || _baseGlobalStyles$blo === void 0 ? void 0 : _baseGlobalStyles$blo[blockName]; // Global styles colors.
44
44
 
45
45
  if (blockGlobalStyles !== null && blockGlobalStyles !== void 0 && blockGlobalStyles.color) {
46
46
  Object.entries(blockGlobalStyles.color).forEach(_ref => {
@@ -58,7 +58,7 @@ export function getBlockColors(blockStyleAttributes, defaultColors, blockName, b
58
58
  var _baseGlobalStyles$sty3, _baseGlobalStyles$sty4;
59
59
 
60
60
  blockStyles[BLOCK_STYLE_ATTRIBUTES_MAPPING.text] = baseGlobalStyles === null || baseGlobalStyles === void 0 ? void 0 : (_baseGlobalStyles$sty3 = baseGlobalStyles.styles) === null || _baseGlobalStyles$sty3 === void 0 ? void 0 : (_baseGlobalStyles$sty4 = _baseGlobalStyles$sty3.color) === null || _baseGlobalStyles$sty4 === void 0 ? void 0 : _baseGlobalStyles$sty4.text;
61
- } // Global styles elements
61
+ } // Global styles elements.
62
62
 
63
63
 
64
64
  if (blockGlobalStyles !== null && blockGlobalStyles !== void 0 && blockGlobalStyles.elements) {
@@ -70,7 +70,7 @@ export function getBlockColors(blockStyleAttributes, defaultColors, blockName, b
70
70
  if (styleKey && linkColor && linkColor !== UNKNOWN_VALUE) {
71
71
  blockStyles[styleKey] = linkColor;
72
72
  }
73
- } // Custom colors
73
+ } // Custom colors.
74
74
 
75
75
 
76
76
  Object.entries(blockStyleAttributes).forEach(_ref2 => {
@@ -93,7 +93,7 @@ export function getBlockColors(blockStyleAttributes, defaultColors, blockName, b
93
93
  } else {
94
94
  blockStyles[styleKey] = value;
95
95
  }
96
- }); // Color placeholder
96
+ }); // Color placeholder.
97
97
 
98
98
  if (blockStyles !== null && blockStyles !== void 0 && blockStyles.color) {
99
99
  blockStyles[BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder] = blockStyles.color;
@@ -106,7 +106,7 @@ export function getBlockTypography(blockStyleAttributes, fontSizes, blockName, b
106
106
 
107
107
  const typographyStyles = {};
108
108
  const customBlockStyles = (blockStyleAttributes === null || blockStyleAttributes === void 0 ? void 0 : (_blockStyleAttributes2 = blockStyleAttributes.style) === null || _blockStyleAttributes2 === void 0 ? void 0 : _blockStyleAttributes2.typography) || {};
109
- const blockGlobalStyles = baseGlobalStyles === null || baseGlobalStyles === void 0 ? void 0 : (_baseGlobalStyles$blo2 = baseGlobalStyles.blocks) === null || _baseGlobalStyles$blo2 === void 0 ? void 0 : _baseGlobalStyles$blo2[blockName]; // Global styles
109
+ const blockGlobalStyles = baseGlobalStyles === null || baseGlobalStyles === void 0 ? void 0 : (_baseGlobalStyles$blo2 = baseGlobalStyles.blocks) === null || _baseGlobalStyles$blo2 === void 0 ? void 0 : _baseGlobalStyles$blo2[blockName]; // Global styles.
110
110
 
111
111
  if (blockGlobalStyles !== null && blockGlobalStyles !== void 0 && blockGlobalStyles.typography) {
112
112
  var _blockGlobalStyles$ty, _blockGlobalStyles$ty2;
@@ -141,7 +141,7 @@ export function getBlockTypography(blockStyleAttributes, fontSizes, blockName, b
141
141
  if (mappedFontSize) {
142
142
  typographyStyles.fontSize = mappedFontSize === null || mappedFontSize === void 0 ? void 0 : mappedFontSize.size;
143
143
  }
144
- } // Custom styles
144
+ } // Custom styles.
145
145
 
146
146
 
147
147
  if (customBlockStyles !== null && customBlockStyles !== void 0 && customBlockStyles.fontSize) {
@@ -156,7 +156,7 @@ export function getBlockTypography(blockStyleAttributes, fontSizes, blockName, b
156
156
  }
157
157
  export function parseStylesVariables(styles, mappedValues, customValues) {
158
158
  let stylesBase = styles;
159
- const variables = ['preset', 'custom'];
159
+ const variables = ['preset', 'custom', 'var'];
160
160
 
161
161
  if (!stylesBase) {
162
162
  return styles;
@@ -166,7 +166,9 @@ export function parseStylesVariables(styles, mappedValues, customValues) {
166
166
  // Examples
167
167
  // var(--wp--preset--color--gray)
168
168
  // var(--wp--custom--body--typography--font-family)
169
+ // var:preset|color|custom-color-2
169
170
  const regex = new RegExp(`var\\(--wp--${variable}--(.*?)\\)`, 'g');
171
+ const varRegex = /\"var:preset\|color\|(.*?)\"/gm;
170
172
 
171
173
  if (variable === 'preset') {
172
174
  stylesBase = stylesBase.replace(regex, (_$1, $2) => {
@@ -191,12 +193,27 @@ export function parseStylesVariables(styles, mappedValues, customValues) {
191
193
 
192
194
  if (has(customValuesData, path)) {
193
195
  return get(customValuesData, path);
194
- } // Check for camelcase properties
196
+ } // Check for camelcase properties.
195
197
 
196
198
 
197
199
  return get(customValuesData, [...path.slice(0, path.length - 1), camelCase(path[path.length - 1])]);
198
200
  });
199
201
  }
202
+
203
+ if (variable === 'var') {
204
+ stylesBase = stylesBase.replace(varRegex, (_$1, $2) => {
205
+ if (mappedValues !== null && mappedValues !== void 0 && mappedValues.color) {
206
+ var _mappedValues$color;
207
+
208
+ const matchedValue = find((_mappedValues$color = mappedValues.color) === null || _mappedValues$color === void 0 ? void 0 : _mappedValues$color.values, {
209
+ slug: $2
210
+ });
211
+ return `"${matchedValue === null || matchedValue === void 0 ? void 0 : matchedValue.color}"`;
212
+ }
213
+
214
+ return UNKNOWN_VALUE;
215
+ });
216
+ }
200
217
  });
201
218
  return JSON.parse(stylesBase);
202
219
  }
@@ -204,9 +221,7 @@ export function getMappedValues(features, palette) {
204
221
  var _typography$fontSizes, _typography$fontSizes2;
205
222
 
206
223
  const typography = features === null || features === void 0 ? void 0 : features.typography;
207
- const colors = { ...(palette === null || palette === void 0 ? void 0 : palette.theme),
208
- ...(palette === null || palette === void 0 ? void 0 : palette.custom)
209
- };
224
+ const colors = [...((palette === null || palette === void 0 ? void 0 : palette.theme) || []), ...((palette === null || palette === void 0 ? void 0 : palette.custom) || []), ...((palette === null || palette === void 0 ? void 0 : palette.default) || [])];
210
225
  const fontSizes = { ...(typography === null || typography === void 0 ? void 0 : (_typography$fontSizes = typography.fontSizes) === null || _typography$fontSizes === void 0 ? void 0 : _typography$fontSizes.theme),
211
226
  ...(typography === null || typography === void 0 ? void 0 : (_typography$fontSizes2 = typography.fontSizes) === null || _typography$fontSizes2 === void 0 ? void 0 : _typography$fontSizes2.custom)
212
227
  };
@@ -230,14 +245,14 @@ export function getMappedValues(features, palette) {
230
245
  */
231
246
 
232
247
  function normalizeFontSizes(fontSizes) {
233
- // Adds normalized PX values for each of the different keys
248
+ // Adds normalized PX values for each of the different keys.
234
249
  if (!fontSizes) {
235
250
  return fontSizes;
236
251
  }
237
252
 
238
253
  const normalizedFontSizes = {};
239
254
  const dimensions = Dimensions.get('window');
240
- ['default', 'theme', 'user'].forEach(key => {
255
+ ['default', 'theme', 'custom'].forEach(key => {
241
256
  if (fontSizes[key]) {
242
257
  var _fontSizes$key;
243
258
 
@@ -254,8 +269,43 @@ function normalizeFontSizes(fontSizes) {
254
269
  return normalizedFontSizes;
255
270
  }
256
271
 
272
+ export function useMobileGlobalStylesColors() {
273
+ var _colorGradientSetting;
274
+
275
+ let type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'colors';
276
+ const colorGradientSettings = useMultipleOriginColorsAndGradients();
277
+ const availableThemeColors = colorGradientSettings === null || colorGradientSettings === void 0 ? void 0 : (_colorGradientSetting = colorGradientSettings[type]) === null || _colorGradientSetting === void 0 ? void 0 : _colorGradientSetting.reduce((colors, origin) => colors.concat(origin === null || origin === void 0 ? void 0 : origin[type]), []); // Default editor colors/gradients if it's not a block-based theme.
278
+
279
+ const colorPalette = type === 'colors' ? 'color.palette' : 'color.gradients';
280
+ const editorDefaultPalette = useSetting(colorPalette);
281
+ return availableThemeColors.length >= 1 ? availableThemeColors : editorDefaultPalette;
282
+ }
283
+ export function getColorsAndGradients() {
284
+ let defaultEditorColors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
285
+ let defaultEditorGradients = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
286
+ let rawFeatures = arguments.length > 2 ? arguments[2] : undefined;
287
+ const features = rawFeatures ? JSON.parse(rawFeatures) : {};
288
+ return {
289
+ __experimentalGlobalStylesBaseStyles: null,
290
+ __experimentalFeatures: {
291
+ color: { ...(!(features !== null && features !== void 0 && features.color) ? {
292
+ text: true,
293
+ background: true,
294
+ palette: {
295
+ default: defaultEditorColors
296
+ },
297
+ gradients: {
298
+ default: defaultEditorGradients
299
+ }
300
+ } : features === null || features === void 0 ? void 0 : features.color),
301
+ defaultPalette: (defaultEditorColors === null || defaultEditorColors === void 0 ? void 0 : defaultEditorColors.length) > 0,
302
+ defaultGradients: (defaultEditorGradients === null || defaultEditorGradients === void 0 ? void 0 : defaultEditorGradients.length) > 0
303
+ }
304
+ }
305
+ };
306
+ }
257
307
  export function getGlobalStyles(rawStyles, rawFeatures) {
258
- var _features$color, _features$color2, _features$typography, _features$color$text, _features$color3, _features$color$backg, _features$color4, _features$custom;
308
+ var _features$color, _features$color2, _features$typography, _features$color$text, _features$color3, _features$color$backg, _features$color4, _features$color$defau, _features$color5, _features$color$defau2, _features$color6, _features$custom;
259
309
 
260
310
  const features = rawFeatures ? JSON.parse(rawFeatures) : {};
261
311
  const mappedValues = getMappedValues(features, features === null || features === void 0 ? void 0 : (_features$color = features.color) === null || _features$color === void 0 ? void 0 : _features$color.palette);
@@ -265,14 +315,14 @@ export function getGlobalStyles(rawStyles, rawFeatures) {
265
315
  const globalStyles = parseStylesVariables(rawStyles, mappedValues, customValues);
266
316
  const fontSizes = normalizeFontSizes(features === null || features === void 0 ? void 0 : (_features$typography = features.typography) === null || _features$typography === void 0 ? void 0 : _features$typography.fontSizes);
267
317
  return {
268
- colors,
269
- gradients,
270
318
  __experimentalFeatures: {
271
319
  color: {
272
320
  palette: colors === null || colors === void 0 ? void 0 : colors.palette,
273
321
  gradients,
274
322
  text: (_features$color$text = features === null || features === void 0 ? void 0 : (_features$color3 = features.color) === null || _features$color3 === void 0 ? void 0 : _features$color3.text) !== null && _features$color$text !== void 0 ? _features$color$text : true,
275
- background: (_features$color$backg = features === null || features === void 0 ? void 0 : (_features$color4 = features.color) === null || _features$color4 === void 0 ? void 0 : _features$color4.background) !== null && _features$color$backg !== void 0 ? _features$color$backg : true
323
+ background: (_features$color$backg = features === null || features === void 0 ? void 0 : (_features$color4 = features.color) === null || _features$color4 === void 0 ? void 0 : _features$color4.background) !== null && _features$color$backg !== void 0 ? _features$color$backg : true,
324
+ defaultPalette: (_features$color$defau = features === null || features === void 0 ? void 0 : (_features$color5 = features.color) === null || _features$color5 === void 0 ? void 0 : _features$color5.defaultPalette) !== null && _features$color$defau !== void 0 ? _features$color$defau : true,
325
+ defaultGradients: (_features$color$defau2 = features === null || features === void 0 ? void 0 : (_features$color6 = features.color) === null || _features$color6 === void 0 ? void 0 : _features$color6.defaultGradients) !== null && _features$color$defau2 !== void 0 ? _features$color$defau2 : true
276
326
  },
277
327
  typography: {
278
328
  fontSizes,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["find","startsWith","get","camelCase","has","Dimensions","getPxFromCssUnit","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","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","getMappedValues","features","palette","colors","theme","custom","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","width","height","getGlobalStyles","rawStyles","rawFeatures","stringify","gradients","globalStyles","__experimentalFeatures","customLineHeight","__experimentalGlobalStylesBaseStyles"],"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 { getPxFromCssUnit } 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' ];\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\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\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\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = { ...palette?.theme, ...palette?.custom };\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', 'user' ].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 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\tcolors,\n\t\tgradients,\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},\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":["find","startsWith","get","camelCase","has","Dimensions","getPxFromCssUnit","useSetting","useMultipleOriginColorsAndGradients","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","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"]}
@@ -65,7 +65,7 @@ export function getGradientColorGroup(gradientValue) {
65
65
 
66
66
  const colorNeedParenthesis = ['rgb', 'rgba'];
67
67
  const excludeSideOrCorner = /linear-gradient\(to\s+([a-z\s]+,)/; // Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)
68
- // so it's going to be excluded in order to matching color groups
68
+ // so it's going to be excluded in order to matching color groups.
69
69
 
70
70
  const modifiedGradientValue = gradientValue.replace(excludeSideOrCorner, 'linear-gradient(');
71
71
  return [].concat(...((_gradientParser$parse = gradientParser.parse(modifiedGradientValue)) === null || _gradientParser$parse === void 0 ? void 0 : _gradientParser$parse.map(gradient => {
@@ -143,7 +143,7 @@ function Gradient(_ref) {
143
143
  style: [style, styles.overflow]
144
144
  }, createElement(View, {
145
145
  style: styles.radialGradientContent
146
- }, children), resizeObserver, createElement(SVG, null, createElement(Defs, null, createElement(RadialGradient //eslint-disable-next-line no-restricted-syntax
146
+ }, children), resizeObserver, createElement(SVG, null, createElement(Defs, null, createElement(RadialGradient // eslint-disable-next-line no-restricted-syntax
147
147
  , {
148
148
  id: "radialGradient",
149
149
  gradientUnits: "userSpaceOnUse",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"names":["View","Platform","RNLinearGradient","gradientParser","colorsUtils","RadialGradient","Stop","SVG","Defs","Rect","useResizeObserver","useMemo","styles","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","width","height","isGradient","getGradientType","gradients","locations","colors","isLinearGradient","linear","overflow","radialGradientContent","OS","group"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { colorsUtils } from '@wordpress/components';\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else return 4 * angleBase;\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo( () => getGradientColorGroup( gradientValue ), [\n\t\tgradientValue,\n\t] );\n\n\tconst locations = useMemo( () => getColorLocations( colorGroup ), [\n\t\tcolorGroup,\n\t] );\n\n\tconst colors = useMemo( () => getGradientBaseColors( colorGroup ), [\n\t\tcolorGroup,\n\t] );\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle={ true }\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t//eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"names":["View","Platform","RNLinearGradient","gradientParser","colorsUtils","RadialGradient","Stop","SVG","Defs","Rect","useResizeObserver","useMemo","styles","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","width","height","isGradient","getGradientType","gradients","locations","colors","isLinearGradient","linear","overflow","radialGradientContent","OS","group"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { colorsUtils } from '@wordpress/components';\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else return 4 * angleBase;\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo( () => getGradientColorGroup( gradientValue ), [\n\t\tgradientValue,\n\t] );\n\n\tconst locations = useMemo( () => getColorLocations( colorGroup ), [\n\t\tcolorGroup,\n\t] );\n\n\tconst colors = useMemo( () => getGradientBaseColors( colorGroup ), [\n\t\tcolorGroup,\n\t] );\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle={ true }\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"]}
@@ -24,9 +24,9 @@ class HTMLInputContainer extends Component {
24
24
  onStartShouldSetPanResponderCapture: () => true,
25
25
  onPanResponderMove: (e, gestureState) => {
26
26
  if (gestureState.dy > 100 && gestureState.dy < 110) {
27
- //Keyboard.dismiss() and this.textInput.blur() are not working here
28
- //They require to know the currentlyFocusedID under the hood but
29
- //during this gesture there's no currentlyFocusedID
27
+ // Keyboard.dismiss() and this.textInput.blur() are not working here
28
+ // They require to know the currentlyFocusedID under the hood but
29
+ // during this gesture there's no currentlyFocusedID.
30
30
  UIManager.blur(e.target);
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/html-text-input/container.ios.js"],"names":["UIManager","PanResponder","Component","KeyboardAvoidingView","styles","HTMLInputContainer","constructor","arguments","panResponder","create","onStartShouldSetPanResponderCapture","onPanResponderMove","e","gestureState","dy","blur","target","render","keyboardAvoidingView","panHandlers","props","parentHeight","children","scrollEnabled"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,YAApB,QAAwC,cAAxC;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,MAAP,MAAmB,kBAAnB;;AAEA,MAAMC,kBAAN,SAAiCH,SAAjC,CAA2C;AAC1CI,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,YAAL,GAAoBP,YAAY,CAACQ,MAAb,CAAqB;AACxCC,MAAAA,mCAAmC,EAAE,MAAM,IADH;AAGxCC,MAAAA,kBAAkB,EAAE,CAAEC,CAAF,EAAKC,YAAL,KAAuB;AAC1C,YAAKA,YAAY,CAACC,EAAb,GAAkB,GAAlB,IAAyBD,YAAY,CAACC,EAAb,GAAkB,GAAhD,EAAsD;AACrD;AACA;AACA;AACAd,UAAAA,SAAS,CAACe,IAAV,CAAgBH,CAAC,CAACI,MAAlB;AACA;AACD;AAVuC,KAArB,CAApB;AAYA;;AAEDC,EAAAA,MAAM,GAAG;AACR,WACC,cAAC,oBAAD;AACC,MAAA,KAAK,EAAGb,MAAM,CAACc;AADhB,OAEM,KAAKV,YAAL,CAAkBW,WAFxB;AAGC,MAAA,YAAY,EAAG,KAAKC,KAAL,CAAWC;AAH3B,QAKG,KAAKD,KAAL,CAAWE,QALd,CADD;AASA;;AA5ByC;;AA+B3CjB,kBAAkB,CAACkB,aAAnB,GAAmC,IAAnC;AAEA,eAAelB,kBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { UIManager, PanResponder } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport KeyboardAvoidingView from '../keyboard-avoiding-view';\nimport styles from './style.ios.scss';\n\nclass HTMLInputContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.panResponder = PanResponder.create( {\n\t\t\tonStartShouldSetPanResponderCapture: () => true,\n\n\t\t\tonPanResponderMove: ( e, gestureState ) => {\n\t\t\t\tif ( gestureState.dy > 100 && gestureState.dy < 110 ) {\n\t\t\t\t\t//Keyboard.dismiss() and this.textInput.blur() are not working here\n\t\t\t\t\t//They require to know the currentlyFocusedID under the hood but\n\t\t\t\t\t//during this gesture there's no currentlyFocusedID\n\t\t\t\t\tUIManager.blur( e.target );\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<KeyboardAvoidingView\n\t\t\t\tstyle={ styles.keyboardAvoidingView }\n\t\t\t\t{ ...this.panResponder.panHandlers }\n\t\t\t\tparentHeight={ this.props.parentHeight }\n\t\t\t>\n\t\t\t\t{ this.props.children }\n\t\t\t</KeyboardAvoidingView>\n\t\t);\n\t}\n}\n\nHTMLInputContainer.scrollEnabled = true;\n\nexport default HTMLInputContainer;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/html-text-input/container.ios.js"],"names":["UIManager","PanResponder","Component","KeyboardAvoidingView","styles","HTMLInputContainer","constructor","arguments","panResponder","create","onStartShouldSetPanResponderCapture","onPanResponderMove","e","gestureState","dy","blur","target","render","keyboardAvoidingView","panHandlers","props","parentHeight","children","scrollEnabled"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,YAApB,QAAwC,cAAxC;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,MAAP,MAAmB,kBAAnB;;AAEA,MAAMC,kBAAN,SAAiCH,SAAjC,CAA2C;AAC1CI,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,YAAL,GAAoBP,YAAY,CAACQ,MAAb,CAAqB;AACxCC,MAAAA,mCAAmC,EAAE,MAAM,IADH;AAGxCC,MAAAA,kBAAkB,EAAE,CAAEC,CAAF,EAAKC,YAAL,KAAuB;AAC1C,YAAKA,YAAY,CAACC,EAAb,GAAkB,GAAlB,IAAyBD,YAAY,CAACC,EAAb,GAAkB,GAAhD,EAAsD;AACrD;AACA;AACA;AACAd,UAAAA,SAAS,CAACe,IAAV,CAAgBH,CAAC,CAACI,MAAlB;AACA;AACD;AAVuC,KAArB,CAApB;AAYA;;AAEDC,EAAAA,MAAM,GAAG;AACR,WACC,cAAC,oBAAD;AACC,MAAA,KAAK,EAAGb,MAAM,CAACc;AADhB,OAEM,KAAKV,YAAL,CAAkBW,WAFxB;AAGC,MAAA,YAAY,EAAG,KAAKC,KAAL,CAAWC;AAH3B,QAKG,KAAKD,KAAL,CAAWE,QALd,CADD;AASA;;AA5ByC;;AA+B3CjB,kBAAkB,CAACkB,aAAnB,GAAmC,IAAnC;AAEA,eAAelB,kBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { UIManager, PanResponder } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport KeyboardAvoidingView from '../keyboard-avoiding-view';\nimport styles from './style.ios.scss';\n\nclass HTMLInputContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.panResponder = PanResponder.create( {\n\t\t\tonStartShouldSetPanResponderCapture: () => true,\n\n\t\t\tonPanResponderMove: ( e, gestureState ) => {\n\t\t\t\tif ( gestureState.dy > 100 && gestureState.dy < 110 ) {\n\t\t\t\t\t// Keyboard.dismiss() and this.textInput.blur() are not working here\n\t\t\t\t\t// They require to know the currentlyFocusedID under the hood but\n\t\t\t\t\t// during this gesture there's no currentlyFocusedID.\n\t\t\t\t\tUIManager.blur( e.target );\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<KeyboardAvoidingView\n\t\t\t\tstyle={ styles.keyboardAvoidingView }\n\t\t\t\t{ ...this.panResponder.panHandlers }\n\t\t\t\tparentHeight={ this.props.parentHeight }\n\t\t\t>\n\t\t\t\t{ this.props.children }\n\t\t\t</KeyboardAvoidingView>\n\t\t);\n\t}\n}\n\nHTMLInputContainer.scrollEnabled = true;\n\nexport default HTMLInputContainer;\n"]}
@@ -42,7 +42,7 @@ export class HTMLTextInput extends Component {
42
42
  }
43
43
 
44
44
  componentWillUnmount() {
45
- removeFilter('native.persist-html', 'html-text-input'); //TODO: Blocking main thread
45
+ removeFilter('native.persist-html', 'html-text-input'); // TODO: Blocking main thread.
46
46
 
47
47
  this.stopEditing();
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/html-text-input/index.native.js"],"names":["TextInput","Component","__","parse","withDispatch","withSelect","addFilter","removeFilter","withInstanceId","compose","withPreferredColorScheme","HTMLInputContainer","styles","HTMLTextInput","constructor","arguments","edit","bind","stopEditing","getHTMLForParent","state","getDerivedStateFromProps","props","isDirty","value","componentWillUnmount","html","onChange","setState","onPersist","render","getStylesFromColorScheme","style","titleStyle","htmlViewTitle","text","color","htmlStyle","htmlView","htmlViewDark","placeholderStyle","placeholder","placeholderDark","parentHeight","title","editTitle","scrollEnabled","select","getEditedPostAttribute","getEditedPostContent","dispatch","editPost","resetEditorBlocks","content","blocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TextInput } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { addFilter, removeFilter } from '@wordpress/hooks';\nimport {\n\twithInstanceId,\n\tcompose,\n\twithPreferredColorScheme,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport HTMLInputContainer from './container';\nimport styles from './style.scss';\n\nexport class HTMLTextInput extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.edit = this.edit.bind( this );\n\t\tthis.stopEditing = this.stopEditing.bind( this );\n\t\tthis.getHTMLForParent = this.getHTMLForParent.bind( this );\n\t\taddFilter(\n\t\t\t'native.persist-html',\n\t\t\t'html-text-input',\n\t\t\tthis.getHTMLForParent\n\t\t);\n\n\t\tthis.state = {};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( state.isDirty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: props.value,\n\t\t\tisDirty: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tremoveFilter( 'native.persist-html', 'html-text-input' );\n\t\t//TODO: Blocking main thread\n\t\tthis.stopEditing();\n\t}\n\n\tedit( html ) {\n\t\tthis.props.onChange( html );\n\t\tthis.setState( { value: html, isDirty: true } );\n\t}\n\n\tgetHTMLForParent() {\n\t\treturn this.state.value;\n\t}\n\n\tstopEditing() {\n\t\tif ( this.state.isDirty ) {\n\t\t\tthis.props.onPersist( this.state.value );\n\t\t\tthis.setState( { isDirty: false } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { getStylesFromColorScheme, style } = this.props;\n\t\tconst titleStyle = [\n\t\t\tstyles.htmlViewTitle,\n\t\t\tstyle?.text && { color: style.text },\n\t\t];\n\t\tconst htmlStyle = [\n\t\t\tgetStylesFromColorScheme( styles.htmlView, styles.htmlViewDark ),\n\t\t\tstyle?.text && { color: style.text },\n\t\t];\n\t\tconst placeholderStyle = {\n\t\t\t...getStylesFromColorScheme(\n\t\t\t\tstyles.placeholder,\n\t\t\t\tstyles.placeholderDark\n\t\t\t),\n\t\t\t...( style?.text && { color: style.text } ),\n\t\t};\n\t\treturn (\n\t\t\t<HTMLInputContainer parentHeight={ this.props.parentHeight }>\n\t\t\t\t<TextInput\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\taccessibilityLabel=\"html-view-title\"\n\t\t\t\t\ttextAlignVertical=\"center\"\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tstyle={ titleStyle }\n\t\t\t\t\tvalue={ this.props.title }\n\t\t\t\t\tplaceholder={ __( 'Add title' ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle.color }\n\t\t\t\t\tonChangeText={ this.props.editTitle }\n\t\t\t\t/>\n\t\t\t\t<TextInput\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\taccessibilityLabel=\"html-view-content\"\n\t\t\t\t\ttextAlignVertical=\"top\"\n\t\t\t\t\tmultiline\n\t\t\t\t\tstyle={ htmlStyle }\n\t\t\t\t\tvalue={ this.state.value }\n\t\t\t\t\tonChangeText={ this.edit }\n\t\t\t\t\tonBlur={ this.stopEditing }\n\t\t\t\t\tplaceholder={ __( 'Start writing…' ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle.color }\n\t\t\t\t\tscrollEnabled={ HTMLInputContainer.scrollEnabled }\n\t\t\t\t/>\n\t\t\t</HTMLInputContainer>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getEditedPostContent } = select(\n\t\t\t'core/editor'\n\t\t);\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tvalue: getEditedPostContent(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonChange( content ) {\n\t\t\t\teditPost( { content } );\n\t\t\t},\n\t\t\tonPersist( content ) {\n\t\t\t\tconst blocks = parse( content );\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithPreferredColorScheme,\n] )( HTMLTextInput );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/html-text-input/index.native.js"],"names":["TextInput","Component","__","parse","withDispatch","withSelect","addFilter","removeFilter","withInstanceId","compose","withPreferredColorScheme","HTMLInputContainer","styles","HTMLTextInput","constructor","arguments","edit","bind","stopEditing","getHTMLForParent","state","getDerivedStateFromProps","props","isDirty","value","componentWillUnmount","html","onChange","setState","onPersist","render","getStylesFromColorScheme","style","titleStyle","htmlViewTitle","text","color","htmlStyle","htmlView","htmlViewDark","placeholderStyle","placeholder","placeholderDark","parentHeight","title","editTitle","scrollEnabled","select","getEditedPostAttribute","getEditedPostContent","dispatch","editPost","resetEditorBlocks","content","blocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TextInput } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { addFilter, removeFilter } from '@wordpress/hooks';\nimport {\n\twithInstanceId,\n\tcompose,\n\twithPreferredColorScheme,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport HTMLInputContainer from './container';\nimport styles from './style.scss';\n\nexport class HTMLTextInput extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.edit = this.edit.bind( this );\n\t\tthis.stopEditing = this.stopEditing.bind( this );\n\t\tthis.getHTMLForParent = this.getHTMLForParent.bind( this );\n\t\taddFilter(\n\t\t\t'native.persist-html',\n\t\t\t'html-text-input',\n\t\t\tthis.getHTMLForParent\n\t\t);\n\n\t\tthis.state = {};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( state.isDirty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: props.value,\n\t\t\tisDirty: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tremoveFilter( 'native.persist-html', 'html-text-input' );\n\t\t// TODO: Blocking main thread.\n\t\tthis.stopEditing();\n\t}\n\n\tedit( html ) {\n\t\tthis.props.onChange( html );\n\t\tthis.setState( { value: html, isDirty: true } );\n\t}\n\n\tgetHTMLForParent() {\n\t\treturn this.state.value;\n\t}\n\n\tstopEditing() {\n\t\tif ( this.state.isDirty ) {\n\t\t\tthis.props.onPersist( this.state.value );\n\t\t\tthis.setState( { isDirty: false } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { getStylesFromColorScheme, style } = this.props;\n\t\tconst titleStyle = [\n\t\t\tstyles.htmlViewTitle,\n\t\t\tstyle?.text && { color: style.text },\n\t\t];\n\t\tconst htmlStyle = [\n\t\t\tgetStylesFromColorScheme( styles.htmlView, styles.htmlViewDark ),\n\t\t\tstyle?.text && { color: style.text },\n\t\t];\n\t\tconst placeholderStyle = {\n\t\t\t...getStylesFromColorScheme(\n\t\t\t\tstyles.placeholder,\n\t\t\t\tstyles.placeholderDark\n\t\t\t),\n\t\t\t...( style?.text && { color: style.text } ),\n\t\t};\n\t\treturn (\n\t\t\t<HTMLInputContainer parentHeight={ this.props.parentHeight }>\n\t\t\t\t<TextInput\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\taccessibilityLabel=\"html-view-title\"\n\t\t\t\t\ttextAlignVertical=\"center\"\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tstyle={ titleStyle }\n\t\t\t\t\tvalue={ this.props.title }\n\t\t\t\t\tplaceholder={ __( 'Add title' ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle.color }\n\t\t\t\t\tonChangeText={ this.props.editTitle }\n\t\t\t\t/>\n\t\t\t\t<TextInput\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\taccessibilityLabel=\"html-view-content\"\n\t\t\t\t\ttextAlignVertical=\"top\"\n\t\t\t\t\tmultiline\n\t\t\t\t\tstyle={ htmlStyle }\n\t\t\t\t\tvalue={ this.state.value }\n\t\t\t\t\tonChangeText={ this.edit }\n\t\t\t\t\tonBlur={ this.stopEditing }\n\t\t\t\t\tplaceholder={ __( 'Start writing…' ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle.color }\n\t\t\t\t\tscrollEnabled={ HTMLInputContainer.scrollEnabled }\n\t\t\t\t/>\n\t\t\t</HTMLInputContainer>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getEditedPostContent } = select(\n\t\t\t'core/editor'\n\t\t);\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tvalue: getEditedPostContent(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\tonChange( content ) {\n\t\t\t\teditPost( { content } );\n\t\t\t},\n\t\t\tonPersist( content ) {\n\t\t\t\tconst blocks = parse( content );\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n\twithPreferredColorScheme,\n] )( HTMLTextInput );\n"]}
@@ -141,7 +141,7 @@ const ImageComponent = _ref => {
141
141
  height: imageHeight
142
142
  }, shapeStyle];
143
143
  return createElement(View, {
144
- style: [styles.container, // only set alignItems if an image exists because alignItems causes the placeholder
144
+ style: [styles.container, // Only set alignItems if an image exists because alignItems causes the placeholder
145
145
  // to disappear when an aligned image can't be downloaded
146
146
  // https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592
147
147
  imageData && align && {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["Image","Text","View","__","Icon","image","icon","usePreferredColorSchemeStyle","useEffect","useState","getImageWithFocalPointStyles","styles","SvgIconRetry","ImageEditingButton","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","iconRetry","iconPlaceholderStyles","iconUploadStyles","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 { Image, Text, View } from 'react-native';\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\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\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tImage.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\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\t{ ...( ! resizeMode && {\n\t\t\t\t\t\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t\t\t\t\t\t} ) }\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={ resizeMode }\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":["Image","Text","View","__","Icon","image","icon","usePreferredColorSchemeStyle","useEffect","useState","getImageWithFocalPointStyles","styles","SvgIconRetry","ImageEditingButton","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","iconRetry","iconPlaceholderStyles","iconUploadStyles","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;AACA;AACA;AACA,SAASA,KAAT,EAAgBC,IAAhB,EAAsBC,IAAtB,QAAkC,cAAlC;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,oBAApC;AAEA;AACA;AACA;;AACA,SAASC,4BAAT,QAA6C,SAA7C;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,YAAP,MAAyB,cAAzB;AACA,OAAOC,kBAAP,MAA+B,wBAA/B;AAEA,MAAMC,SAAS,GAAG;AACjBC,EAAAA,WAAW,EAAE,aADI;AAEjBC,EAAAA,KAAK,EAAE,OAFU;AAGjBC,EAAAA,MAAM,EAAE;AAHS,CAAlB;AAMA,OAAO,MAAMC,yBAAyB,GAAG;AAAEC,EAAAA,CAAC,EAAE,GAAL;AAAUC,EAAAA,CAAC,EAAE;AAAb,CAAlC;;AAEP,MAAMC,cAAc,GAAG,QAqBhB;AAAA;;AAAA,MArBkB;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,cARwB;AASxBC,IAAAA,kBATwB;AAUxBC,IAAAA,kBAVwB;AAWxBC,IAAAA,eAXwB;AAYxBC,IAAAA,yBAZwB;AAaxBC,IAAAA,gBAbwB;AAcxBC,IAAAA,UAdwB;AAexBC,IAAAA,YAfwB;AAgBxBC,IAAAA,SAhBwB;AAiBxBC,IAAAA,GAjBwB;AAkBxBC,IAAAA,UAlBwB;AAmBxBC,IAAAA,KAnBwB;AAoBxBC,IAAAA,KAAK,EAAEC;AApBiB,GAqBlB;AACN,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8BpC,QAAQ,CAAE,IAAF,CAA5C;AACA,QAAM,CAAEqC,aAAF,EAAiBC,gBAAjB,IAAsCtC,QAAQ,CAAE,IAAF,CAApD;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAIwC,SAAS,GAAG,IAAhB;;AACA,QAAKT,GAAL,EAAW;AACVvC,MAAAA,KAAK,CAACiD,OAAN,CAAeV,GAAf,EAAoB,CAAEW,QAAF,EAAYC,SAAZ,KAA2B;AAC9C,YAAK,CAAEH,SAAP,EAAmB;AAClB;AACA;;AACD,cAAMI,QAAQ,GAAG;AAChBC,UAAAA,WAAW,EAAEH,QAAQ,GAAGC,SADR;AAEhBT,UAAAA,KAAK,EAAEQ,QAFS;AAGhBxB,UAAAA,MAAM,EAAEyB;AAHQ,SAAjB;AAKAN,QAAAA,YAAY,CAAEO,QAAF,CAAZ;;AACA,YAAKnB,eAAL,EAAuB;AACtBA,UAAAA,eAAe,CAAEmB,QAAF,CAAf;AACA;AACD,OAbD;AAcA;;AACD,WAAO,MAAQJ,SAAS,GAAG,KAA3B;AACA,GAnBQ,EAmBN,CAAET,GAAF,CAnBM,CAAT;;AAqBA,QAAMe,iBAAiB,GAAKC,KAAF,IAAa;AACtC,UAAM;AAAE7B,MAAAA,MAAF;AAAUgB,MAAAA;AAAV,QAAoBa,KAAK,CAACC,WAAN,CAAkBC,MAA5C;;AAEA,QACCf,KAAK,KAAK,CAAV,IACAhB,MAAM,KAAK,CADX,KAEE,CAAAoB,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEJ,KAAf,MAAyBA,KAAzB,IACD,CAAAI,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEpB,MAAf,MAA0BA,MAH3B,CADD,EAKE;AACDqB,MAAAA,gBAAgB,CAAE;AAAEL,QAAAA,KAAF;AAAShB,QAAAA;AAAT,OAAF,CAAhB;AACA;AACD,GAXD;;AAaA,QAAMgC,OAAO,GAAKC,QAAF,IAAgB;AAC/B,QAAIC,SAAJ;;AACA,YAASD,QAAT;AACC,WAAK7C,SAAS,CAACE,KAAf;AACC,eACC,cAAC,IAAD;AACC,UAAA,IAAI,EAAGsB,SAAS,IAAI1B;AADrB,WAEMD,MAAM,CAACkD,SAFb,EADD;;AAMD,WAAK/C,SAAS,CAACC,WAAf;AACC6C,QAAAA,SAAS,GAAGE,qBAAZ;AACA;;AACD,WAAKhD,SAAS,CAACG,MAAf;AACC2C,QAAAA,SAAS,GAAGG,gBAAZ;AACA;AAbF;;AAeA,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGzD;AAAb,OAAyBsD,SAAzB,EAAP;AACA,GAlBD;;AAoBA,QAAME,qBAAqB,GAAGvD,4BAA4B,CACzDI,MAAM,CAACqD,eADkD,EAEzDrD,MAAM,CAACsD,mBAFkD,CAA1D;AAKA,QAAMF,gBAAgB,GAAGxD,4BAA4B,CACpDI,MAAM,CAACuD,UAD6C,EAEpDvD,MAAM,CAACwD,cAF6C,CAArD;AAKA,QAAMC,iBAAiB,GAAG,CACzB7D,4BAA4B,CAC3BI,MAAM,CAAC0D,oBADoB,EAE3B1D,MAAM,CAAC2D,wBAFoB,CADH,EAKzB7C,UAAU,IAAId,MAAM,CAAC4D,kCALI,EAMzB5C,WAAW,IAAI;AAAED,IAAAA,MAAM,EAAEC;AAAV,GANU,CAA1B;AASA,QAAM6C,WAAW,GAChB,CAAA5B,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,mBAEG/B,MAAM,CAAC8D,IAFV,iDAEG,aAAa/B,KAHjB;AAKA,QAAMgC,oBAAoB,GAAG,CAC5B/D,MAAM,CAACgE,YADqB,EAE5B;AACCjC,IAAAA,KAAK,EACJC,UAAU,uBAAKhC,MAAM,CAAC8D,IAAZ,kDAAK,cAAa/B,KAAlB,CAAV,IACEE,SAAS,IACVD,UAAU,GAAG,CADZ,IAEDA,UAAU,IAAGG,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEJ,KAAlB,CAHX,GAIGC,UAJH,GAKG6B;AAPL,GAF4B,EAW5BpC,UAAU,IAAI;AAAEM,IAAAA,KAAK,mBAAE/B,MAAM,CAAC8D,IAAT,kDAAE,cAAa/B;AAAtB,GAXc,EAY5BjB,UAAU,IAAId,MAAM,CAACiE,mBAZO,CAA7B;AAeA,QAAMC,WAAW,GAAG,CACnB;AACCC,IAAAA,OAAO,EAAE/C,kBAAkB,GAAG,GAAH,GAAS,CADrC;AAECL,IAAAA,MAAM,EAAEoB,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEpB;AAFxB,GADmB,EAKnBD,UAAU,IAAId,MAAM,CAACc,UALF,EAMnBA,UAAU,IACTf,4BAA4B,CAC3Be,UAD2B,EAE3BqB,aAF2B,EAG3BF,SAH2B,CAPV,EAYnB,CAAEnB,UAAF,IACCmB,SADD,IAECE,aAFD,IAEkB;AAChBpB,IAAAA,MAAM,EACL,CAAAkB,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,CAAES,WAAlC,CADH,GAEG0B;AAJY,GAdC,EAoBnBpD,WAAW,IAAI;AAAED,IAAAA,MAAM,EAAEC;AAAV,GApBI,EAqBnBa,UArBmB,CAApB;AAwBA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAG,CACP7B,MAAM,CAACqE,SADA,EAEP;AACA;AACA;AACApC,IAAAA,SAAS,IAAItB,KAAb,IAAsB;AAAE2D,MAAAA,UAAU,EAAE3D;AAAd,KALf,EAMPmB,KANO,CADT;AASC,IAAA,QAAQ,EAAGa;AATZ,KAWC,cAAC,IAAD;AACC,IAAA,UAAU,MADX;AAEC,IAAA,QAAQ,EAAG,CAAEzB,UAFd;AAGC,IAAA,kBAAkB,EAAGN,GAHtB;AAIC,IAAA,iBAAiB,EAAGpB,EAAE,CAAE,6BAAF,CAJvB;AAKC,IAAA,iBAAiB,EAAG,aALrB;AAMC,IAAA,GAAG,EAAGoC,GANP;AAOC,IAAA,KAAK,EAAGmC;AAPT,KASG7C,UAAU,IACXD,iBADC,IAED,EAAIG,kBAAkB,IAAID,cAA1B,CAFC,IAGA,cAAC,IAAD;AACC,IAAA,KAAK,EAAG,CACPnB,MAAM,CAACuE,WADA,EAEP;AAAExD,MAAAA,MAAM,EAAEoB,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEpB;AAAzB,KAFO;AADT,IAZH,EAoBG,CAAEkB,SAAF,GACD,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGwB;AAAd,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGzD,MAAM,CAACwE;AAArB,KACGzB,OAAO,CAAE5C,SAAS,CAACG,MAAZ,CADV,CADD,CADC,GAOD,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGQ,UAAU,IAAId,MAAM,CAACyE;AAAnC,KACC,cAAC,KAAD,eACQ,CAAEhD,UAAF,IAAgB;AACtBiB,IAAAA,WAAW,EAAET,SAAF,aAAEA,SAAF,uBAAEA,SAAS,CAAES;AADF,GADxB;AAIC,IAAA,KAAK,EAAGwB,WAJT;AAKC,IAAA,MAAM,EAAG;AAAEQ,MAAAA,GAAG,EAAE9C;AAAP;AALV,KAMQ,CAAEd,UAAF,IAAgB;AACtB6D,IAAAA,YAAY,EAAE;AADQ,GANxB;AASC,IAAA,UAAU,EAAGlD;AATd,KADD,CA3BF,EA0CGN,cAAc,IAAIO,YAAlB,IACD,cAAC,IAAD;AACC,IAAA,KAAK,EAAG,CACP1B,MAAM,CAAC4E,cADA,EAEP5E,MAAM,CAAC6E,cAFA;AADT,KAMC,cAAC,IAAD;AACC,IAAA,KAAK,EAAG,CACP7E,MAAM,CAAC2B,SADA,EAEPA,SAAS,IAAI3B,MAAM,CAAC8E,eAFb;AADT,KAMG/B,OAAO,CAAE5C,SAAS,CAACE,KAAZ,CANV,CAND,EAcC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGL,MAAM,CAAC+E;AAArB,KACGrD,YADH,CAdD,CA3CF,CAXD,EA2EGb,UAAU,IAAIK,UAAd,IAA4B,CAAEE,kBAA9B,IACD,cAAC,kBAAD;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,IA5EF,CADD;AAsFA,CApOD;;AAsOA,eAAeX,cAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { Image, Text, View } from 'react-native';\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\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\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tImage.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\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\t{ ...( ! resizeMode && {\n\t\t\t\t\t\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t\t\t\t\t\t} ) }\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={ resizeMode }\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"]}
@@ -12,13 +12,13 @@ import { Component } from '@wordpress/element';
12
12
  import { Icon } from '@wordpress/components';
13
13
  import { withPreferredColorScheme } from '@wordpress/compose';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
- import { sparkles } from '@wordpress/icons';
16
15
  import { BlockIcon } from '@wordpress/block-editor';
17
16
  /**
18
17
  * Internal dependencies
19
18
  */
20
19
 
21
20
  import styles from './style.scss';
21
+ import sparkles from './sparkles';
22
22
 
23
23
  class MenuItem extends Component {
24
24
  constructor() {