@wordpress/components 35.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 (355) hide show
  1. package/CHANGELOG.md +20 -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/color-palette/index.cjs +3 -0
  7. package/build/color-palette/index.cjs.map +2 -2
  8. package/build/custom-gradient-picker/gradient-bar/index.cjs.map +2 -2
  9. package/build/draggable/index.cjs +1 -1
  10. package/build/draggable/index.cjs.map +2 -2
  11. package/build/navigable-container/container.cjs +15 -21
  12. package/build/navigable-container/container.cjs.map +2 -2
  13. package/build/unit-control/utils.cjs +33 -35
  14. package/build/unit-control/utils.cjs.map +2 -2
  15. package/build-module/alignment-matrix-control/cell.mjs +1 -1
  16. package/build-module/alignment-matrix-control/cell.mjs.map +2 -2
  17. package/build-module/alignment-matrix-control/index.mjs +1 -1
  18. package/build-module/alignment-matrix-control/index.mjs.map +2 -2
  19. package/build-module/color-palette/index.mjs +3 -0
  20. package/build-module/color-palette/index.mjs.map +2 -2
  21. package/build-module/custom-gradient-picker/gradient-bar/index.mjs.map +2 -2
  22. package/build-module/draggable/index.mjs +1 -1
  23. package/build-module/draggable/index.mjs.map +2 -2
  24. package/build-module/navigable-container/container.mjs +16 -22
  25. package/build-module/navigable-container/container.mjs.map +2 -2
  26. package/build-module/unit-control/utils.mjs +33 -35
  27. package/build-module/unit-control/utils.mjs.map +2 -2
  28. package/build-style/style-rtl.css +41 -10
  29. package/build-style/style.css +41 -10
  30. package/build-types/card/context.d.ts +3 -0
  31. package/build-types/card/context.d.ts.map +1 -0
  32. package/build-types/color-palette/index.d.ts.map +1 -1
  33. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
  34. package/build-types/date-time/date/index.d.ts +23 -0
  35. package/build-types/date-time/date/index.d.ts.map +1 -0
  36. package/build-types/date-time/date/styles.d.ts +45 -0
  37. package/build-types/date-time/date/styles.d.ts.map +1 -0
  38. package/build-types/date-time/date/test/index.d.ts +2 -0
  39. package/build-types/date-time/date/test/index.d.ts.map +1 -0
  40. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  41. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  42. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  43. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  44. package/build-types/date-time/time/index.d.ts +27 -0
  45. package/build-types/date-time/time/index.d.ts.map +1 -0
  46. package/build-types/date-time/time/styles.d.ts +93 -0
  47. package/build-types/date-time/time/styles.d.ts.map +1 -0
  48. package/build-types/date-time/time/test/index.d.ts +2 -0
  49. package/build-types/date-time/time/test/index.d.ts.map +1 -0
  50. package/build-types/date-time/time/time-input/index.d.ts +4 -0
  51. package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
  52. package/build-types/date-time/time/time-input/test/index.d.ts +2 -0
  53. package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
  54. package/build-types/date-time/time/timezone.d.ts +7 -0
  55. package/build-types/date-time/time/timezone.d.ts.map +1 -0
  56. package/build-types/navigable-container/container.d.ts.map +1 -1
  57. package/build-types/navigation/back-button/index.d.ts +7 -0
  58. package/build-types/navigation/back-button/index.d.ts.map +1 -0
  59. package/build-types/navigation/constants.d.ts +3 -0
  60. package/build-types/navigation/constants.d.ts.map +1 -0
  61. package/build-types/navigation/context.d.ts +4 -0
  62. package/build-types/navigation/context.d.ts.map +1 -0
  63. package/build-types/navigation/group/context.d.ts +7 -0
  64. package/build-types/navigation/group/context.d.ts.map +1 -0
  65. package/build-types/navigation/group/index.d.ts +7 -0
  66. package/build-types/navigation/group/index.d.ts.map +1 -0
  67. package/build-types/navigation/index.d.ts +46 -0
  68. package/build-types/navigation/index.d.ts.map +1 -0
  69. package/build-types/navigation/item/base-content.d.ts +3 -0
  70. package/build-types/navigation/item/base-content.d.ts.map +1 -0
  71. package/build-types/navigation/item/base.d.ts +3 -0
  72. package/build-types/navigation/item/base.d.ts.map +1 -0
  73. package/build-types/navigation/item/index.d.ts +7 -0
  74. package/build-types/navigation/item/index.d.ts.map +1 -0
  75. package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
  76. package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
  77. package/build-types/navigation/menu/context.d.ts +7 -0
  78. package/build-types/navigation/menu/context.d.ts.map +1 -0
  79. package/build-types/navigation/menu/index.d.ts +7 -0
  80. package/build-types/navigation/menu/index.d.ts.map +1 -0
  81. package/build-types/navigation/menu/menu-title-search.d.ts +3 -0
  82. package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
  83. package/build-types/navigation/menu/menu-title.d.ts +3 -0
  84. package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
  85. package/build-types/navigation/menu/search-no-results-found.d.ts +3 -0
  86. package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
  87. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
  88. package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
  89. package/build-types/navigation/stories/index.story.d.ts +23 -0
  90. package/build-types/navigation/stories/index.story.d.ts.map +1 -0
  91. package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
  92. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
  93. package/build-types/navigation/stories/utils/default.d.ts +10 -0
  94. package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
  95. package/build-types/navigation/stories/utils/group.d.ts +10 -0
  96. package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
  97. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
  98. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
  99. package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
  100. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
  101. package/build-types/navigation/stories/utils/search.d.ts +10 -0
  102. package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
  103. package/build-types/navigation/styles/navigation-styles.d.ts +55 -0
  104. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
  105. package/build-types/navigation/test/index.d.ts +2 -0
  106. package/build-types/navigation/test/index.d.ts.map +1 -0
  107. package/build-types/navigation/types.d.ts +266 -0
  108. package/build-types/navigation/types.d.ts.map +1 -0
  109. package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
  110. package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
  111. package/build-types/navigation/use-navigation-tree-nodes.d.ts +10 -0
  112. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
  113. package/build-types/navigation/utils.d.ts +3 -0
  114. package/build-types/navigation/utils.d.ts.map +1 -0
  115. package/build-types/unit-control/utils.d.ts.map +1 -1
  116. package/build-types/validated-form-controls/components/combobox-control.d.ts +2 -2
  117. package/build-types/visually-hidden/test/index.d.ts +2 -0
  118. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  119. package/package.json +34 -32
  120. package/src/card/card/README.md +4 -4
  121. package/src/checkbox-control/README.md +1 -1
  122. package/src/clipboard-button/README.md +4 -4
  123. package/src/color-palette/index.tsx +5 -0
  124. package/src/color-palette/test/index.tsx +30 -0
  125. package/src/combobox-control/README.md +1 -1
  126. package/src/confirm-dialog/README.md +1 -1
  127. package/src/custom-gradient-picker/gradient-bar/index.tsx +1 -1
  128. package/src/flex/flex/README.md +1 -1
  129. package/src/navigable-container/container.tsx +22 -30
  130. package/src/popover/README.md +1 -1
  131. package/src/scrollable/README.md +1 -1
  132. package/src/tooltip/style.scss +1 -1
  133. package/src/unit-control/utils.ts +33 -52
  134. package/build/mobile/image/constants.cjs +0 -34
  135. package/build/mobile/image/constants.cjs.map +0 -7
  136. package/build-module/mobile/image/constants.mjs +0 -9
  137. package/build-module/mobile/image/constants.mjs.map +0 -7
  138. package/src/autocomplete/autocompleter-ui.native.js +0 -211
  139. package/src/autocomplete/background-view.android.js +0 -25
  140. package/src/autocomplete/background-view.ios.js +0 -23
  141. package/src/autocomplete/style.android.scss +0 -7
  142. package/src/autocomplete/style.native.scss +0 -74
  143. package/src/base-control/index.native.js +0 -14
  144. package/src/button/index.native.js +0 -236
  145. package/src/button/style.native.scss +0 -9
  146. package/src/color-control/index.native.js +0 -24
  147. package/src/color-indicator/index.native.js +0 -80
  148. package/src/color-indicator/style.native.scss +0 -51
  149. package/src/color-palette/index.native.js +0 -360
  150. package/src/color-palette/style.native.scss +0 -49
  151. package/src/color-picker/hsv-color-picker.native.js +0 -88
  152. package/src/color-picker/hue-picker.native.js +0 -198
  153. package/src/color-picker/index.native.js +0 -215
  154. package/src/color-picker/saturation-picker.native.js +0 -167
  155. package/src/color-picker/style.native.scss +0 -87
  156. package/src/custom-gradient-picker/index.native.js +0 -110
  157. package/src/custom-gradient-picker/style.native.scss +0 -3
  158. package/src/dashicon/index.native.js +0 -18
  159. package/src/disabled/index.native.js +0 -10
  160. package/src/draggable/index.native.js +0 -234
  161. package/src/draggable/style.native.scss +0 -3
  162. package/src/draggable/test/index.native.js +0 -138
  163. package/src/dropdown/index.native.js +0 -59
  164. package/src/dropdown-menu/index.native.js +0 -152
  165. package/src/external-link/index.native.js +0 -25
  166. package/src/focal-point-picker/focal-point.native.js +0 -30
  167. package/src/focal-point-picker/index.native.js +0 -281
  168. package/src/focal-point-picker/tooltip/index.native.js +0 -144
  169. package/src/focal-point-picker/tooltip/style.native.scss +0 -42
  170. package/src/font-size-picker/index.native.js +0 -190
  171. package/src/font-size-picker/style.native.scss +0 -6
  172. package/src/footer-message-control/index.native.js +0 -14
  173. package/src/higher-order/with-focus-outside/index.native.js +0 -38
  174. package/src/index.native.js +0 -134
  175. package/src/keyboard-shortcuts/index.native.js +0 -2
  176. package/src/mobile/README.md +0 -3
  177. package/src/mobile/autocompletion-items.native.js +0 -11
  178. package/src/mobile/badge/README.md +0 -31
  179. package/src/mobile/badge/index.native.js +0 -27
  180. package/src/mobile/badge/style.scss +0 -18
  181. package/src/mobile/bottom-sheet/borderStyles.android.scss +0 -8
  182. package/src/mobile/bottom-sheet/borderStyles.ios.scss +0 -9
  183. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +0 -40
  184. package/src/mobile/bottom-sheet/bottom-sheet-navigation/README.md +0 -101
  185. package/src/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +0 -16
  186. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -193
  187. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +0 -146
  188. package/src/mobile/bottom-sheet/bottom-sheet-navigation/styles.native.scss +0 -11
  189. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +0 -197
  190. package/src/mobile/bottom-sheet/button.native.js +0 -19
  191. package/src/mobile/bottom-sheet/cell.native.js +0 -464
  192. package/src/mobile/bottom-sheet/cellStyles.android.scss +0 -15
  193. package/src/mobile/bottom-sheet/cellStyles.ios.scss +0 -19
  194. package/src/mobile/bottom-sheet/chevron-back.native.js +0 -18
  195. package/src/mobile/bottom-sheet/color-cell.native.js +0 -35
  196. package/src/mobile/bottom-sheet/cycle-picker-cell.native.js +0 -31
  197. package/src/mobile/bottom-sheet/footer-message-cell.native.js +0 -23
  198. package/src/mobile/bottom-sheet/footer-message-link/README.md +0 -37
  199. package/src/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +0 -26
  200. package/src/mobile/bottom-sheet/footer-message-link/styles.native.scss +0 -7
  201. package/src/mobile/bottom-sheet/index.native.js +0 -646
  202. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -125
  203. package/src/mobile/bottom-sheet/link-cell.native.js +0 -35
  204. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +0 -92
  205. package/src/mobile/bottom-sheet/link-suggestion-styles.native.scss +0 -27
  206. package/src/mobile/bottom-sheet/lock-icon/index.native.js +0 -19
  207. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +0 -8
  208. package/src/mobile/bottom-sheet/nav-bar/README.md +0 -63
  209. package/src/mobile/bottom-sheet/nav-bar/action-button.native.js +0 -30
  210. package/src/mobile/bottom-sheet/nav-bar/apply-button.native.js +0 -53
  211. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +0 -94
  212. package/src/mobile/bottom-sheet/nav-bar/heading.native.js +0 -33
  213. package/src/mobile/bottom-sheet/nav-bar/index.native.js +0 -23
  214. package/src/mobile/bottom-sheet/nav-bar/styles.native.scss +0 -69
  215. package/src/mobile/bottom-sheet/picker-cell.native.js +0 -40
  216. package/src/mobile/bottom-sheet/radio-cell.native.js +0 -39
  217. package/src/mobile/bottom-sheet/range-cell.native.js +0 -274
  218. package/src/mobile/bottom-sheet/range-cell.native.scss +0 -40
  219. package/src/mobile/bottom-sheet/range-text-input.native.js +0 -248
  220. package/src/mobile/bottom-sheet/ripple.native.js +0 -83
  221. package/src/mobile/bottom-sheet/ripple.native.scss +0 -11
  222. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +0 -264
  223. package/src/mobile/bottom-sheet/stepper-cell/stepper.android.js +0 -78
  224. package/src/mobile/bottom-sheet/stepper-cell/stepper.ios.js +0 -64
  225. package/src/mobile/bottom-sheet/stepper-cell/style.native.scss +0 -89
  226. package/src/mobile/bottom-sheet/styles.native.scss +0 -333
  227. package/src/mobile/bottom-sheet/sub-sheet/README.md +0 -90
  228. package/src/mobile/bottom-sheet/sub-sheet/index.native.js +0 -49
  229. package/src/mobile/bottom-sheet/switch-cell.native.js +0 -75
  230. package/src/mobile/bottom-sheet/test/index.native.js +0 -24
  231. package/src/mobile/bottom-sheet/test/range-cell.native.js +0 -73
  232. package/src/mobile/bottom-sheet-select-control/README.md +0 -97
  233. package/src/mobile/bottom-sheet-select-control/index.native.js +0 -124
  234. package/src/mobile/bottom-sheet-select-control/style.native.scss +0 -3
  235. package/src/mobile/bottom-sheet-text-control/README.md +0 -98
  236. package/src/mobile/bottom-sheet-text-control/index.native.js +0 -104
  237. package/src/mobile/bottom-sheet-text-control/styles.scss +0 -25
  238. package/src/mobile/clipboard/index.native.js +0 -18
  239. package/src/mobile/color-settings/gradient-picker-screen.native.js +0 -37
  240. package/src/mobile/color-settings/index.native.js +0 -88
  241. package/src/mobile/color-settings/palette.screen.native.js +0 -232
  242. package/src/mobile/color-settings/picker-screen.native.js +0 -60
  243. package/src/mobile/color-settings/style.native.scss +0 -62
  244. package/src/mobile/color-settings/utils.native.js +0 -36
  245. package/src/mobile/cycle-select-control/README.md +0 -3
  246. package/src/mobile/cycle-select-control/index.native.js +0 -39
  247. package/src/mobile/dashicons/index.native.js +0 -22
  248. package/src/mobile/focal-point-settings-panel/index.native.js +0 -84
  249. package/src/mobile/focal-point-settings-panel/styles.native.scss +0 -3
  250. package/src/mobile/gradient/index.native.js +0 -188
  251. package/src/mobile/gradient/style.native.scss +0 -8
  252. package/src/mobile/gradient/test/index.native.js +0 -114
  253. package/src/mobile/gridicons/index.native.js +0 -39
  254. package/src/mobile/html-text-input/index.native.js +0 -169
  255. package/src/mobile/html-text-input/style.android.scss +0 -8
  256. package/src/mobile/html-text-input/style.ios.scss +0 -10
  257. package/src/mobile/html-text-input/style.scss +0 -45
  258. package/src/mobile/html-text-input/test/__snapshots__/index.native.js.snap +0 -48
  259. package/src/mobile/html-text-input/test/index.native.js +0 -118
  260. package/src/mobile/image/constants.js +0 -1
  261. package/src/mobile/image/icon-customize.native.js +0 -10
  262. package/src/mobile/image/icon-retry.native.js +0 -11
  263. package/src/mobile/image/image-editing-button.native.js +0 -63
  264. package/src/mobile/image/index.native.js +0 -401
  265. package/src/mobile/image/style.native.scss +0 -179
  266. package/src/mobile/image/utils/index.native.js +0 -58
  267. package/src/mobile/keyboard-avoiding-view/index.android.js +0 -8
  268. package/src/mobile/keyboard-avoiding-view/index.ios.js +0 -143
  269. package/src/mobile/keyboard-avoiding-view/styles.native.scss +0 -9
  270. package/src/mobile/keyboard-aware-flat-list/index.android.js +0 -81
  271. package/src/mobile/keyboard-aware-flat-list/index.ios.js +0 -147
  272. package/src/mobile/keyboard-aware-flat-list/shared.native.js +0 -26
  273. package/src/mobile/keyboard-aware-flat-list/styles.native.scss +0 -8
  274. package/src/mobile/keyboard-aware-flat-list/test/use-keyboard-offset.native.js +0 -203
  275. package/src/mobile/keyboard-aware-flat-list/test/use-scroll-to-section.native.js +0 -142
  276. package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +0 -71
  277. package/src/mobile/keyboard-aware-flat-list/test/use-text-input-caret-position.native.js +0 -82
  278. package/src/mobile/keyboard-aware-flat-list/test/use-text-input-offset.native.js +0 -147
  279. package/src/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +0 -87
  280. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +0 -41
  281. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js +0 -100
  282. package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +0 -100
  283. package/src/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js +0 -36
  284. package/src/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js +0 -54
  285. package/src/mobile/layout-animation/index.native.js +0 -16
  286. package/src/mobile/link-picker/index.native.js +0 -160
  287. package/src/mobile/link-picker/link-picker-results.native.js +0 -129
  288. package/src/mobile/link-picker/link-picker-screen.native.js +0 -60
  289. package/src/mobile/link-picker/styles.native.scss +0 -45
  290. package/src/mobile/link-picker/test/performance/index.native.js +0 -35
  291. package/src/mobile/link-settings/index.native.js +0 -332
  292. package/src/mobile/link-settings/link-rel.native.js +0 -10
  293. package/src/mobile/link-settings/link-settings-navigation.native.js +0 -50
  294. package/src/mobile/link-settings/link-settings-screen.native.js +0 -44
  295. package/src/mobile/link-settings/style.native.scss +0 -4
  296. package/src/mobile/link-settings/test/edit.native.js +0 -325
  297. package/src/mobile/link-settings/test/link-settings-navigation.native.js +0 -94
  298. package/src/mobile/media-edit/index.native.js +0 -125
  299. package/src/mobile/picker/index.android.js +0 -104
  300. package/src/mobile/picker/index.ios.js +0 -96
  301. package/src/mobile/picker/styles.native.scss +0 -29
  302. package/src/mobile/segmented-control/index.native.js +0 -186
  303. package/src/mobile/segmented-control/style.native.scss +0 -99
  304. package/src/mobile/utils/alignments.native.js +0 -78
  305. package/src/mobile/utils/get-px-from-css-unit.native.js +0 -329
  306. package/src/mobile/utils/index.native.js +0 -12
  307. package/src/mobile/utils/test/get-px-from-css-unit.native.js +0 -172
  308. package/src/mobile/utils/test/index.native.js +0 -134
  309. package/src/mobile/utils/use-is-floating-keyboard.native.js +0 -31
  310. package/src/mobile/utils/use-unit-converter-to-mobile.native.js +0 -90
  311. package/src/notice/index.native.js +0 -123
  312. package/src/notice/list.native.js +0 -55
  313. package/src/notice/style.native.scss +0 -60
  314. package/src/panel/actions.native.js +0 -46
  315. package/src/panel/actions.native.scss +0 -12
  316. package/src/panel/body.native.js +0 -29
  317. package/src/panel/body.native.scss +0 -11
  318. package/src/panel/bottom-separator-cover.native.js +0 -27
  319. package/src/panel/bottom-separator-cover.native.scss +0 -9
  320. package/src/private-apis.native.js +0 -13
  321. package/src/query-controls/index.native.js +0 -103
  322. package/src/radio-control/index.native.js +0 -24
  323. package/src/range-control/index.native.js +0 -73
  324. package/src/resizable-box/index.native.js +0 -32
  325. package/src/resizable-box/style.native.scss +0 -14
  326. package/src/sandbox/index.native.js +0 -392
  327. package/src/sandbox/style.native.scss +0 -7
  328. package/src/search-control/index.native.js +0 -274
  329. package/src/search-control/platform-style.android.scss +0 -57
  330. package/src/search-control/platform-style.ios.scss +0 -43
  331. package/src/search-control/style.native.scss +0 -63
  332. package/src/select-control/index.native.js +0 -41
  333. package/src/slot-fill/index.native.js +0 -25
  334. package/src/spinner/index.native.js +0 -22
  335. package/src/spinner/style.native.scss +0 -4
  336. package/src/style-provider/index.native.js +0 -3
  337. package/src/text/index.native.js +0 -13
  338. package/src/text/styles/emotion-css.native.js +0 -6
  339. package/src/text/styles/font-family.native.js +0 -1
  340. package/src/text/styles/text-mixins.native.js +0 -163
  341. package/src/text-control/index.native.js +0 -41
  342. package/src/textarea-control/index.native.js +0 -26
  343. package/src/toggle-control/index.native.js +0 -31
  344. package/src/toolbar/toolbar/style.native.scss +0 -11
  345. package/src/toolbar/toolbar/toolbar-container.native.js +0 -8
  346. package/src/toolbar/toolbar-button/toolbar-button-container.native.js +0 -8
  347. package/src/toolbar/toolbar-group/style.native.scss +0 -10
  348. package/src/toolbar/toolbar-group/toolbar-group-collapsed.native.js +0 -36
  349. package/src/toolbar/toolbar-group/toolbar-group-container.native.js +0 -26
  350. package/src/toolbar/toolbar-item/index.native.js +0 -17
  351. package/src/tooltip/index.native.js +0 -292
  352. package/src/tooltip/style.native.scss +0 -39
  353. package/src/tooltip/test/index.native.js +0 -98
  354. package/src/unit-control/index.native.js +0 -202
  355. package/src/unit-control/style.native.scss +0 -19
@@ -1,152 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import clsx from 'clsx';
5
- import { Platform } from 'react-native';
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { withPreferredColorScheme } from '@wordpress/compose';
10
- import { menu } from '@wordpress/icons';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import Button from '../button';
16
- import Dropdown from '../dropdown';
17
- import BottomSheet from '../mobile/bottom-sheet';
18
- import PanelBody from '../panel/body';
19
-
20
- function mergeProps( defaultProps = {}, props = {} ) {
21
- const mergedProps = {
22
- ...defaultProps,
23
- ...props,
24
- };
25
-
26
- if ( props.className && defaultProps.className ) {
27
- mergedProps.className = clsx( props.className, defaultProps.className );
28
- }
29
-
30
- return mergedProps;
31
- }
32
-
33
- /**
34
- * Whether the argument is a function.
35
- *
36
- * @param {*} maybeFunc The argument to check.
37
- * @return {boolean} True if the argument is a function, false otherwise.
38
- */
39
- function isFunction( maybeFunc ) {
40
- return typeof maybeFunc === 'function';
41
- }
42
-
43
- function DropdownMenu( {
44
- children,
45
- className,
46
- controls,
47
- icon = menu,
48
- label,
49
- popoverProps,
50
- toggleProps,
51
- } ) {
52
- if ( ! controls?.length && ! isFunction( children ) ) {
53
- return null;
54
- }
55
-
56
- // Normalize controls to nested array of objects (sets of controls)
57
- let controlSets;
58
- if ( controls?.length ) {
59
- controlSets = controls;
60
- if ( ! Array.isArray( controlSets[ 0 ] ) ) {
61
- controlSets = [ controlSets ];
62
- }
63
- }
64
- const mergedPopoverProps = mergeProps(
65
- {
66
- className: 'components-dropdown-menu__popover',
67
- },
68
- popoverProps
69
- );
70
-
71
- return (
72
- <Dropdown
73
- className={ clsx( 'components-dropdown-menu', className ) }
74
- popoverProps={ mergedPopoverProps }
75
- renderToggle={ ( { isOpen, onToggle } ) => {
76
- const mergedToggleProps = mergeProps(
77
- {
78
- className: clsx( 'components-dropdown-menu__toggle', {
79
- 'is-opened': isOpen,
80
- } ),
81
- },
82
- toggleProps
83
- );
84
-
85
- return (
86
- <Button
87
- { ...mergedToggleProps }
88
- icon={ icon }
89
- onClick={ ( event ) => {
90
- onToggle( event );
91
- if ( mergedToggleProps.onClick ) {
92
- mergedToggleProps.onClick( event );
93
- }
94
- } }
95
- aria-haspopup="true"
96
- aria-expanded={ isOpen }
97
- label={ label }
98
- >
99
- { mergedToggleProps.children }
100
- </Button>
101
- );
102
- } }
103
- renderContent={ ( { isOpen, onClose, ...props } ) => {
104
- return (
105
- <BottomSheet
106
- hideHeader
107
- isVisible={ isOpen }
108
- onClose={ onClose }
109
- >
110
- { isFunction( children ) ? children( props ) : null }
111
- <PanelBody
112
- title={ label }
113
- style={ { paddingLeft: 0, paddingRight: 0 } }
114
- >
115
- { controlSets?.flatMap(
116
- ( controlSet, indexOfSet ) =>
117
- controlSet.map(
118
- ( control, indexOfControl ) => (
119
- <BottomSheet.Cell
120
- key={ [
121
- indexOfSet,
122
- indexOfControl,
123
- ].join() }
124
- label={ control.title }
125
- onPress={ () => {
126
- onClose();
127
- if ( control.onClick ) {
128
- control.onClick();
129
- }
130
- } }
131
- editable={ false }
132
- icon={ control.icon }
133
- leftAlign
134
- isSelected={ control.isActive }
135
- separatorType={
136
- Platform.OS === 'android'
137
- ? 'none'
138
- : 'leftMargin'
139
- }
140
- />
141
- )
142
- )
143
- ) }
144
- </PanelBody>
145
- </BottomSheet>
146
- );
147
- } }
148
- />
149
- );
150
- }
151
-
152
- export default withPreferredColorScheme( DropdownMenu );
@@ -1,25 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
-
5
- import { TouchableOpacity, Text, Linking } from 'react-native';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import { __ } from '@wordpress/i18n';
11
- import { external, Icon } from '@wordpress/icons';
12
-
13
- export function ExternalLink( { href, children } ) {
14
- return (
15
- <TouchableOpacity
16
- onPress={ () => Linking.openURL( href ) }
17
- accessibilityLabel={ __( 'Open link in a browser' ) }
18
- >
19
- <Text>{ children }</Text>
20
- <Icon icon={ external } />
21
- </TouchableOpacity>
22
- );
23
- }
24
-
25
- export default ExternalLink;
@@ -1,30 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { Path, SVG } from '@wordpress/primitives';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import styles from './style.scss';
10
-
11
- export default function FocalPoint( { height, style, width } ) {
12
- return (
13
- <SVG
14
- height={ height }
15
- style={ style }
16
- viewBox="0 0 30 30"
17
- width={ width }
18
- xmlns="http://www.w3.org/2000/svg"
19
- >
20
- <Path
21
- style={ styles.focalPointIconPathOutline }
22
- d="M15 1C7.3 1 1 7.3 1 15s6.3 14 14 14 14-6.3 14-14S22.7 1 15 1zm0 22c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z"
23
- />
24
- <Path
25
- style={ styles.focalPointIconPathFill }
26
- d="M15 3C8.4 3 3 8.4 3 15s5.4 12 12 12 12-5.4 12-12S21.6 3 15 3zm0 22C9.5 25 5 20.5 5 15S9.5 5 15 5s10 4.5 10 10-4.5 10-10 10z"
27
- />
28
- </SVG>
29
- );
30
- }
@@ -1,281 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { Animated, PanResponder, StyleSheet, View } from 'react-native';
5
- import Video from 'react-native-video';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import {
11
- requestFocalPointPickerTooltipShown,
12
- setFocalPointPickerTooltipShown,
13
- } from '@wordpress/react-native-bridge';
14
- import { __ } from '@wordpress/i18n';
15
- import { useRef, useState, useMemo, useEffect } from '@wordpress/element';
16
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
- import FocalPoint from './focal-point';
22
- import Tooltip from './tooltip';
23
- import styles from './style.scss';
24
- import { isVideoType } from './utils';
25
- import { clamp } from '../utils/math';
26
- import Image from '../mobile/image';
27
- import UnitControl from '../unit-control';
28
-
29
- const MIN_POSITION_VALUE = 0;
30
- const MAX_POSITION_VALUE = 100;
31
- const FOCAL_POINT_UNITS = [ { default: 50, label: '%', value: '%' } ];
32
-
33
- function FocalPointPicker( props ) {
34
- const { focalPoint, onChange, shouldEnableBottomSheetScroll, url } = props;
35
-
36
- const isVideo = isVideoType( url );
37
-
38
- const [ containerSize, setContainerSize ] = useState( null );
39
- const [ sliderKey, setSliderKey ] = useState( 0 );
40
- const [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );
41
- const [ videoNaturalSize, setVideoNaturalSize ] = useState( null );
42
- const [ tooltipVisible, setTooltipVisible ] = useState( false );
43
-
44
- const locationPageOffsetX = useRef();
45
- const locationPageOffsetY = useRef();
46
- const videoRef = useRef( null );
47
-
48
- useEffect( () => {
49
- requestFocalPointPickerTooltipShown( ( tooltipShown ) => {
50
- if ( ! tooltipShown ) {
51
- setTooltipVisible( true );
52
- setFocalPointPickerTooltipShown( true );
53
- }
54
- } );
55
- }, [] );
56
-
57
- // Animated coordinates for drag handle.
58
- const pan = useRef( new Animated.ValueXY() ).current;
59
-
60
- /**
61
- * Set drag handle position anytime focal point coordinates change.
62
- * E.g. initial render, dragging range sliders.
63
- */
64
- useEffect( () => {
65
- if ( containerSize ) {
66
- pan.setValue( {
67
- x: focalPoint.x * containerSize.width,
68
- y: focalPoint.y * containerSize.height,
69
- } );
70
- }
71
- }, [ focalPoint, containerSize, pan ] );
72
-
73
- // Pan responder to manage drag handle interactivity.
74
- const panResponder = useMemo(
75
- () =>
76
- PanResponder.create( {
77
- onStartShouldSetPanResponder: () => true,
78
- onStartShouldSetPanResponderCapture: () => true,
79
- onMoveShouldSetPanResponder: () => true,
80
- onMoveShouldSetPanResponderCapture: () => true,
81
-
82
- onPanResponderGrant: ( event ) => {
83
- shouldEnableBottomSheetScroll( false );
84
- const {
85
- locationX: x,
86
- locationY: y,
87
- pageX,
88
- pageY,
89
- } = event.nativeEvent;
90
- locationPageOffsetX.current = pageX - x;
91
- locationPageOffsetY.current = pageY - y;
92
- pan.setValue( { x, y } ); // Set cursor to tap location.
93
- pan.extractOffset(); // Set offset to current value.
94
- },
95
- // Move cursor to match delta drag.
96
- onPanResponderMove: Animated.event(
97
- [ null, { dx: pan.x, dy: pan.y } ],
98
- { useNativeDriver: false }
99
- ),
100
- onPanResponderRelease: ( event ) => {
101
- shouldEnableBottomSheetScroll( true );
102
- pan.flattenOffset(); // Flatten offset into value.
103
- const { pageX, pageY } = event.nativeEvent;
104
- // Ideally, x and y below are merely locationX and locationY from the
105
- // nativeEvent. However, we are required to compute these relative
106
- // coordinates to workaround a bug affecting Android's PanResponder.
107
- // Specifically, dragging the handle outside the bounds of the image
108
- // results in inaccurate locationX and locationY coordinates to be
109
- // reported. https://github.com/facebook/react-native/issues/15290#issuecomment-435494944
110
- const x = pageX - locationPageOffsetX.current;
111
- const y = pageY - locationPageOffsetY.current;
112
- onChange( {
113
- x: clamp( x / containerSize?.width, 0, 1 ).toFixed( 2 ),
114
- y: clamp( y / containerSize?.height, 0, 1 ).toFixed(
115
- 2
116
- ),
117
- } );
118
- // Slider (child of RangeCell) is uncontrolled, so we must increment a
119
- // key to re-mount and sync the pan gesture values to the sliders
120
- // https://github.com/callstack/react-native-slider/tree/v3.0.3#value
121
- setSliderKey( ( prevState ) => prevState + 1 );
122
- },
123
- } ),
124
- [ containerSize, pan, onChange, shouldEnableBottomSheetScroll ]
125
- );
126
-
127
- const mediaBackground = usePreferredColorSchemeStyle(
128
- styles.mediaBackground,
129
- styles.mediaBackgroundDark
130
- );
131
- const imagePreviewStyles = [
132
- displayPlaceholder && styles.mediaPlaceholder,
133
- styles.image,
134
- ];
135
- const videoPreviewStyles = [
136
- {
137
- aspectRatio:
138
- videoNaturalSize &&
139
- videoNaturalSize.width / videoNaturalSize.height,
140
- // Hide Video component since it has black background while loading the source
141
- opacity: displayPlaceholder ? 0 : 1,
142
- },
143
- styles.video,
144
- displayPlaceholder && styles.mediaPlaceholder,
145
- ];
146
- const focalPointGroupStyles = [
147
- styles.focalPointGroup,
148
- {
149
- transform: [
150
- {
151
- translateX: pan.x.interpolate( {
152
- inputRange: [ 0, containerSize?.width || 0 ],
153
- outputRange: [ 0, containerSize?.width || 0 ],
154
- extrapolate: 'clamp',
155
- } ),
156
- },
157
- {
158
- translateY: pan.y.interpolate( {
159
- inputRange: [ 0, containerSize?.height || 0 ],
160
- outputRange: [ 0, containerSize?.height || 0 ],
161
- extrapolate: 'clamp',
162
- } ),
163
- },
164
- ],
165
- },
166
- ];
167
- const FOCAL_POINT_SIZE = 50;
168
- const focalPointStyles = StyleSheet.flatten( [
169
- styles.focalPoint,
170
- {
171
- height: FOCAL_POINT_SIZE,
172
- marginLeft: -( FOCAL_POINT_SIZE / 2 ),
173
- marginTop: -( FOCAL_POINT_SIZE / 2 ),
174
- width: FOCAL_POINT_SIZE,
175
- },
176
- ] );
177
-
178
- const onTooltipPress = () => setTooltipVisible( false );
179
- const onMediaLayout = ( event ) => {
180
- const { height, width } = event.nativeEvent.layout;
181
-
182
- if (
183
- width !== 0 &&
184
- height !== 0 &&
185
- ( containerSize?.width !== width ||
186
- containerSize?.height !== height )
187
- ) {
188
- setContainerSize( { width, height } );
189
- }
190
- };
191
- const onImageDataLoad = () => setDisplayPlaceholder( false );
192
- const onVideoLoad = ( event ) => {
193
- const { height, width } = event.naturalSize;
194
- setVideoNaturalSize( { height, width } );
195
- setDisplayPlaceholder( false );
196
- // Avoid invisible, paused video on Android, presumably related to
197
- // https://github.com/react-native-video/react-native-video/issues/1979
198
- videoRef?.current.seek( 0 );
199
- };
200
- const onXCoordinateChange = ( x ) =>
201
- onChange( { x: ( x / 100 ).toFixed( 2 ) } );
202
- const onYCoordinateChange = ( y ) =>
203
- onChange( { y: ( y / 100 ).toFixed( 2 ) } );
204
-
205
- return (
206
- <View style={ styles.container }>
207
- <Tooltip onPress={ onTooltipPress } visible={ tooltipVisible }>
208
- <View style={ [ styles.media, mediaBackground ] }>
209
- <View
210
- { ...panResponder.panHandlers }
211
- onLayout={ onMediaLayout }
212
- style={ styles.mediaContainer }
213
- >
214
- { ! isVideo && (
215
- <Image
216
- editButton={ false }
217
- highlightSelected={ false }
218
- isSelected={ ! displayPlaceholder }
219
- height="100%"
220
- url={ url }
221
- style={ imagePreviewStyles }
222
- onImageDataLoad={ onImageDataLoad }
223
- />
224
- ) }
225
- { isVideo && (
226
- <Video
227
- muted
228
- paused
229
- disableFocus
230
- onLoad={ onVideoLoad }
231
- ref={ videoRef }
232
- resizeMode="contain"
233
- source={ { uri: url } }
234
- style={ videoPreviewStyles }
235
- />
236
- ) }
237
- { ! displayPlaceholder && (
238
- <Animated.View
239
- pointerEvents="none"
240
- style={ focalPointGroupStyles }
241
- >
242
- <Tooltip.Label
243
- text={ __( 'Drag to adjust focal point' ) }
244
- yOffset={ -( FOCAL_POINT_SIZE / 2 ) }
245
- />
246
- <FocalPoint
247
- height={ focalPointStyles.height }
248
- style={ focalPointStyles }
249
- testID="focal-point-picker-handle"
250
- width={ focalPointStyles.width }
251
- />
252
- </Animated.View>
253
- ) }
254
- </View>
255
- </View>
256
- <UnitControl
257
- key={ `xAxis-${ sliderKey }` }
258
- label={ __( 'X-Axis Position' ) }
259
- max={ MAX_POSITION_VALUE }
260
- min={ MIN_POSITION_VALUE }
261
- onChange={ onXCoordinateChange }
262
- unit="%"
263
- units={ FOCAL_POINT_UNITS }
264
- value={ Math.round( focalPoint.x * 100 ) }
265
- />
266
- <UnitControl
267
- key={ `yAxis-${ sliderKey }` }
268
- label={ __( 'Y-Axis Position' ) }
269
- max={ MAX_POSITION_VALUE }
270
- min={ MIN_POSITION_VALUE }
271
- onChange={ onYCoordinateChange }
272
- unit="%"
273
- units={ FOCAL_POINT_UNITS }
274
- value={ Math.round( focalPoint.y * 100 ) }
275
- />
276
- </Tooltip>
277
- </View>
278
- );
279
- }
280
-
281
- export default FocalPointPicker;
@@ -1,144 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { Animated, Easing, PanResponder, Text, View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import {
10
- createContext,
11
- useEffect,
12
- useRef,
13
- useState,
14
- useContext,
15
- } from '@wordpress/element';
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
- import styles from './style.scss';
21
-
22
- const TooltipContext = createContext();
23
-
24
- function Tooltip( { children, onPress, style, visible } ) {
25
- const panResponder = useRef(
26
- PanResponder.create( {
27
- /**
28
- * To allow dimissing the tooltip on press while also avoiding blocking
29
- * interactivity within the child context, we place this `onPress` side
30
- * effect within the `onStartShouldSetPanResponderCapture` callback.
31
- *
32
- * This is a bit unorthodox, but may be the simplest approach to achieving
33
- * this outcome. This is effectively a gesture responder that never
34
- * becomes the controlling responder. https://bit.ly/2J3ugKF
35
- */
36
- onStartShouldSetPanResponderCapture: () => {
37
- if ( onPress ) {
38
- onPress();
39
- }
40
- return false;
41
- },
42
- } )
43
- ).current;
44
-
45
- return (
46
- <TooltipContext.Provider value={ visible }>
47
- <View
48
- { ...( visible ? panResponder.panHandlers : {} ) }
49
- style={ style }
50
- >
51
- { children }
52
- </View>
53
- </TooltipContext.Provider>
54
- );
55
- }
56
-
57
- function Label( { align = 'center', text, xOffset = 0, yOffset = 0 } ) {
58
- const animationValue = useRef( new Animated.Value( 0 ) ).current;
59
- const [ dimensions, setDimensions ] = useState( null );
60
- const visible = useContext( TooltipContext );
61
-
62
- if ( typeof visible === 'undefined' ) {
63
- throw new Error(
64
- 'Tooltip.Label cannot be rendered outside of the Tooltip component'
65
- );
66
- }
67
-
68
- useEffect( () => {
69
- const startAnimation = () => {
70
- Animated.timing( animationValue, {
71
- toValue: visible ? 1 : 0,
72
- duration: visible ? 300 : 150,
73
- useNativeDriver: true,
74
- delay: visible ? 500 : 0,
75
- easing: Easing.out( Easing.quad ),
76
- } ).start();
77
- };
78
- startAnimation();
79
- }, [ animationValue, visible ] );
80
-
81
- // Transforms rely upon onLayout to enable custom offsets additions.
82
- let tooltipTransforms;
83
- if ( dimensions ) {
84
- tooltipTransforms = [
85
- {
86
- translateX:
87
- ( align === 'center' ? -dimensions.width / 2 : 0 ) +
88
- xOffset,
89
- },
90
- { translateY: -dimensions.height + yOffset },
91
- ];
92
- }
93
-
94
- const tooltipStyles = [
95
- styles.tooltip,
96
- {
97
- shadowColor: styles.tooltipShadow?.color,
98
- shadowOffset: {
99
- width: 0,
100
- height: 2,
101
- },
102
- shadowOpacity: 0.25,
103
- shadowRadius: 2,
104
- elevation: 2,
105
- transform: tooltipTransforms,
106
- },
107
- align === 'left' && styles.tooltipLeftAlign,
108
- ];
109
- const arrowStyles = [
110
- styles.arrow,
111
- align === 'left' && styles.arrowLeftAlign,
112
- ];
113
-
114
- return (
115
- <Animated.View
116
- style={ {
117
- opacity: animationValue,
118
- transform: [
119
- {
120
- translateY: animationValue.interpolate( {
121
- inputRange: [ 0, 1 ],
122
- outputRange: [ visible ? 4 : -8, -8 ],
123
- } ),
124
- },
125
- ],
126
- } }
127
- >
128
- <View
129
- onLayout={ ( { nativeEvent } ) => {
130
- const { height, width } = nativeEvent.layout;
131
- setDimensions( { height, width } );
132
- } }
133
- style={ tooltipStyles }
134
- >
135
- <Text style={ styles.text }>{ text }</Text>
136
- <View style={ arrowStyles } />
137
- </View>
138
- </Animated.View>
139
- );
140
- }
141
-
142
- Tooltip.Label = Label;
143
-
144
- export default Tooltip;
@@ -1,42 +0,0 @@
1
- $tooltipColor: #121212;
2
- $tooltipArrowSize: 6px;
3
- $tooltipArrowOffset: -($tooltipArrowSize - 1);
4
-
5
- .tooltip {
6
- background-color: $tooltipColor;
7
- border-radius: 4px;
8
- left: 50%;
9
- position: absolute;
10
- top: $tooltipArrowOffset;
11
- z-index: 1;
12
- }
13
-
14
- .tooltipLeftAlign {
15
- left: 0;
16
- }
17
-
18
- .tooltipShadow {
19
- color: $black;
20
- }
21
-
22
- .text {
23
- color: $white;
24
- padding: 12px 16px;
25
- }
26
-
27
- .arrow {
28
- border-color: $tooltipColor transparent transparent transparent;
29
- border-style: solid;
30
- border-width: $tooltipArrowSize $tooltipArrowSize 0 $tooltipArrowSize;
31
- bottom: $tooltipArrowOffset;
32
- height: 0;
33
- left: 50%;
34
- margin-left: -$tooltipArrowSize;
35
- position: absolute;
36
- top: 100%;
37
- width: 0;
38
- }
39
-
40
- .arrowLeftAlign {
41
- left: 16px;
42
- }