@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,87 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
-
5
- import { Keyboard } from 'react-native';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import { useEffect, useCallback, useState, useRef } from '@wordpress/element';
11
-
12
- /**
13
- * Hook that adds Keyboard listeners to get the offset space
14
- * when the keyboard is opened, taking into account focused AztecViews.
15
- *
16
- * @param {boolean} scrollEnabled Whether the scroll is enabled or not.
17
- * @param {Function} shouldPreventAutomaticScroll Whether to prevent scrolling when there's a Keyboard offset set.
18
- * @return {[number]} Keyboard offset.
19
- */
20
- export default function useKeyboardOffset(
21
- scrollEnabled,
22
- shouldPreventAutomaticScroll
23
- ) {
24
- const [ keyboardOffset, setKeyboardOffset ] = useState( 0 );
25
- const timeoutRef = useRef();
26
-
27
- const onKeyboardDidHide = useCallback( () => {
28
- if ( shouldPreventAutomaticScroll() ) {
29
- clearTimeout( timeoutRef.current );
30
- return;
31
- }
32
-
33
- // A timeout is being used to delay resetting the offset in cases
34
- // where the focus is changed to a different TextInput.
35
- clearTimeout( timeoutRef.current );
36
- timeoutRef.current = setTimeout( () => {
37
- setKeyboardOffset( 0 );
38
- }, 200 );
39
- }, [ shouldPreventAutomaticScroll ] );
40
-
41
- const onKeyboardDidShow = useCallback( ( { endCoordinates } ) => {
42
- clearTimeout( timeoutRef.current );
43
- setKeyboardOffset( endCoordinates.height );
44
- }, [] );
45
-
46
- const onKeyboardWillShow = useCallback( () => {
47
- clearTimeout( timeoutRef.current );
48
- }, [] );
49
-
50
- useEffect( () => {
51
- let willShowSubscription;
52
- let showSubscription;
53
- let hideSubscription;
54
-
55
- if ( scrollEnabled ) {
56
- willShowSubscription = Keyboard.addListener(
57
- 'keyboardWillShow',
58
- onKeyboardWillShow
59
- );
60
- showSubscription = Keyboard.addListener(
61
- 'keyboardDidShow',
62
- onKeyboardDidShow
63
- );
64
- hideSubscription = Keyboard.addListener(
65
- 'keyboardDidHide',
66
- onKeyboardDidHide
67
- );
68
- } else {
69
- willShowSubscription?.remove();
70
- showSubscription?.remove();
71
- hideSubscription?.remove();
72
- }
73
-
74
- return () => {
75
- clearTimeout( timeoutRef.current );
76
- willShowSubscription?.remove();
77
- showSubscription?.remove();
78
- hideSubscription?.remove();
79
- };
80
- }, [
81
- onKeyboardDidHide,
82
- onKeyboardDidShow,
83
- onKeyboardWillShow,
84
- scrollEnabled,
85
- ] );
86
- return [ keyboardOffset ];
87
- }
@@ -1,41 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useCallback } from '@wordpress/element';
5
-
6
- /** @typedef {import('@wordpress/element').RefObject} RefObject */
7
- /**
8
- * Hook to scroll to a specified element by taking into account the Keyboard
9
- * and the Header.
10
- *
11
- * @param {RefObject} scrollViewRef Scroll view reference.
12
- * @param {Function} scrollToSection Function to scroll.
13
- * @return {Function[]} Function to scroll to an element.
14
- */
15
- export default function useScrollToElement( scrollViewRef, scrollToSection ) {
16
- /**
17
- * Function to scroll to an element.
18
- *
19
- * @param {RefObject} elementRef Ref of the element.
20
- */
21
- const scrollToElement = useCallback(
22
- ( elementRef ) => {
23
- if ( ! scrollViewRef.current || ! elementRef ) {
24
- return;
25
- }
26
-
27
- elementRef.current.measureLayout(
28
- scrollViewRef.current,
29
- ( _x, y, _width, height ) => {
30
- if ( height || y ) {
31
- scrollToSection( Math.round( y ), height );
32
- }
33
- },
34
- () => {}
35
- );
36
- },
37
- [ scrollViewRef, scrollToSection ]
38
- );
39
-
40
- return [ scrollToElement ];
41
- }
@@ -1,100 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { useCallback } from '@wordpress/element';
10
-
11
- /** @typedef {import('@wordpress/element').RefObject} RefObject */
12
- /** @typedef {import('react-native-reanimated').SharedValue} SharedValue */
13
- /**
14
- * Hook to scroll to a specified section by taking into account the Keyboard
15
- * and the Header.
16
- *
17
- * @param {number} extraScrollHeight Extra space to not overlap the content.
18
- * @param {number} keyboardOffset Keyboard space offset.
19
- * @param {boolean} scrollEnabled Whether the scroll is enabled or not.
20
- * @param {RefObject} scrollViewMeasurements ScrollView Layout measurements.
21
- * @param {RefObject} scrollViewRef Scroll view reference.
22
- * @param {SharedValue} scrollViewYOffset Current offset position of the ScrollView.
23
- * @return {Function[]} Function to scroll to a section.
24
- */
25
- export default function useScrollToSection(
26
- extraScrollHeight,
27
- keyboardOffset,
28
- scrollEnabled,
29
- scrollViewMeasurements,
30
- scrollViewRef,
31
- scrollViewYOffset
32
- ) {
33
- const { top, bottom } = useSafeAreaInsets();
34
- const insets = top + bottom;
35
-
36
- /**
37
- * Function to scroll to a section.
38
- *
39
- * @param {Object} section Section data to scroll to.
40
- * @param {number} section.y Y-coordinate of of the section.
41
- * @param {number} section.height Height of the section.
42
- */
43
- const scrollToSection = useCallback(
44
- ( sectionY, sectionHeight ) => {
45
- if (
46
- ! scrollViewRef.current ||
47
- ! scrollEnabled ||
48
- ! scrollViewMeasurements.current
49
- ) {
50
- return;
51
- }
52
-
53
- const currentScrollViewYOffset = Math.max(
54
- 0,
55
- scrollViewYOffset.value
56
- );
57
-
58
- // Scroll to the top of the section.
59
- if ( sectionY < currentScrollViewYOffset ) {
60
- scrollViewRef.current.scrollTo( {
61
- y: sectionY,
62
- animated: true,
63
- } );
64
- return;
65
- }
66
-
67
- const availableScreenSpace = Math.abs(
68
- Math.floor(
69
- scrollViewMeasurements.current.height -
70
- ( keyboardOffset + extraScrollHeight + sectionHeight )
71
- )
72
- );
73
- const maxOffset = Math.floor(
74
- currentScrollViewYOffset + availableScreenSpace
75
- );
76
-
77
- const isAtTheTop =
78
- sectionY < scrollViewMeasurements.current.y + insets;
79
-
80
- // Scroll to the bottom of the section.
81
- if ( sectionY > maxOffset && ! isAtTheTop ) {
82
- scrollViewRef.current.scrollTo( {
83
- y: sectionY - availableScreenSpace,
84
- animated: true,
85
- } );
86
- }
87
- },
88
- [
89
- extraScrollHeight,
90
- insets,
91
- keyboardOffset,
92
- scrollEnabled,
93
- scrollViewMeasurements,
94
- scrollViewRef,
95
- scrollViewYOffset,
96
- ]
97
- );
98
-
99
- return [ scrollToSection ];
100
- }
@@ -1,100 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
-
5
- import { useWindowDimensions } from 'react-native';
6
- import {
7
- useAnimatedScrollHandler,
8
- useSharedValue,
9
- } from 'react-native-reanimated';
10
-
11
- /**
12
- * WordPress dependencies
13
- */
14
- import { useCallback, useEffect, useRef } from '@wordpress/element';
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
- import useKeyboardOffset from './use-keyboard-offset';
20
- import useScrollToSection from './use-scroll-to-section';
21
- import useScrollToElement from './use-scroll-to-element';
22
-
23
- export default function useScroll( {
24
- scrollEnabled,
25
- shouldPreventAutomaticScroll,
26
- onScroll,
27
- onSizeChange,
28
- extraScrollHeight,
29
- } ) {
30
- const scrollViewRef = useRef();
31
- const scrollViewMeasurements = useRef();
32
- const scrollViewYOffset = useSharedValue( -1 );
33
- const lastScrollTo = useRef( {
34
- clientId: null,
35
- } );
36
-
37
- const { height: windowHeight, width: windowWidth } = useWindowDimensions();
38
- const isLandscape = windowWidth >= windowHeight;
39
-
40
- const [ keyboardOffset ] = useKeyboardOffset(
41
- scrollEnabled,
42
- shouldPreventAutomaticScroll
43
- );
44
-
45
- const scrollHandler = useAnimatedScrollHandler( {
46
- onScroll: ( event ) => {
47
- const { contentOffset } = event;
48
- scrollViewYOffset.value = contentOffset.y;
49
- onScroll( event );
50
- },
51
- } );
52
-
53
- // When the orientation changes, the ScrollView measurements
54
- // need to be re-calculated.
55
- useEffect( () => {
56
- scrollViewMeasurements.current = null;
57
- }, [ isLandscape ] );
58
-
59
- const [ scrollToSection ] = useScrollToSection(
60
- extraScrollHeight,
61
- keyboardOffset,
62
- scrollEnabled,
63
- scrollViewMeasurements,
64
- scrollViewRef,
65
- scrollViewYOffset
66
- );
67
- const [ scrollToElement ] = useScrollToElement(
68
- scrollViewRef,
69
- scrollToSection
70
- );
71
-
72
- const measureScrollView = useCallback( () => {
73
- if ( scrollViewRef.current ) {
74
- scrollViewRef.current.measureInWindow( ( _x, y, width, height ) => {
75
- scrollViewMeasurements.current = { y, width, height };
76
- } );
77
- }
78
- }, [ scrollViewRef ] );
79
-
80
- const onContentSizeChange = useCallback( () => {
81
- if ( onSizeChange ) {
82
- onSizeChange();
83
- }
84
-
85
- // Sets the first values when the content size changes.
86
- if ( ! scrollViewMeasurements.current ) {
87
- measureScrollView();
88
- }
89
- }, [ measureScrollView, onSizeChange ] );
90
-
91
- return {
92
- scrollViewRef,
93
- scrollHandler,
94
- keyboardOffset,
95
- scrollToSection,
96
- scrollToElement,
97
- onContentSizeChange,
98
- lastScrollTo,
99
- };
100
- }
@@ -1,36 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import RCTAztecView from '@wordpress/react-native-aztec';
5
- import { useCallback, useEffect, useState } from '@wordpress/element';
6
-
7
- /**
8
- * Hook that listens to caret changes from AztecView TextInputs.
9
- *
10
- * @param {boolean} scrollEnabled Whether the scroll is enabled or not.
11
- * @return {[number]} Current caret's data.
12
- */
13
- export default function useTextInputCaretPosition( scrollEnabled ) {
14
- const [ currentCaretData, setCurrentCaretData ] = useState();
15
-
16
- const onCaretChange = useCallback( ( caret ) => {
17
- setCurrentCaretData( caret );
18
- }, [] );
19
-
20
- useEffect( () => {
21
- if ( scrollEnabled ) {
22
- RCTAztecView.InputState.addCaretChangeListener( onCaretChange );
23
- } else {
24
- RCTAztecView.InputState.removeCaretChangeListener( onCaretChange );
25
- }
26
-
27
- return () => {
28
- if ( scrollEnabled ) {
29
- RCTAztecView.InputState.removeCaretChangeListener(
30
- onCaretChange
31
- );
32
- }
33
- };
34
- }, [ scrollEnabled, onCaretChange ] );
35
- return [ currentCaretData ];
36
- }
@@ -1,54 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import RCTAztecView from '@wordpress/react-native-aztec';
5
- import { useCallback } from '@wordpress/element';
6
-
7
- /** @typedef {import('@wordpress/element').RefObject} RefObject */
8
- /**
9
- * Hook that calculates the currently focused TextInput's current
10
- * caret Y coordinate position.
11
- *
12
- * @param {boolean} scrollEnabled Whether the scroll is enabled or not.
13
- * @param {RefObject} scrollViewRef ScrollView reference.
14
- * @return {[Function]} Function to get the current TextInput's offset.
15
- */
16
- export default function useTextInputOffset( scrollEnabled, scrollViewRef ) {
17
- const getTextInputOffset = useCallback(
18
- async ( caret ) => {
19
- const { caretY = null } = caret ?? {};
20
- const textInput =
21
- RCTAztecView.InputState.getCurrentFocusedElement();
22
-
23
- return new Promise( ( resolve ) => {
24
- if (
25
- scrollViewRef.current &&
26
- textInput &&
27
- scrollEnabled &&
28
- caretY !== null
29
- ) {
30
- textInput.measureLayout(
31
- scrollViewRef.current,
32
- ( _x, y, _width, height ) => {
33
- const caretYOffset =
34
- // For cases where the caretY value is -1
35
- // we use the y + height value, e.g the current
36
- // character index is not valid or out of bounds
37
- // see https://github.com/wordpress-mobile/AztecEditor-iOS/blob/4d0522d67b0056ac211466caaa76936cc5b4f947/Aztec/Classes/TextKit/TextView.swift#L762
38
- caretY >= 0 && caretY < height
39
- ? y + caretY
40
- : y + height;
41
- resolve( Math.round( Math.abs( caretYOffset ) ) );
42
- },
43
- () => resolve( null )
44
- );
45
- } else {
46
- resolve( null );
47
- }
48
- } );
49
- },
50
- [ scrollEnabled, scrollViewRef ]
51
- );
52
-
53
- return [ getTextInputOffset ];
54
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { LayoutAnimation } from 'react-native';
5
-
6
- const ANIMATION_DURATION = 300;
7
-
8
- export function performLayoutAnimation( duration = ANIMATION_DURATION ) {
9
- LayoutAnimation.configureNext(
10
- LayoutAnimation.create(
11
- duration,
12
- LayoutAnimation.Types.easeInEaseOut,
13
- LayoutAnimation.Properties.opacity
14
- )
15
- );
16
- }
@@ -1,160 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { SafeAreaView, TouchableOpacity, View } from 'react-native';
5
- import Clipboard from '@react-native-clipboard/clipboard';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import { useEffect, useState } from '@wordpress/element';
11
- import { __, sprintf } from '@wordpress/i18n';
12
- import { getProtocol, isURL, prependHTTP } from '@wordpress/url';
13
- import { link, cancelCircleFilled } from '@wordpress/icons';
14
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
- import LinkPickerResults from './link-picker-results';
20
- import NavBar from '../bottom-sheet/nav-bar';
21
- import styles from './styles.scss';
22
- import BottomSheet from '../bottom-sheet';
23
- import Icon from '../../icon';
24
-
25
- // This creates a search suggestion for adding a url directly.
26
- export const createDirectEntry = ( value ) => {
27
- let type = 'URL';
28
-
29
- const protocol = getProtocol( value )?.toLowerCase() || '';
30
-
31
- if ( protocol.includes( 'mailto' ) ) {
32
- type = 'mailto';
33
- }
34
-
35
- if ( protocol.includes( 'tel' ) ) {
36
- type = 'tel';
37
- }
38
-
39
- if ( value?.startsWith( '#' ) ) {
40
- type = 'internal';
41
- }
42
-
43
- return {
44
- isDirectEntry: true,
45
- title: value,
46
- url: type === 'URL' ? prependHTTP( value ) : value,
47
- type,
48
- };
49
- };
50
-
51
- const getURLFromClipboard = async () => {
52
- const text = await Clipboard.getString();
53
- return !! text && isURL( text ) ? text : '';
54
- };
55
-
56
- export const LinkPicker = ( {
57
- value: initialValue,
58
- onLinkPicked,
59
- onCancel: cancel,
60
- } ) => {
61
- const [ value, setValue ] = useState( initialValue );
62
- const [ clipboardUrl, setClipboardUrl ] = useState( '' );
63
- const directEntry = createDirectEntry( value );
64
-
65
- // The title of a direct entry is displayed as the raw input value, but if we
66
- // are replacing empty text, we want to use the generated url.
67
- const pickLink = ( { title, url, isDirectEntry } ) => {
68
- onLinkPicked( { title: isDirectEntry ? url : title, url } );
69
- };
70
-
71
- const onSubmit = () => {
72
- pickLink( directEntry );
73
- };
74
-
75
- const clear = () => {
76
- setValue( '' );
77
- setClipboardUrl( '' );
78
- };
79
-
80
- const omniCellStyle = usePreferredColorSchemeStyle(
81
- styles.omniCell,
82
- styles.omniCellDark
83
- );
84
-
85
- const iconStyle = usePreferredColorSchemeStyle(
86
- styles.icon,
87
- styles.iconDark
88
- );
89
-
90
- useEffect( () => {
91
- getURLFromClipboard()
92
- .then( setClipboardUrl )
93
- .catch( () => setClipboardUrl( '' ) );
94
- }, [] );
95
-
96
- // TODO: Localize the accessibility label.
97
- // TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.
98
- return (
99
- <SafeAreaView style={ styles.safeArea }>
100
- <NavBar>
101
- <NavBar.DismissButton onPress={ cancel } />
102
- <NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>
103
- <NavBar.ApplyButton onPress={ onSubmit } />
104
- </NavBar>
105
- <View style={ styles.contentContainer }>
106
- <BottomSheet.Cell
107
- icon={ link }
108
- style={ omniCellStyle }
109
- valueStyle={ styles.omniInput }
110
- value={ value }
111
- placeholder={ __( 'Search or type URL' ) }
112
- autoCapitalize="none"
113
- autoCorrect={ false }
114
- keyboardType="url"
115
- onChangeValue={ setValue }
116
- onSubmit={ onSubmit }
117
- /* eslint-disable-next-line jsx-a11y/no-autofocus */
118
- autoFocus
119
- separatorType="none"
120
- >
121
- { value !== '' && (
122
- <TouchableOpacity
123
- onPress={ clear }
124
- style={ styles.clearIcon }
125
- >
126
- <Icon
127
- icon={ cancelCircleFilled }
128
- fill={ iconStyle.color }
129
- size={ 24 }
130
- />
131
- </TouchableOpacity>
132
- ) }
133
- </BottomSheet.Cell>
134
- { !! clipboardUrl && clipboardUrl !== value && (
135
- <BottomSheet.LinkSuggestionItemCell
136
- accessible
137
- accessibilityLabel={ sprintf(
138
- /* translators: %s: Copy URL from the clipboard, https://sample.url */
139
- __( 'Copy URL from the clipboard, %s' ),
140
- clipboardUrl
141
- ) }
142
- suggestion={ {
143
- type: 'clipboard',
144
- url: clipboardUrl,
145
- isDirectEntry: true,
146
- } }
147
- onLinkPicked={ pickLink }
148
- />
149
- ) }
150
- { !! value && (
151
- <LinkPickerResults
152
- query={ value }
153
- onLinkPicked={ pickLink }
154
- directEntry={ directEntry }
155
- />
156
- ) }
157
- </View>
158
- </SafeAreaView>
159
- );
160
- };