@wordpress/components 34.0.0 → 35.0.1

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 (514) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/build/alignment-matrix-control/cell.cjs +1 -1
  3. package/build/alignment-matrix-control/cell.cjs.map +2 -2
  4. package/build/alignment-matrix-control/index.cjs +1 -1
  5. package/build/alignment-matrix-control/index.cjs.map +2 -2
  6. package/build/border-control/border-control-dropdown/component.cjs +33 -33
  7. package/build/border-control/border-control-dropdown/component.cjs.map +3 -3
  8. package/build/color-palette/index.cjs +3 -0
  9. package/build/color-palette/index.cjs.map +2 -2
  10. package/build/custom-gradient-picker/gradient-bar/index.cjs.map +2 -2
  11. package/build/disabled/index.cjs +1 -1
  12. package/build/disabled/index.cjs.map +2 -2
  13. package/build/draggable/index.cjs +1 -1
  14. package/build/draggable/index.cjs.map +2 -2
  15. package/build/higher-order/with-notices/index.cjs +15 -3
  16. package/build/higher-order/with-notices/index.cjs.map +2 -2
  17. package/build/input-control/input-base.cjs +34 -31
  18. package/build/input-control/input-base.cjs.map +2 -2
  19. package/build/navigable-container/container.cjs +15 -21
  20. package/build/navigable-container/container.cjs.map +2 -2
  21. package/build/responsive-wrapper/index.cjs +3 -4
  22. package/build/responsive-wrapper/index.cjs.map +2 -2
  23. package/build/tooltip/index.cjs +1 -2
  24. package/build/tooltip/index.cjs.map +2 -2
  25. package/build/unit-control/utils.cjs +33 -35
  26. package/build/unit-control/utils.cjs.map +2 -2
  27. package/build-module/alignment-matrix-control/cell.mjs +1 -1
  28. package/build-module/alignment-matrix-control/cell.mjs.map +2 -2
  29. package/build-module/alignment-matrix-control/index.mjs +1 -1
  30. package/build-module/alignment-matrix-control/index.mjs.map +2 -2
  31. package/build-module/border-control/border-control-dropdown/component.mjs +34 -34
  32. package/build-module/border-control/border-control-dropdown/component.mjs.map +2 -2
  33. package/build-module/color-palette/index.mjs +3 -0
  34. package/build-module/color-palette/index.mjs.map +2 -2
  35. package/build-module/custom-gradient-picker/gradient-bar/index.mjs.map +2 -2
  36. package/build-module/disabled/index.mjs +1 -1
  37. package/build-module/disabled/index.mjs.map +2 -2
  38. package/build-module/draggable/index.mjs +1 -1
  39. package/build-module/draggable/index.mjs.map +2 -2
  40. package/build-module/higher-order/with-notices/index.mjs +16 -4
  41. package/build-module/higher-order/with-notices/index.mjs.map +2 -2
  42. package/build-module/input-control/input-base.mjs +34 -31
  43. package/build-module/input-control/input-base.mjs.map +2 -2
  44. package/build-module/navigable-container/container.mjs +16 -22
  45. package/build-module/navigable-container/container.mjs.map +2 -2
  46. package/build-module/responsive-wrapper/index.mjs +3 -4
  47. package/build-module/responsive-wrapper/index.mjs.map +2 -2
  48. package/build-module/tooltip/index.mjs +1 -2
  49. package/build-module/tooltip/index.mjs.map +2 -2
  50. package/build-module/unit-control/utils.mjs +33 -35
  51. package/build-module/unit-control/utils.mjs.map +2 -2
  52. package/build-style/style-rtl.css +41 -10
  53. package/build-style/style.css +41 -10
  54. package/build-types/border-box-control/border-box-control/hook.d.ts +10 -24
  55. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  56. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +12 -26
  57. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  58. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +10 -24
  59. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  60. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +11 -25
  61. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  62. package/build-types/border-control/border-control/hook.d.ts +10 -24
  63. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  64. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  65. package/build-types/border-control/border-control-dropdown/hook.d.ts +9 -23
  66. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  67. package/build-types/box-control/styles/box-control-styles.d.ts +2 -2
  68. package/build-types/card/card/hook.d.ts +11 -25
  69. package/build-types/card/card/hook.d.ts.map +1 -1
  70. package/build-types/card/card-body/hook.d.ts +11 -25
  71. package/build-types/card/card-body/hook.d.ts.map +1 -1
  72. package/build-types/card/card-divider/hook.d.ts +12 -26
  73. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  74. package/build-types/card/card-footer/hook.d.ts +11 -25
  75. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  76. package/build-types/card/card-header/hook.d.ts +11 -25
  77. package/build-types/card/card-header/hook.d.ts.map +1 -1
  78. package/build-types/card/card-media/hook.d.ts +11 -25
  79. package/build-types/card/card-media/hook.d.ts.map +1 -1
  80. package/build-types/card/context.d.ts +3 -0
  81. package/build-types/card/context.d.ts.map +1 -0
  82. package/build-types/color-palette/index.d.ts.map +1 -1
  83. package/build-types/color-picker/styles.d.ts +2 -2
  84. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  85. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
  86. package/build-types/custom-select-control-v2/styles.d.ts +12 -4
  87. package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
  88. package/build-types/date-time/date/index.d.ts +23 -0
  89. package/build-types/date-time/date/index.d.ts.map +1 -0
  90. package/build-types/date-time/date/styles.d.ts +45 -0
  91. package/build-types/date-time/date/styles.d.ts.map +1 -0
  92. package/build-types/date-time/date/test/index.d.ts +2 -0
  93. package/build-types/date-time/date/test/index.d.ts.map +1 -0
  94. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  95. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  96. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  97. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  98. package/build-types/date-time/time/index.d.ts +27 -0
  99. package/build-types/date-time/time/index.d.ts.map +1 -0
  100. package/build-types/date-time/time/styles.d.ts +93 -0
  101. package/build-types/date-time/time/styles.d.ts.map +1 -0
  102. package/build-types/date-time/time/test/index.d.ts +2 -0
  103. package/build-types/date-time/time/test/index.d.ts.map +1 -0
  104. package/build-types/date-time/time/time-input/index.d.ts +4 -0
  105. package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
  106. package/build-types/date-time/time/time-input/test/index.d.ts +2 -0
  107. package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
  108. package/build-types/date-time/time/timezone.d.ts +7 -0
  109. package/build-types/date-time/time/timezone.d.ts.map +1 -0
  110. package/build-types/date-time/time-picker/styles.d.ts +4 -4
  111. package/build-types/elevation/hook.d.ts +11 -25
  112. package/build-types/elevation/hook.d.ts.map +1 -1
  113. package/build-types/flex/flex/hook.d.ts +11 -25
  114. package/build-types/flex/flex/hook.d.ts.map +1 -1
  115. package/build-types/flex/flex-block/hook.d.ts +11 -25
  116. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  117. package/build-types/flex/flex-item/hook.d.ts +11 -25
  118. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  119. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  120. package/build-types/grid/hook.d.ts +11 -25
  121. package/build-types/grid/hook.d.ts.map +1 -1
  122. package/build-types/h-stack/hook.d.ts +11 -25
  123. package/build-types/h-stack/hook.d.ts.map +1 -1
  124. package/build-types/heading/hook.d.ts +11 -25
  125. package/build-types/heading/hook.d.ts.map +1 -1
  126. package/build-types/higher-order/with-fallback-styles/index.d.ts +3 -1
  127. package/build-types/higher-order/with-filters/index.d.ts +6 -1
  128. package/build-types/higher-order/with-filters/index.d.ts.map +1 -1
  129. package/build-types/higher-order/with-notices/index.d.ts +4 -2
  130. package/build-types/higher-order/with-notices/index.d.ts.map +1 -1
  131. package/build-types/input-control/reducer/reducer.d.ts +1 -1
  132. package/build-types/item-group/item/hook.d.ts +11 -25
  133. package/build-types/item-group/item/hook.d.ts.map +1 -1
  134. package/build-types/item-group/item-group/hook.d.ts +11 -25
  135. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  136. package/build-types/menu/stories/index.story.d.ts.map +1 -1
  137. package/build-types/menu/styles.d.ts +21 -7
  138. package/build-types/menu/styles.d.ts.map +1 -1
  139. package/build-types/modal/use-modal-exit-animation.d.ts +1 -1
  140. package/build-types/navigable-container/container.d.ts.map +1 -1
  141. package/build-types/navigation/back-button/index.d.ts +7 -0
  142. package/build-types/navigation/back-button/index.d.ts.map +1 -0
  143. package/build-types/navigation/constants.d.ts +3 -0
  144. package/build-types/navigation/constants.d.ts.map +1 -0
  145. package/build-types/navigation/context.d.ts +4 -0
  146. package/build-types/navigation/context.d.ts.map +1 -0
  147. package/build-types/navigation/group/context.d.ts +7 -0
  148. package/build-types/navigation/group/context.d.ts.map +1 -0
  149. package/build-types/navigation/group/index.d.ts +7 -0
  150. package/build-types/navigation/group/index.d.ts.map +1 -0
  151. package/build-types/navigation/index.d.ts +46 -0
  152. package/build-types/navigation/index.d.ts.map +1 -0
  153. package/build-types/navigation/item/base-content.d.ts +3 -0
  154. package/build-types/navigation/item/base-content.d.ts.map +1 -0
  155. package/build-types/navigation/item/base.d.ts +3 -0
  156. package/build-types/navigation/item/base.d.ts.map +1 -0
  157. package/build-types/navigation/item/index.d.ts +7 -0
  158. package/build-types/navigation/item/index.d.ts.map +1 -0
  159. package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
  160. package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
  161. package/build-types/navigation/menu/context.d.ts +7 -0
  162. package/build-types/navigation/menu/context.d.ts.map +1 -0
  163. package/build-types/navigation/menu/index.d.ts +7 -0
  164. package/build-types/navigation/menu/index.d.ts.map +1 -0
  165. package/build-types/navigation/menu/menu-title-search.d.ts +3 -0
  166. package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
  167. package/build-types/navigation/menu/menu-title.d.ts +3 -0
  168. package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
  169. package/build-types/navigation/menu/search-no-results-found.d.ts +3 -0
  170. package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
  171. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
  172. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
  173. package/build-types/navigation/stories/index.story.d.ts +23 -0
  174. package/build-types/navigation/stories/index.story.d.ts.map +1 -0
  175. package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
  176. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
  177. package/build-types/navigation/stories/utils/default.d.ts +10 -0
  178. package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
  179. package/build-types/navigation/stories/utils/group.d.ts +10 -0
  180. package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
  181. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
  182. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
  183. package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
  184. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
  185. package/build-types/navigation/stories/utils/search.d.ts +10 -0
  186. package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
  187. package/build-types/navigation/styles/navigation-styles.d.ts +55 -0
  188. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
  189. package/build-types/navigation/test/index.d.ts +2 -0
  190. package/build-types/navigation/test/index.d.ts.map +1 -0
  191. package/build-types/navigation/types.d.ts +266 -0
  192. package/build-types/navigation/types.d.ts.map +1 -0
  193. package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
  194. package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
  195. package/build-types/navigation/use-navigation-tree-nodes.d.ts +10 -0
  196. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
  197. package/build-types/navigation/utils.d.ts +3 -0
  198. package/build-types/navigation/utils.d.ts.map +1 -0
  199. package/build-types/navigator/navigator-back-button/hook.d.ts +12 -26
  200. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  201. package/build-types/navigator/navigator-button/hook.d.ts +12 -26
  202. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  203. package/build-types/number-control/index.d.ts +1 -1
  204. package/build-types/number-control/index.d.ts.map +1 -1
  205. package/build-types/number-control/stories/index.story.d.ts +1 -1
  206. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  207. package/build-types/popover/types.d.ts +2 -2
  208. package/build-types/popover/types.d.ts.map +1 -1
  209. package/build-types/range-control/index.d.ts +1 -1
  210. package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
  211. package/build-types/range-control/types.d.ts +1 -1
  212. package/build-types/range-control/types.d.ts.map +1 -1
  213. package/build-types/responsive-wrapper/index.d.ts.map +1 -1
  214. package/build-types/scrollable/hook.d.ts +11 -25
  215. package/build-types/scrollable/hook.d.ts.map +1 -1
  216. package/build-types/snackbar/index.d.ts +2 -2
  217. package/build-types/snackbar/types.d.ts +2 -2
  218. package/build-types/snackbar/types.d.ts.map +1 -1
  219. package/build-types/spacer/hook.d.ts +11 -25
  220. package/build-types/spacer/hook.d.ts.map +1 -1
  221. package/build-types/surface/hook.d.ts +11 -25
  222. package/build-types/surface/hook.d.ts.map +1 -1
  223. package/build-types/tabs/stories/index.story.d.ts.map +1 -1
  224. package/build-types/tabs/styles.d.ts +9 -3
  225. package/build-types/tabs/styles.d.ts.map +1 -1
  226. package/build-types/text/hook.d.ts +11 -25
  227. package/build-types/text/hook.d.ts.map +1 -1
  228. package/build-types/tools-panel/tools-panel/hook.d.ts +11 -25
  229. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  230. package/build-types/tools-panel/tools-panel-header/hook.d.ts +11 -25
  231. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  232. package/build-types/tools-panel/tools-panel-item/hook.d.ts +11 -25
  233. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  234. package/build-types/tooltip/index.d.ts.map +1 -1
  235. package/build-types/truncate/hook.d.ts +11 -25
  236. package/build-types/truncate/hook.d.ts.map +1 -1
  237. package/build-types/unit-control/index.d.ts +1 -1
  238. package/build-types/unit-control/index.d.ts.map +1 -1
  239. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  240. package/build-types/unit-control/utils.d.ts.map +1 -1
  241. package/build-types/utils/get-node-text.d.ts.map +1 -1
  242. package/build-types/v-stack/hook.d.ts +11 -25
  243. package/build-types/v-stack/hook.d.ts.map +1 -1
  244. package/build-types/validated-form-controls/components/combobox-control.d.ts +2 -2
  245. package/build-types/validated-form-controls/components/number-control.d.ts +1 -1
  246. package/build-types/validated-form-controls/components/number-control.d.ts.map +1 -1
  247. package/build-types/validated-form-controls/components/range-control.d.ts +1 -1
  248. package/build-types/validated-form-controls/control-with-error.d.ts +1 -4
  249. package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -1
  250. package/build-types/visually-hidden/test/index.d.ts +2 -0
  251. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  252. package/package.json +37 -35
  253. package/src/autocomplete/README.md +1 -1
  254. package/src/border-control/border-control-dropdown/component.tsx +37 -36
  255. package/src/card/card/README.md +4 -4
  256. package/src/checkbox-control/README.md +1 -1
  257. package/src/clipboard-button/README.md +4 -4
  258. package/src/color-palette/index.tsx +5 -0
  259. package/src/color-palette/test/index.tsx +30 -0
  260. package/src/combobox-control/README.md +1 -1
  261. package/src/composite/stories/index.story.tsx +1 -0
  262. package/src/confirm-dialog/README.md +1 -1
  263. package/src/custom-gradient-picker/gradient-bar/index.tsx +1 -1
  264. package/src/disabled/index.tsx +1 -1
  265. package/src/flex/flex/README.md +1 -1
  266. package/src/form-file-upload/README.md +1 -1
  267. package/src/h-stack/hook.tsx +1 -1
  268. package/src/higher-order/with-notices/index.tsx +21 -4
  269. package/src/higher-order/with-notices/test/index.tsx +18 -0
  270. package/src/input-control/input-base.tsx +2 -2
  271. package/src/menu/README.md +7 -7
  272. package/src/menu/stories/index.story.tsx +1 -0
  273. package/src/navigable-container/container.tsx +22 -30
  274. package/src/popover/README.md +1 -1
  275. package/src/popover/index.tsx +1 -1
  276. package/src/popover/types.ts +4 -2
  277. package/src/range-control/types.ts +1 -1
  278. package/src/responsive-wrapper/index.tsx +3 -7
  279. package/src/scrollable/README.md +1 -1
  280. package/src/snackbar/README.md +1 -1
  281. package/src/snackbar/types.ts +2 -2
  282. package/src/tabs/README.md +1 -1
  283. package/src/tabs/stories/index.story.tsx +1 -0
  284. package/src/tabs/tablist.tsx +1 -1
  285. package/src/tooltip/index.tsx +1 -7
  286. package/src/tooltip/style.scss +1 -1
  287. package/src/tree-grid/test/cell.tsx +1 -0
  288. package/src/tree-grid/test/roving-tab-index-item.tsx +1 -0
  289. package/src/tree-select/README.md +1 -1
  290. package/src/unit-control/utils.ts +33 -52
  291. package/src/utils/get-node-text.ts +1 -7
  292. package/src/validated-form-controls/control-with-error.tsx +1 -6
  293. package/build/mobile/image/constants.cjs +0 -34
  294. package/build/mobile/image/constants.cjs.map +0 -7
  295. package/build-module/mobile/image/constants.mjs +0 -9
  296. package/build-module/mobile/image/constants.mjs.map +0 -7
  297. package/src/autocomplete/autocompleter-ui.native.js +0 -211
  298. package/src/autocomplete/background-view.android.js +0 -25
  299. package/src/autocomplete/background-view.ios.js +0 -23
  300. package/src/autocomplete/style.android.scss +0 -7
  301. package/src/autocomplete/style.native.scss +0 -74
  302. package/src/base-control/index.native.js +0 -14
  303. package/src/button/index.native.js +0 -236
  304. package/src/button/style.native.scss +0 -9
  305. package/src/color-control/index.native.js +0 -24
  306. package/src/color-indicator/index.native.js +0 -80
  307. package/src/color-indicator/style.native.scss +0 -51
  308. package/src/color-palette/index.native.js +0 -360
  309. package/src/color-palette/style.native.scss +0 -49
  310. package/src/color-picker/hsv-color-picker.native.js +0 -88
  311. package/src/color-picker/hue-picker.native.js +0 -198
  312. package/src/color-picker/index.native.js +0 -215
  313. package/src/color-picker/saturation-picker.native.js +0 -167
  314. package/src/color-picker/style.native.scss +0 -87
  315. package/src/custom-gradient-picker/index.native.js +0 -110
  316. package/src/custom-gradient-picker/style.native.scss +0 -3
  317. package/src/dashicon/index.native.js +0 -18
  318. package/src/disabled/index.native.js +0 -10
  319. package/src/draggable/index.native.js +0 -234
  320. package/src/draggable/style.native.scss +0 -3
  321. package/src/draggable/test/index.native.js +0 -138
  322. package/src/dropdown/index.native.js +0 -59
  323. package/src/dropdown-menu/index.native.js +0 -152
  324. package/src/external-link/index.native.js +0 -25
  325. package/src/focal-point-picker/focal-point.native.js +0 -30
  326. package/src/focal-point-picker/index.native.js +0 -281
  327. package/src/focal-point-picker/tooltip/index.native.js +0 -144
  328. package/src/focal-point-picker/tooltip/style.native.scss +0 -42
  329. package/src/font-size-picker/index.native.js +0 -190
  330. package/src/font-size-picker/style.native.scss +0 -6
  331. package/src/footer-message-control/index.native.js +0 -14
  332. package/src/higher-order/with-focus-outside/index.native.js +0 -38
  333. package/src/index.native.js +0 -134
  334. package/src/keyboard-shortcuts/index.native.js +0 -2
  335. package/src/mobile/README.md +0 -3
  336. package/src/mobile/autocompletion-items.native.js +0 -11
  337. package/src/mobile/badge/README.md +0 -31
  338. package/src/mobile/badge/index.native.js +0 -27
  339. package/src/mobile/badge/style.scss +0 -18
  340. package/src/mobile/bottom-sheet/borderStyles.android.scss +0 -8
  341. package/src/mobile/bottom-sheet/borderStyles.ios.scss +0 -9
  342. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +0 -40
  343. package/src/mobile/bottom-sheet/bottom-sheet-navigation/README.md +0 -101
  344. package/src/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +0 -16
  345. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -193
  346. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +0 -146
  347. package/src/mobile/bottom-sheet/bottom-sheet-navigation/styles.native.scss +0 -11
  348. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +0 -197
  349. package/src/mobile/bottom-sheet/button.native.js +0 -19
  350. package/src/mobile/bottom-sheet/cell.native.js +0 -464
  351. package/src/mobile/bottom-sheet/cellStyles.android.scss +0 -15
  352. package/src/mobile/bottom-sheet/cellStyles.ios.scss +0 -19
  353. package/src/mobile/bottom-sheet/chevron-back.native.js +0 -18
  354. package/src/mobile/bottom-sheet/color-cell.native.js +0 -35
  355. package/src/mobile/bottom-sheet/cycle-picker-cell.native.js +0 -31
  356. package/src/mobile/bottom-sheet/footer-message-cell.native.js +0 -23
  357. package/src/mobile/bottom-sheet/footer-message-link/README.md +0 -37
  358. package/src/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +0 -26
  359. package/src/mobile/bottom-sheet/footer-message-link/styles.native.scss +0 -7
  360. package/src/mobile/bottom-sheet/index.native.js +0 -646
  361. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -125
  362. package/src/mobile/bottom-sheet/link-cell.native.js +0 -35
  363. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +0 -92
  364. package/src/mobile/bottom-sheet/link-suggestion-styles.native.scss +0 -27
  365. package/src/mobile/bottom-sheet/lock-icon/index.native.js +0 -19
  366. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +0 -8
  367. package/src/mobile/bottom-sheet/nav-bar/README.md +0 -63
  368. package/src/mobile/bottom-sheet/nav-bar/action-button.native.js +0 -30
  369. package/src/mobile/bottom-sheet/nav-bar/apply-button.native.js +0 -53
  370. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +0 -94
  371. package/src/mobile/bottom-sheet/nav-bar/heading.native.js +0 -33
  372. package/src/mobile/bottom-sheet/nav-bar/index.native.js +0 -23
  373. package/src/mobile/bottom-sheet/nav-bar/styles.native.scss +0 -69
  374. package/src/mobile/bottom-sheet/picker-cell.native.js +0 -40
  375. package/src/mobile/bottom-sheet/radio-cell.native.js +0 -39
  376. package/src/mobile/bottom-sheet/range-cell.native.js +0 -274
  377. package/src/mobile/bottom-sheet/range-cell.native.scss +0 -40
  378. package/src/mobile/bottom-sheet/range-text-input.native.js +0 -248
  379. package/src/mobile/bottom-sheet/ripple.native.js +0 -83
  380. package/src/mobile/bottom-sheet/ripple.native.scss +0 -11
  381. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +0 -264
  382. package/src/mobile/bottom-sheet/stepper-cell/stepper.android.js +0 -78
  383. package/src/mobile/bottom-sheet/stepper-cell/stepper.ios.js +0 -64
  384. package/src/mobile/bottom-sheet/stepper-cell/style.native.scss +0 -89
  385. package/src/mobile/bottom-sheet/styles.native.scss +0 -333
  386. package/src/mobile/bottom-sheet/sub-sheet/README.md +0 -90
  387. package/src/mobile/bottom-sheet/sub-sheet/index.native.js +0 -49
  388. package/src/mobile/bottom-sheet/switch-cell.native.js +0 -75
  389. package/src/mobile/bottom-sheet/test/index.native.js +0 -24
  390. package/src/mobile/bottom-sheet/test/range-cell.native.js +0 -73
  391. package/src/mobile/bottom-sheet-select-control/README.md +0 -97
  392. package/src/mobile/bottom-sheet-select-control/index.native.js +0 -124
  393. package/src/mobile/bottom-sheet-select-control/style.native.scss +0 -3
  394. package/src/mobile/bottom-sheet-text-control/README.md +0 -98
  395. package/src/mobile/bottom-sheet-text-control/index.native.js +0 -104
  396. package/src/mobile/bottom-sheet-text-control/styles.scss +0 -25
  397. package/src/mobile/clipboard/index.native.js +0 -18
  398. package/src/mobile/color-settings/gradient-picker-screen.native.js +0 -37
  399. package/src/mobile/color-settings/index.native.js +0 -88
  400. package/src/mobile/color-settings/palette.screen.native.js +0 -232
  401. package/src/mobile/color-settings/picker-screen.native.js +0 -60
  402. package/src/mobile/color-settings/style.native.scss +0 -62
  403. package/src/mobile/color-settings/utils.native.js +0 -36
  404. package/src/mobile/cycle-select-control/README.md +0 -3
  405. package/src/mobile/cycle-select-control/index.native.js +0 -39
  406. package/src/mobile/dashicons/index.native.js +0 -22
  407. package/src/mobile/focal-point-settings-panel/index.native.js +0 -84
  408. package/src/mobile/focal-point-settings-panel/styles.native.scss +0 -3
  409. package/src/mobile/gradient/index.native.js +0 -188
  410. package/src/mobile/gradient/style.native.scss +0 -8
  411. package/src/mobile/gradient/test/index.native.js +0 -114
  412. package/src/mobile/gridicons/index.native.js +0 -39
  413. package/src/mobile/html-text-input/index.native.js +0 -169
  414. package/src/mobile/html-text-input/style.android.scss +0 -8
  415. package/src/mobile/html-text-input/style.ios.scss +0 -10
  416. package/src/mobile/html-text-input/style.scss +0 -45
  417. package/src/mobile/html-text-input/test/__snapshots__/index.native.js.snap +0 -48
  418. package/src/mobile/html-text-input/test/index.native.js +0 -118
  419. package/src/mobile/image/constants.js +0 -1
  420. package/src/mobile/image/icon-customize.native.js +0 -10
  421. package/src/mobile/image/icon-retry.native.js +0 -11
  422. package/src/mobile/image/image-editing-button.native.js +0 -63
  423. package/src/mobile/image/index.native.js +0 -401
  424. package/src/mobile/image/style.native.scss +0 -179
  425. package/src/mobile/image/utils/index.native.js +0 -58
  426. package/src/mobile/keyboard-avoiding-view/index.android.js +0 -8
  427. package/src/mobile/keyboard-avoiding-view/index.ios.js +0 -143
  428. package/src/mobile/keyboard-avoiding-view/styles.native.scss +0 -9
  429. package/src/mobile/keyboard-aware-flat-list/index.android.js +0 -81
  430. package/src/mobile/keyboard-aware-flat-list/index.ios.js +0 -147
  431. package/src/mobile/keyboard-aware-flat-list/shared.native.js +0 -26
  432. package/src/mobile/keyboard-aware-flat-list/styles.native.scss +0 -8
  433. package/src/mobile/keyboard-aware-flat-list/test/use-keyboard-offset.native.js +0 -203
  434. package/src/mobile/keyboard-aware-flat-list/test/use-scroll-to-section.native.js +0 -142
  435. package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +0 -71
  436. package/src/mobile/keyboard-aware-flat-list/test/use-text-input-caret-position.native.js +0 -82
  437. package/src/mobile/keyboard-aware-flat-list/test/use-text-input-offset.native.js +0 -147
  438. package/src/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +0 -87
  439. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +0 -41
  440. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js +0 -100
  441. package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +0 -100
  442. package/src/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js +0 -36
  443. package/src/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js +0 -54
  444. package/src/mobile/layout-animation/index.native.js +0 -16
  445. package/src/mobile/link-picker/index.native.js +0 -160
  446. package/src/mobile/link-picker/link-picker-results.native.js +0 -129
  447. package/src/mobile/link-picker/link-picker-screen.native.js +0 -60
  448. package/src/mobile/link-picker/styles.native.scss +0 -45
  449. package/src/mobile/link-picker/test/performance/index.native.js +0 -35
  450. package/src/mobile/link-settings/index.native.js +0 -332
  451. package/src/mobile/link-settings/link-rel.native.js +0 -10
  452. package/src/mobile/link-settings/link-settings-navigation.native.js +0 -50
  453. package/src/mobile/link-settings/link-settings-screen.native.js +0 -44
  454. package/src/mobile/link-settings/style.native.scss +0 -4
  455. package/src/mobile/link-settings/test/edit.native.js +0 -325
  456. package/src/mobile/link-settings/test/link-settings-navigation.native.js +0 -94
  457. package/src/mobile/media-edit/index.native.js +0 -125
  458. package/src/mobile/picker/index.android.js +0 -104
  459. package/src/mobile/picker/index.ios.js +0 -96
  460. package/src/mobile/picker/styles.native.scss +0 -29
  461. package/src/mobile/segmented-control/index.native.js +0 -186
  462. package/src/mobile/segmented-control/style.native.scss +0 -99
  463. package/src/mobile/utils/alignments.native.js +0 -78
  464. package/src/mobile/utils/get-px-from-css-unit.native.js +0 -329
  465. package/src/mobile/utils/index.native.js +0 -12
  466. package/src/mobile/utils/test/get-px-from-css-unit.native.js +0 -172
  467. package/src/mobile/utils/test/index.native.js +0 -134
  468. package/src/mobile/utils/use-is-floating-keyboard.native.js +0 -31
  469. package/src/mobile/utils/use-unit-converter-to-mobile.native.js +0 -90
  470. package/src/notice/index.native.js +0 -123
  471. package/src/notice/list.native.js +0 -55
  472. package/src/notice/style.native.scss +0 -60
  473. package/src/panel/actions.native.js +0 -46
  474. package/src/panel/actions.native.scss +0 -12
  475. package/src/panel/body.native.js +0 -29
  476. package/src/panel/body.native.scss +0 -11
  477. package/src/panel/bottom-separator-cover.native.js +0 -27
  478. package/src/panel/bottom-separator-cover.native.scss +0 -9
  479. package/src/private-apis.native.js +0 -13
  480. package/src/query-controls/index.native.js +0 -103
  481. package/src/radio-control/index.native.js +0 -24
  482. package/src/range-control/index.native.js +0 -73
  483. package/src/resizable-box/index.native.js +0 -32
  484. package/src/resizable-box/style.native.scss +0 -14
  485. package/src/sandbox/index.native.js +0 -392
  486. package/src/sandbox/style.native.scss +0 -7
  487. package/src/search-control/index.native.js +0 -274
  488. package/src/search-control/platform-style.android.scss +0 -57
  489. package/src/search-control/platform-style.ios.scss +0 -43
  490. package/src/search-control/style.native.scss +0 -63
  491. package/src/select-control/index.native.js +0 -41
  492. package/src/slot-fill/index.native.js +0 -25
  493. package/src/spinner/index.native.js +0 -22
  494. package/src/spinner/style.native.scss +0 -4
  495. package/src/style-provider/index.native.js +0 -3
  496. package/src/text/index.native.js +0 -13
  497. package/src/text/styles/emotion-css.native.js +0 -6
  498. package/src/text/styles/font-family.native.js +0 -1
  499. package/src/text/styles/text-mixins.native.js +0 -163
  500. package/src/text-control/index.native.js +0 -41
  501. package/src/textarea-control/index.native.js +0 -26
  502. package/src/toggle-control/index.native.js +0 -31
  503. package/src/toolbar/toolbar/style.native.scss +0 -11
  504. package/src/toolbar/toolbar/toolbar-container.native.js +0 -8
  505. package/src/toolbar/toolbar-button/toolbar-button-container.native.js +0 -8
  506. package/src/toolbar/toolbar-group/style.native.scss +0 -10
  507. package/src/toolbar/toolbar-group/toolbar-group-collapsed.native.js +0 -36
  508. package/src/toolbar/toolbar-group/toolbar-group-container.native.js +0 -26
  509. package/src/toolbar/toolbar-item/index.native.js +0 -17
  510. package/src/tooltip/index.native.js +0 -292
  511. package/src/tooltip/style.native.scss +0 -39
  512. package/src/tooltip/test/index.native.js +0 -98
  513. package/src/unit-control/index.native.js +0 -202
  514. package/src/unit-control/style.native.scss +0 -19
@@ -1,4 +0,0 @@
1
- .linkSettingsPanel {
2
- padding-left: 0;
3
- padding-right: 0;
4
- }
@@ -1,325 +0,0 @@
1
- // noinspection DuplicatedCode
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import Clipboard from '@react-native-clipboard/clipboard';
7
- import {
8
- fireEvent,
9
- initializeEditor,
10
- waitForElementToBeRemoved,
11
- } from 'test/helpers';
12
- /**
13
- * WordPress dependencies
14
- */
15
- import { registerCoreBlocks } from '@wordpress/block-library';
16
- import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks';
17
- import { __ } from '@wordpress/i18n';
18
-
19
- // Mock debounce to prevent potentially belated state updates.
20
- jest.mock( '@wordpress/compose/src/utils/debounce', () => ( {
21
- debounce: ( fn ) => {
22
- fn.cancel = jest.fn();
23
- return fn;
24
- },
25
- } ) );
26
- // Mock link suggestions that are fetched by the link picker
27
- // when typing a search query.
28
- jest.mock( '@wordpress/core-data/src/fetch', () => ( {
29
- __experimentalFetchLinkSuggestions: jest.fn().mockResolvedValue( [ {} ] ),
30
- } ) );
31
-
32
- /**
33
- * Utility function to unregister all core block types previously registered
34
- * when staging the Redux Store `beforeAll` integration tests start running.
35
- *
36
- * This should probably be extracted into a utility module for future tests.
37
- */
38
- const unregisterBlocks = () => {
39
- const blocks = getBlockTypes();
40
-
41
- blocks.forEach( ( { name } ) => unregisterBlockType( name ) );
42
- };
43
-
44
- /**
45
- * ### TODO
46
- * + Try to figure out why I can't `console.log(JSON.stringify(subject.toJSON()))` anymore.
47
- */
48
- describe.each( [
49
- [
50
- {
51
- type: 'core/button',
52
- initialHtml: `
53
- <!-- wp:button {"style":{"border":{"radius":"5px"}}} -->
54
- <div class="wp-block-button"><a class="wp-block-button__link wp-element-button" style="border-radius:5px">Link</a></div>
55
- <!-- /wp:button -->
56
- `,
57
- toJSON: () => 'core/button',
58
- },
59
- ],
60
- [
61
- {
62
- type: 'core/image',
63
- initialHtml: `
64
- <!-- wp:image {"id":20,"sizeSlug":"large","linkDestination":"custom"} -->
65
- <figure class="wp-block-image size-large">
66
- <img class="wp-image-20" src="https://tonytahmouchtest.files.wordpress.com/2021/10/img_0111-2.jpg?w=1024" alt="" />
67
- </figure>
68
- <!-- /wp:image -->
69
- `,
70
- toJSON: () => 'core/image',
71
- },
72
- ],
73
- ] )( '<LinkSettings/> from %j', ( { type, initialHtml } ) => {
74
- beforeAll( () => {
75
- registerCoreBlocks();
76
- } );
77
-
78
- afterAll( () => {
79
- unregisterBlocks();
80
- } );
81
-
82
- /**
83
- * GIVEN an EDITOR is displayed with an EDIT IMAGE BLOCK or EDIT BUTTON BLOCK;
84
- * GIVEN the CLIPBOARD has a URL copied;
85
- * WHEN the USER selects the SETTINGS BUTTON on the EDIT IMAGE BLOCK or EDIT BUTTON BLOCK;
86
- */
87
- it( 'should display the LINK SETTINGS with an EMPTY LINK TO field.', async () => {
88
- // Arrange.
89
- const url = 'https://tonytahmouchtest.files.wordpress.com';
90
- const subject = await initializeEditor( { initialHtml } );
91
- Clipboard.getString.mockReturnValue( url );
92
-
93
- // Act.
94
- const [ block ] = await subject.findAllByLabelText(
95
- type === 'core/image' ? /Image Block/ : /Button Block/
96
- );
97
- fireEvent.press( block );
98
- fireEvent.press( block );
99
- fireEvent.press( await subject.findByLabelText( 'Open Settings' ) );
100
-
101
- // Assert.
102
- const linkToField = await subject.findByLabelText(
103
- `Link to, ${
104
- type === 'core/image' ? 'None' : 'Search or type URL'
105
- }`
106
- );
107
- expect( linkToField ).toBeTruthy();
108
- } );
109
-
110
- describe( '<LinkPicker/>', () => {
111
- describe( 'Hide Clipboard Link Suggestion - Invalid URL in Clipboard', () => {
112
- /**
113
- * GIVEN a SETTINGS BOTTOM SHEET is displayed;
114
- * GIVEN the CLIPBOARD has a NON-URL copied;
115
- * GIVEN the STATE has NO URL;
116
- * WHEN the USER selects the LINK TO cell;
117
- */
118
- it( 'should display the LINK PICKER with NO FROM CLIPBOARD CELL.', async () => {
119
- // Arrange.
120
- const url = 'tonytahmouchtest.files.wordpress.com';
121
- const subject = await initializeEditor( { initialHtml } );
122
- Clipboard.getString.mockReturnValue( url );
123
-
124
- // Act.
125
- const [ block ] = await subject.findAllByLabelText(
126
- type === 'core/image' ? /Image Block/ : /Button Block/
127
- );
128
- fireEvent.press( block );
129
- fireEvent.press( block );
130
- fireEvent.press( subject.getByLabelText( 'Open Settings' ) );
131
- fireEvent.press(
132
- subject.getByLabelText(
133
- `Link to, ${
134
- type === 'core/image'
135
- ? 'None'
136
- : 'Search or type URL'
137
- }`
138
- )
139
- );
140
- if ( type === 'core/image' ) {
141
- fireEvent.press( subject.getByLabelText( /Custom URL/ ) );
142
- }
143
- await subject.findByLabelText( 'Apply' );
144
-
145
- // Assert.
146
- expect(
147
- subject.queryByLabelText( /Copy URL from the clipboard[,]/ )
148
- ).toBeNull();
149
- } );
150
- } );
151
-
152
- describe( 'Hide Clipboard Link Suggestion - Valid and Same URL in Clipboard', () => {
153
- /**
154
- * GIVEN a SETTINGS BOTTOM SHEET is displayed;
155
- * GIVEN the CLIPBOARD has a URL copied;
156
- * GIVEN the STATE has the SAME URL as the CLIPBOARD;
157
- * WHEN the USER selects the LINK TO cell;
158
- */
159
- it( 'should display the LINK PICKER with NO FROM CLIPBOARD CELL.', async () => {
160
- // Arrange.
161
- const url = 'https://tonytahmouchtest.files.wordpress.com';
162
- const subject = await initializeEditor( { initialHtml } );
163
- Clipboard.getString.mockReturnValue( url );
164
-
165
- // Act.
166
- const [ block ] = await subject.findAllByLabelText(
167
- type === 'core/image' ? /Image Block/ : /Button Block/
168
- );
169
- fireEvent.press( block );
170
- fireEvent.press( block );
171
- fireEvent.press( subject.getByLabelText( 'Open Settings' ) );
172
- fireEvent.press(
173
- subject.getByLabelText(
174
- `Link to, ${
175
- type === 'core/image'
176
- ? 'None'
177
- : 'Search or type URL'
178
- }`
179
- )
180
- );
181
- if ( type === 'core/image' ) {
182
- fireEvent.press(
183
- subject.getByLabelText( 'Custom URL. Empty' )
184
- );
185
- }
186
- fireEvent.press(
187
- await subject.findByLabelText(
188
- `Copy URL from the clipboard, ${ url }`
189
- )
190
- );
191
- fireEvent.press(
192
- await subject.findByLabelText(
193
- `Link to, ${
194
- type === 'core/image' ? 'Custom URL' : url
195
- }`
196
- )
197
- );
198
-
199
- if ( type === 'core/image' ) {
200
- fireEvent.press(
201
- subject.getByLabelText( `Custom URL, ${ url }` )
202
- );
203
- }
204
- await waitForElementToBeRemoved( () =>
205
- subject.getByTestId( 'link-picker-loading' )
206
- );
207
- await subject.findByLabelText( 'Apply' );
208
-
209
- // Assert.
210
- expect(
211
- subject.queryByLabelText( /Copy URL from the clipboard[,]/ )
212
- ).toBeNull();
213
- } );
214
- } );
215
-
216
- describe( 'Show Clipboard Link Suggestion - Valid and Different URL in Clipboard', () => {
217
- /**
218
- * GIVEN a SETTINGS BOTTOM SHEET is displayed;
219
- * GIVEN the CLIPBOARD has a URL copied;
220
- * GIVEN the STATE has NO URL;
221
- * WHEN the USER selects the LINK TO cell;
222
- */
223
- it(
224
- 'should display the LINK PICKER with the FROM CLIPBOARD CELL populated' +
225
- ' with the URL from the CLIPBOARD.',
226
- async () => {
227
- // Arrange.
228
- const url = 'https://tonytahmouchtest.files.wordpress.com';
229
- const subject = await initializeEditor( { initialHtml } );
230
- Clipboard.getString.mockReturnValue( url );
231
-
232
- // Act.
233
- const [ block ] = await subject.findAllByLabelText(
234
- type === 'core/image' ? /Image Block/ : /Button Block/
235
- );
236
- fireEvent.press( block );
237
- fireEvent.press( block );
238
- fireEvent.press(
239
- subject.getByLabelText( 'Open Settings' )
240
- );
241
- fireEvent.press(
242
- subject.getByLabelText(
243
- `Link to, ${
244
- type === 'core/image'
245
- ? 'None'
246
- : 'Search or type URL'
247
- }`
248
- )
249
- );
250
- if ( type === 'core/image' ) {
251
- fireEvent.press(
252
- subject.getByLabelText( /Custom URL/ )
253
- );
254
- }
255
- await subject.findByLabelText(
256
- `Copy URL from the clipboard, ${ url }`
257
- );
258
-
259
- // Assert.
260
- const clipboardUrl = await subject.findByText( url );
261
- expect( clipboardUrl ).toBeTruthy();
262
- const clipboardNote = await subject.findByText(
263
- __( 'From clipboard' )
264
- );
265
- expect( clipboardNote ).toBeTruthy();
266
- }
267
- );
268
- } );
269
-
270
- describe( 'Press Clipboard Link Suggestion', () => {
271
- /**
272
- * GIVEN a LINK PICKER SHEET is displayed;
273
- * GIVEN the FROM CLIPBOARD CELL is displayed;
274
- * WHEN the FROM CLIPBOARD CELL is pressed;
275
- */
276
- it(
277
- 'should display the LINK SETTINGS with the URL from the CLIPBOARD' +
278
- ' populated in the LINK TO field.',
279
- async () => {
280
- // Arrange.
281
- const url = 'https://tonytahmouchtest.files.wordpress.com';
282
- const subject = await initializeEditor( { initialHtml } );
283
- Clipboard.getString.mockReturnValue( url );
284
-
285
- // Act.
286
- const [ block ] = await subject.findAllByLabelText(
287
- type === 'core/image' ? /Image Block/ : /Button Block/
288
- );
289
- fireEvent.press( block );
290
- fireEvent.press( block );
291
- fireEvent.press(
292
- subject.getByLabelText( 'Open Settings' )
293
- );
294
- fireEvent.press(
295
- subject.getByLabelText(
296
- `Link to, ${
297
- type === 'core/image'
298
- ? 'None'
299
- : 'Search or type URL'
300
- }`
301
- )
302
- );
303
- if ( type === 'core/image' ) {
304
- fireEvent.press(
305
- subject.getByLabelText( /Custom URL/ )
306
- );
307
- }
308
- fireEvent.press(
309
- await subject.findByLabelText(
310
- `Copy URL from the clipboard, ${ url }`
311
- )
312
- );
313
-
314
- // Assert.
315
- const linkToField = await subject.findByLabelText(
316
- `Link to, ${
317
- type === 'core/image' ? 'Custom URL' : url
318
- }`
319
- );
320
- expect( linkToField ).toBeTruthy();
321
- }
322
- );
323
- } );
324
- } );
325
- } );
@@ -1,94 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { Keyboard, Platform } from 'react-native';
5
- import { render, fireEvent } from 'test/helpers';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import LinkSettingsNavigation from '../link-settings-navigation';
11
-
12
- beforeAll( () => {
13
- jest.useFakeTimers( { legacyFakeTimers: true } );
14
- } );
15
-
16
- afterAll( () => {
17
- jest.runOnlyPendingTimers();
18
- jest.useRealTimers();
19
- } );
20
-
21
- jest.spyOn( Keyboard, 'dismiss' );
22
-
23
- const subject = (
24
- <LinkSettingsNavigation
25
- setAttributes={ () => {} }
26
- hasPicker
27
- options={ {
28
- url: {
29
- label: 'Link URL',
30
- placeholder: 'Add URL',
31
- autoFocus: false,
32
- },
33
- } }
34
- isVisible
35
- withBottomSheet
36
- />
37
- );
38
-
39
- describe( 'Android', () => {
40
- it( 'improves back animation performance by dismissing keyboard beforehand', async () => {
41
- const screen = render( subject );
42
- fireEvent.press( screen.getByText( 'Link to' ) );
43
- // Await back button to allow async state updates to complete
44
- const backButton = await screen.findByLabelText( 'Go back' );
45
- Keyboard.dismiss.mockClear();
46
- fireEvent.press( backButton );
47
-
48
- expect( Keyboard.dismiss ).toHaveBeenCalledTimes( 1 );
49
- } );
50
-
51
- it( 'improves apply animation performance by dismissing keyboard beforehand', async () => {
52
- const screen = render( subject );
53
- fireEvent.press( screen.getByText( 'Link to' ) );
54
- // Await back button to allow async state updates to complete
55
- const backButton = await screen.findByLabelText( 'Apply' );
56
- Keyboard.dismiss.mockClear();
57
- fireEvent.press( backButton );
58
-
59
- expect( Keyboard.dismiss ).toHaveBeenCalledTimes( 1 );
60
- } );
61
- } );
62
-
63
- describe( 'iOS', () => {
64
- const originalPlatform = Platform.OS;
65
- beforeAll( () => {
66
- Platform.OS = 'ios';
67
- } );
68
-
69
- afterAll( () => {
70
- Platform.OS = originalPlatform;
71
- } );
72
-
73
- it( 'improves back animation performance by dismissing keyboard beforehand', async () => {
74
- const screen = render( subject );
75
- fireEvent.press( screen.getByText( 'Link to' ) );
76
- // Await back button to allow async state updates to complete
77
- const backButton = await screen.findByLabelText( 'Go back' );
78
- Keyboard.dismiss.mockClear();
79
- fireEvent.press( backButton );
80
-
81
- expect( Keyboard.dismiss ).toHaveBeenCalledTimes( 1 );
82
- } );
83
-
84
- it( 'improves apply animation performance by dismissing keyboard beforehand', async () => {
85
- const screen = render( subject );
86
- fireEvent.press( screen.getByText( 'Link to' ) );
87
- // Await back button to allow async state updates to complete
88
- const backButton = await screen.findByLabelText( 'Apply' );
89
- Keyboard.dismiss.mockClear();
90
- fireEvent.press( backButton );
91
-
92
- expect( Keyboard.dismiss ).toHaveBeenCalledTimes( 1 );
93
- } );
94
- } );
@@ -1,125 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { Component } from '@wordpress/element';
5
- import { __ } from '@wordpress/i18n';
6
- import {
7
- requestMediaEditor,
8
- mediaSources,
9
- } from '@wordpress/react-native-bridge';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import Picker from '../picker';
15
-
16
- export const MEDIA_TYPE_IMAGE = 'image';
17
-
18
- export const MEDIA_EDITOR = 'MEDIA_EDITOR';
19
-
20
- const editOption = {
21
- id: MEDIA_EDITOR,
22
- value: MEDIA_EDITOR,
23
- label: __( 'Edit' ),
24
- requiresModal: true,
25
- types: [ MEDIA_TYPE_IMAGE ],
26
- };
27
-
28
- const replaceOption = {
29
- id: mediaSources.deviceLibrary,
30
- value: mediaSources.deviceLibrary,
31
- label: __( 'Replace' ),
32
- types: [ MEDIA_TYPE_IMAGE ],
33
- };
34
-
35
- export class MediaEdit extends Component {
36
- constructor( props ) {
37
- super( props );
38
- this.onPickerPresent = this.onPickerPresent.bind( this );
39
- this.onPickerSelect = this.onPickerSelect.bind( this );
40
- this.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );
41
- this.getDestructiveButtonIndex =
42
- this.getDestructiveButtonIndex.bind( this );
43
- }
44
-
45
- getMediaOptionsItems() {
46
- const { pickerOptions, openReplaceMediaOptions, source } = this.props;
47
-
48
- return [
49
- source?.uri && editOption,
50
- openReplaceMediaOptions && replaceOption,
51
- ...( pickerOptions ? pickerOptions : [] ),
52
- ].filter( Boolean );
53
- }
54
-
55
- getDestructiveButtonIndex() {
56
- const options = this.getMediaOptionsItems();
57
- const destructiveButtonIndex = options.findIndex(
58
- ( option ) => option?.destructiveButton
59
- );
60
-
61
- return destructiveButtonIndex !== -1
62
- ? destructiveButtonIndex + 1
63
- : undefined;
64
- }
65
-
66
- onPickerPresent() {
67
- if ( this.picker ) {
68
- this.picker.presentPicker();
69
- }
70
- }
71
-
72
- onPickerSelect( value ) {
73
- const {
74
- onSelect,
75
- pickerOptions,
76
- multiple = false,
77
- openReplaceMediaOptions,
78
- } = this.props;
79
-
80
- switch ( value ) {
81
- case MEDIA_EDITOR:
82
- requestMediaEditor( this.props.source.uri, ( media ) => {
83
- if ( ( multiple && media ) || ( media && media.id ) ) {
84
- onSelect( media );
85
- }
86
- } );
87
- break;
88
- default:
89
- const optionSelected =
90
- pickerOptions &&
91
- pickerOptions.find( ( option ) => option.id === value );
92
-
93
- if ( optionSelected && optionSelected.onPress ) {
94
- optionSelected.onPress();
95
- return;
96
- }
97
-
98
- if ( openReplaceMediaOptions ) {
99
- openReplaceMediaOptions();
100
- }
101
- }
102
- }
103
-
104
- render() {
105
- const mediaOptions = () => (
106
- <Picker
107
- hideCancelButton
108
- ref={ ( instance ) => ( this.picker = instance ) }
109
- options={ this.getMediaOptionsItems() }
110
- leftAlign
111
- onChange={ this.onPickerSelect }
112
- // translators: %s: block title e.g: "Paragraph".
113
- title={ __( 'Media options' ) }
114
- destructiveButtonIndex={ this.getDestructiveButtonIndex() }
115
- />
116
- );
117
-
118
- return this.props.render( {
119
- open: this.onPickerPresent,
120
- mediaOptions,
121
- } );
122
- }
123
- }
124
-
125
- export default MediaEdit;
@@ -1,104 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __ } from '@wordpress/i18n';
10
- import { Component, Fragment } from '@wordpress/element';
11
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import BottomSheet from '../bottom-sheet';
17
- import styles from './styles.scss';
18
- import PanelBody from '../../panel/body';
19
- import TextControl from '../../text-control';
20
-
21
- function Separator() {
22
- const separatorStyle = usePreferredColorSchemeStyle(
23
- styles[ 'components-picker__separator' ],
24
- styles[ 'components-picker__separator--dark' ]
25
- );
26
-
27
- return <View style={ separatorStyle } />;
28
- }
29
-
30
- export default class Picker extends Component {
31
- constructor() {
32
- super( ...arguments );
33
- this.onClose = this.onClose.bind( this );
34
- this.onCellPress = this.onCellPress.bind( this );
35
-
36
- this.state = {
37
- isVisible: false,
38
- };
39
- }
40
-
41
- presentPicker() {
42
- this.setState( { isVisible: true } );
43
- }
44
-
45
- onClose() {
46
- this.setState( { isVisible: false } );
47
- }
48
-
49
- onCellPress( value ) {
50
- const { onChange } = this.props;
51
- onChange( value );
52
- this.onClose();
53
- }
54
-
55
- getOptions() {
56
- const { options, leftAlign } = this.props;
57
-
58
- return options.map( ( option ) => (
59
- <Fragment key={ `${ option.label }-${ option.value }` }>
60
- { options.length > 1 && option.separated && <Separator /> }
61
- <BottomSheet.Cell
62
- icon={ option.icon }
63
- leftAlign={ leftAlign }
64
- label={ option.label }
65
- separatorType="none"
66
- onPress={ () => this.onCellPress( option.value ) }
67
- disabled={ option.disabled }
68
- style={
69
- option.disabled &&
70
- styles[ 'components-picker__button--disabled' ]
71
- }
72
- />
73
- </Fragment>
74
- ) );
75
- }
76
-
77
- render() {
78
- const { hideCancelButton, title, testID } = this.props;
79
- const { isVisible } = this.state;
80
-
81
- return (
82
- <BottomSheet
83
- isVisible={ isVisible }
84
- onClose={ this.onClose }
85
- hideHeader
86
- testID={ testID }
87
- >
88
- <PanelBody
89
- title={ title }
90
- style={ styles[ 'components-picker__panel' ] }
91
- >
92
- { this.getOptions() }
93
- { ! hideCancelButton && (
94
- <TextControl
95
- label={ __( 'Cancel' ) }
96
- onPress={ this.onClose }
97
- separatorType="none"
98
- />
99
- ) }
100
- </PanelBody>
101
- </BottomSheet>
102
- );
103
- }
104
- }