@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,292 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- Animated,
6
- Easing,
7
- Keyboard,
8
- Platform,
9
- StyleSheet,
10
- Text,
11
- View,
12
- } from 'react-native';
13
-
14
- /**
15
- * WordPress dependencies
16
- */
17
- import {
18
- cloneElement,
19
- createContext,
20
- useContext,
21
- useEffect,
22
- useMemo,
23
- useRef,
24
- useState,
25
- } from '@wordpress/element';
26
- import { usePrevious } from '@wordpress/compose';
27
-
28
- /**
29
- * Internal dependencies
30
- */
31
- import { createSlotFill } from '../slot-fill';
32
- import styles from './style.scss';
33
-
34
- const RIGHT_ALIGN_ARROW_OFFSET = 16;
35
- const TOOLTIP_VERTICAL_OFFSET = 2;
36
-
37
- const TooltipContext = createContext( {
38
- onHandleScreenTouch: () => {},
39
- } );
40
- const { Fill, Slot } = createSlotFill( 'Tooltip' );
41
-
42
- const useKeyboardVisibility = () => {
43
- const [ keyboardVisible, setKeyboardVisible ] = useState( false );
44
- const previousKeyboardVisible = usePrevious( keyboardVisible );
45
-
46
- useEffect( () => {
47
- const showListener = Keyboard.addListener( 'keyboardDidShow', () => {
48
- if ( previousKeyboardVisible !== true ) {
49
- setKeyboardVisible( true );
50
- }
51
- } );
52
- const keyboardHideEvent = Platform.select( {
53
- android: 'keyboardDidHide',
54
- ios: 'keyboardWillHide',
55
- } );
56
- const hideListener = Keyboard.addListener( keyboardHideEvent, () => {
57
- if ( previousKeyboardVisible !== false ) {
58
- setKeyboardVisible( false );
59
- }
60
- } );
61
- return () => {
62
- showListener.remove();
63
- hideListener.remove();
64
- };
65
- // See https://github.com/WordPress/gutenberg/pull/41166
66
- }, [] );
67
-
68
- return keyboardVisible;
69
- };
70
-
71
- const Tooltip = ( {
72
- children,
73
- position = 'top',
74
- text,
75
- visible: initialVisible = false,
76
- } ) => {
77
- const referenceElementRef = useRef( null );
78
- const animationValue = useRef( new Animated.Value( 0 ) ).current;
79
- const [ , horizontalPosition = 'center' ] = position.split( ' ' );
80
- const [ visible, setVisible ] = useState( initialVisible );
81
- const [ animating, setAnimating ] = useState( false );
82
- const hidden = ! visible && ! animating;
83
- const previousVisible = usePrevious( visible );
84
- const [ referenceLayout, setReferenceLayout ] = useState( {
85
- height: 0,
86
- width: 0,
87
- x: 0,
88
- y: 0,
89
- } );
90
- const [ tooltipLayout, setTooltipLayout ] = useState( {
91
- height: 0,
92
- width: 0,
93
- } );
94
- const { onHandleScreenTouch } = useContext( TooltipContext );
95
- const keyboardVisible = useKeyboardVisibility();
96
-
97
- // Register callback to dismiss the tooltip whenever the screen is touched.
98
- useEffect( () => {
99
- if ( visible ) {
100
- onHandleScreenTouch( () => {
101
- setAnimating( true );
102
- setVisible( false );
103
- } );
104
- }
105
- return () => onHandleScreenTouch( null );
106
- // See https://github.com/WordPress/gutenberg/pull/41166
107
- }, [ visible ] );
108
-
109
- // Manage visibility animation.
110
- useEffect( () => {
111
- if (
112
- // Initial render and visibility enabled, animate show.
113
- ( typeof previousVisible === 'undefined' && visible ) ||
114
- // Previously visible, animate hide
115
- ( previousVisible && previousVisible !== visible )
116
- ) {
117
- setAnimating( true );
118
- startAnimation();
119
- }
120
- // See https://github.com/WordPress/gutenberg/pull/41166
121
- }, [ visible ] );
122
-
123
- // Manage tooltip visibility and position in relation to keyboard.
124
- useEffect( () => {
125
- if ( ! visible ) {
126
- return;
127
- }
128
-
129
- // Update tooltip position if keyboard is visible.
130
- if ( keyboardVisible ) {
131
- getReferenceElementPosition();
132
- }
133
-
134
- // Hide tooltip if keyboard hides
135
- if ( typeof previousVisible !== 'undefined' && ! keyboardVisible ) {
136
- setAnimating( true );
137
- setVisible( false );
138
- }
139
- // See https://github.com/WordPress/gutenberg/pull/41166
140
- }, [ visible, keyboardVisible ] );
141
-
142
- // Manage tooltip position during keyboard frame changes.
143
- useEffect( () => {
144
- const frameListener = Keyboard.addListener(
145
- 'keyboardWillChangeFrame',
146
- () => {
147
- if ( visible ) {
148
- getReferenceElementPosition();
149
- }
150
- }
151
- );
152
-
153
- return () => {
154
- frameListener.remove();
155
- };
156
- }, [ visible ] );
157
-
158
- const startAnimation = () => {
159
- Animated.timing( animationValue, {
160
- toValue: visible ? 1 : 0,
161
- duration: visible ? 300 : 150,
162
- useNativeDriver: true,
163
- delay: visible ? 500 : 0,
164
- easing: Easing.out( Easing.quad ),
165
- } ).start( () => {
166
- setAnimating( false );
167
- } );
168
- };
169
-
170
- const tooltipStyles = [
171
- styles.tooltip,
172
- {
173
- left:
174
- referenceLayout.x +
175
- Math.floor( referenceLayout.width / 2 ) -
176
- ( horizontalPosition === 'right'
177
- ? RIGHT_ALIGN_ARROW_OFFSET
178
- : Math.floor( tooltipLayout.width / 2 ) ),
179
- top:
180
- referenceLayout.y -
181
- tooltipLayout.height -
182
- TOOLTIP_VERTICAL_OFFSET,
183
- },
184
- ];
185
- const tooltipBoxStyles = [
186
- styles.tooltip__box,
187
- horizontalPosition === 'right' && styles[ 'tooltip--rightAlign' ],
188
- {
189
- elevation: 2,
190
- opacity: animationValue,
191
- shadowColor: styles.tooltip__shadow?.color,
192
- shadowOffset: { height: 2, width: 0 },
193
- shadowOpacity: 0.25,
194
- shadowRadius: 2,
195
- transform: [
196
- {
197
- translateY: animationValue.interpolate( {
198
- inputRange: [ 0, 1 ],
199
- outputRange: [ visible ? 4 : -8, -8 ],
200
- } ),
201
- },
202
- ],
203
- },
204
- ];
205
- const arrowStyles = [
206
- styles.tooltip__arrow,
207
- horizontalPosition === 'right' &&
208
- styles[ 'tooltip__arrow--rightAlign' ],
209
- ];
210
-
211
- const getReferenceElementPosition = () => {
212
- // rAF allows render to complete before calculating layout
213
- // eslint-disable-next-line no-undef
214
- requestAnimationFrame( () => {
215
- if ( ! referenceElementRef.current ) {
216
- return;
217
- }
218
- referenceElementRef.current.measure(
219
- ( _x, _y, width, height, pageX, pageY ) => {
220
- setReferenceLayout( {
221
- height,
222
- width,
223
- x: pageX,
224
- y: pageY,
225
- } );
226
- }
227
- );
228
- } );
229
- };
230
- const getTooltipLayout = ( { nativeEvent } ) => {
231
- const { height, width } = nativeEvent.layout;
232
- setTooltipLayout( { height, width } );
233
- };
234
-
235
- if ( hidden ) {
236
- return children;
237
- }
238
-
239
- return (
240
- <>
241
- { cloneElement( children, {
242
- ref: referenceElementRef,
243
- onLayout: getReferenceElementPosition,
244
- } ) }
245
- <Fill>
246
- <View onLayout={ getTooltipLayout } style={ tooltipStyles }>
247
- <Animated.View style={ tooltipBoxStyles }>
248
- <Text style={ styles.tooltip__text }>{ text }</Text>
249
- <View style={ arrowStyles } />
250
- </Animated.View>
251
- </View>
252
- </Fill>
253
- </>
254
- );
255
- };
256
-
257
- const TooltipSlot = ( { children, ...rest } ) => {
258
- const [ handleScreenTouch, setHandleScreenTouch ] = useState( null );
259
- const onHandleScreenTouch = ( callback ) => {
260
- // Must use function to set state below as `callback` is a function itself.
261
- setHandleScreenTouch( () => callback );
262
- };
263
- const handleTouchStart = () => {
264
- handleScreenTouch();
265
- setHandleScreenTouch( null );
266
- };
267
- // Memoize context value to avoid unnecessary rerenders of the Provider's children
268
- // See https://github.com/WordPress/gutenberg/pull/41166
269
- const value = useMemo( () => ( { onHandleScreenTouch } ) );
270
-
271
- return (
272
- <TooltipContext.Provider value={ value }>
273
- <View
274
- onTouchStart={
275
- typeof handleScreenTouch === 'function'
276
- ? handleTouchStart
277
- : undefined
278
- }
279
- pointerEvents="box-none"
280
- style={ StyleSheet.absoluteFill }
281
- testID="tooltip-overlay"
282
- >
283
- { children }
284
- <Slot { ...rest } />
285
- </View>
286
- </TooltipContext.Provider>
287
- );
288
- };
289
-
290
- Tooltip.Slot = TooltipSlot;
291
-
292
- export default Tooltip;
@@ -1,39 +0,0 @@
1
- $tooltipColor: #2c2c2d;
2
- $tooltipArrowSize: 8px;
3
- $tooltipArrowOffset: -($tooltipArrowSize - 1);
4
-
5
- .tooltip {
6
- position: absolute;
7
- }
8
-
9
- .tooltip__box {
10
- background-color: $tooltipColor;
11
- border-radius: 4px;
12
- }
13
-
14
- .tooltip__shadow {
15
- color: $black;
16
- }
17
-
18
- .tooltip__text {
19
- color: $white;
20
- font-size: 14px;
21
- padding: 16px 14px;
22
- }
23
-
24
- .tooltip__arrow {
25
- border-color: $tooltipColor transparent transparent transparent;
26
- border-style: solid;
27
- border-width: $tooltipArrowSize $tooltipArrowSize 0 $tooltipArrowSize;
28
- bottom: $tooltipArrowOffset;
29
- height: 0;
30
- left: 50%;
31
- margin-left: -$tooltipArrowSize;
32
- position: absolute;
33
- top: 100%;
34
- width: 0;
35
- }
36
-
37
- .tooltip__arrow--rightAlign {
38
- left: 16px;
39
- }
@@ -1,98 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { fireEvent, render, act } from 'test/helpers';
5
- import { Keyboard, Text } from 'react-native';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import Tooltip from '../index';
11
- import { Provider as SlotFillProvider } from '../../slot-fill';
12
-
13
- // Minimal tree to render tooltip.
14
- const TooltipSlot = ( { children } ) => (
15
- <SlotFillProvider>
16
- <Tooltip.Slot>{ children }</Tooltip.Slot>
17
- </SlotFillProvider>
18
- );
19
-
20
- let keyboardAddListenerSpy;
21
- const keyboardHandlers = [];
22
-
23
- beforeAll( () => {
24
- keyboardAddListenerSpy = jest
25
- .spyOn( Keyboard, 'addListener' )
26
- .mockImplementation( ( event, handler ) => {
27
- const length = keyboardHandlers.push( [ event, handler ] );
28
- return {
29
- remove: () => {
30
- keyboardHandlers.splice( length - 1 );
31
- },
32
- };
33
- } );
34
- } );
35
-
36
- afterAll( () => {
37
- keyboardAddListenerSpy.mockRestore();
38
- } );
39
-
40
- it( 'displays the message', () => {
41
- const screen = render(
42
- <TooltipSlot>
43
- <Tooltip visible text="A helpful message">
44
- <Text>I need help</Text>
45
- </Tooltip>
46
- </TooltipSlot>
47
- );
48
-
49
- expect( screen.getByText( 'A helpful message' ) ).toBeTruthy();
50
- } );
51
-
52
- it( 'dismisses when the screen is tapped', () => {
53
- const screen = render(
54
- <TooltipSlot>
55
- <Tooltip visible text="A helpful message">
56
- <Text>I need help</Text>
57
- </Tooltip>
58
- </TooltipSlot>
59
- );
60
-
61
- expect( screen.getByText( 'A helpful message' ) ).toBeTruthy();
62
-
63
- fireEvent( screen.getByTestId( 'tooltip-overlay' ), 'touchStart' );
64
-
65
- expect( screen.queryByText( 'A helpful message' ) ).toBeNull();
66
- } );
67
-
68
- it( 'dismisses when the keyboard closes', () => {
69
- const screen = render(
70
- <TooltipSlot>
71
- <Tooltip visible text="A helpful message">
72
- <Text>I need help</Text>
73
- </Tooltip>
74
- </TooltipSlot>
75
- );
76
-
77
- // Show keyboard.
78
- act( () => {
79
- keyboardHandlers.forEach( ( [ event, handler ] ) => {
80
- if ( event === 'keyboardDidShow' ) {
81
- handler();
82
- }
83
- } );
84
- } );
85
-
86
- expect( screen.getByText( 'A helpful message' ) ).toBeTruthy();
87
-
88
- // Hide keyboard
89
- act( () => {
90
- keyboardHandlers.forEach( ( [ event, handler ] ) => {
91
- if ( event === 'keyboardDidHide' ) {
92
- handler();
93
- }
94
- } );
95
- } );
96
-
97
- expect( screen.queryByText( 'A helpful message' ) ).toBeNull();
98
- } );
@@ -1,202 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- Text,
6
- View,
7
- TouchableWithoutFeedback,
8
- Platform,
9
- findNodeHandle,
10
- } from 'react-native';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import RangeCell from '../mobile/bottom-sheet/range-cell';
16
- import StepperCell from '../mobile/bottom-sheet/stepper-cell';
17
- import Picker from '../mobile/picker';
18
- import styles from './style.scss';
19
- import { CSS_UNITS, hasUnits, getAccessibleLabelForUnit } from './utils';
20
-
21
- /**
22
- * WordPress dependencies
23
- */
24
- import { useRef, useCallback, useMemo, memo } from '@wordpress/element';
25
- import { withPreferredColorScheme } from '@wordpress/compose';
26
- import { __, sprintf } from '@wordpress/i18n';
27
-
28
- function UnitControl( {
29
- currentInput,
30
- label,
31
- value,
32
- onChange,
33
- onUnitChange,
34
- initialPosition,
35
- min,
36
- max,
37
- separatorType,
38
- units = CSS_UNITS,
39
- unit,
40
- getStylesFromColorScheme,
41
- ...props
42
- } ) {
43
- const pickerRef = useRef();
44
- const anchorNodeRef = useRef();
45
-
46
- const onPickerPresent = useCallback( () => {
47
- if ( pickerRef?.current ) {
48
- pickerRef.current.presentPicker();
49
- }
50
- // It would be great if the deps could be addressed in the context of
51
- // https://github.com/WordPress/gutenberg/pull/39218
52
- }, [ pickerRef?.current ] );
53
-
54
- const currentInputValue = currentInput === null ? value : currentInput;
55
- const initialControlValue = isFinite( currentInputValue )
56
- ? currentInputValue
57
- : initialPosition;
58
-
59
- const unitButtonTextStyle = getStylesFromColorScheme(
60
- styles.unitButtonText,
61
- styles.unitButtonTextDark
62
- );
63
-
64
- /* translators: accessibility text. Inform about current unit value. %s: Current unit value. */
65
- const accessibilityLabel = sprintf( __( 'Current unit is %s' ), unit );
66
-
67
- const accessibilityHint =
68
- Platform.OS === 'ios'
69
- ? __( 'Double tap to open Action Sheet with available options' )
70
- : __( 'Double tap to open Bottom Sheet with available options' );
71
-
72
- const renderUnitButton = useMemo( () => {
73
- const unitButton = (
74
- <View style={ styles.unitButton }>
75
- <Text style={ unitButtonTextStyle }>{ unit }</Text>
76
- </View>
77
- );
78
-
79
- if ( hasUnits( units ) && units?.length > 1 ) {
80
- return (
81
- <TouchableWithoutFeedback
82
- onPress={ onPickerPresent }
83
- accessibilityLabel={ accessibilityLabel }
84
- accessibilityRole="button"
85
- accessibilityHint={ accessibilityHint }
86
- >
87
- { unitButton }
88
- </TouchableWithoutFeedback>
89
- );
90
- }
91
-
92
- return unitButton;
93
- }, [
94
- onPickerPresent,
95
- accessibilityLabel,
96
- accessibilityHint,
97
- unitButtonTextStyle,
98
- unit,
99
- units,
100
- ] );
101
-
102
- const getAnchor = useCallback(
103
- () =>
104
- anchorNodeRef?.current
105
- ? findNodeHandle( anchorNodeRef?.current )
106
- : undefined,
107
- // It would be great if the deps could be addressed in the context of
108
- // https://github.com/WordPress/gutenberg/pull/39218
109
- [ anchorNodeRef?.current ]
110
- );
111
-
112
- const getDecimal = ( step ) => {
113
- // Return the decimal offset based on the step size.
114
- // if step size is 0.1 we expect the offset to be 1.
115
- // for example 12 + 0.1 we would expect the see 12.1 (not 12.10 or 12 );
116
- // steps are defined in the CSS_UNITS and they vary from unit to unit.
117
- const stepToString = step;
118
- const splitStep = stepToString.toString().split( '.' );
119
- return splitStep[ 1 ] ? splitStep[ 1 ].length : 0;
120
- };
121
-
122
- const renderUnitPicker = useCallback( () => {
123
- // Keeping for legacy reasons, although `false` should not be a valid
124
- // value for the `units` prop anymore.
125
- if ( units === false ) {
126
- return null;
127
- }
128
- return (
129
- <View style={ styles.unitMenu } ref={ anchorNodeRef }>
130
- { renderUnitButton }
131
- { hasUnits( units ) && units?.length > 1 ? (
132
- <Picker
133
- ref={ pickerRef }
134
- options={ units }
135
- onChange={ onUnitChange }
136
- hideCancelButton
137
- leftAlign
138
- getAnchor={ getAnchor }
139
- />
140
- ) : null }
141
- </View>
142
- );
143
- }, [ pickerRef, units, onUnitChange, getAnchor, renderUnitButton ] );
144
-
145
- let step = props.step;
146
-
147
- /*
148
- * If no step prop has been passed, lookup the active unit and
149
- * try to get step from `units`, or default to a value of `1`
150
- */
151
- if ( ! step && units ) {
152
- const activeUnit = units.find( ( option ) => option.value === unit );
153
- step = activeUnit?.step ?? 1;
154
- }
155
-
156
- const decimalNum = getDecimal( step );
157
-
158
- return (
159
- <>
160
- { unit !== '%' ? (
161
- <StepperCell
162
- label={ label }
163
- max={ max }
164
- min={ min }
165
- onChange={ onChange }
166
- separatorType={ separatorType }
167
- value={ value }
168
- step={ step }
169
- defaultValue={ initialControlValue }
170
- shouldDisplayTextInput
171
- decimalNum={ decimalNum }
172
- openUnitPicker={ onPickerPresent }
173
- unitLabel={ getAccessibleLabelForUnit( unit ) }
174
- { ...props }
175
- >
176
- { renderUnitPicker() }
177
- </StepperCell>
178
- ) : (
179
- <RangeCell
180
- label={ label }
181
- onChange={ onChange }
182
- minimumValue={ min }
183
- maximumValue={ max }
184
- value={ value }
185
- step={ step }
186
- unit={ unit }
187
- defaultValue={ initialControlValue }
188
- separatorType={ separatorType }
189
- decimalNum={ decimalNum }
190
- openUnitPicker={ onPickerPresent }
191
- unitLabel={ getAccessibleLabelForUnit( unit ) }
192
- { ...props }
193
- >
194
- { renderUnitPicker() }
195
- </RangeCell>
196
- ) }
197
- </>
198
- );
199
- }
200
-
201
- export { useCustomUnits } from './utils';
202
- export default memo( withPreferredColorScheme( UnitControl ) );
@@ -1,19 +0,0 @@
1
- .unitButtonText {
2
- color: $blue-wordpress;
3
- }
4
-
5
- .unitButtonTextDark {
6
- color: $blue-30;
7
- }
8
-
9
- .unitButton {
10
- padding-right: $grid-unit;
11
- padding-left: $grid-unit;
12
- align-items: flex-end;
13
- justify-content: flex-end;
14
- }
15
-
16
- .unitMenu {
17
- justify-content: center;
18
- align-items: center;
19
- }