@wordpress/components 35.0.0 → 35.1.1-next.v.202606191442.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/CHANGELOG.md +47 -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/angle-picker-control/angle-circle.cjs +1 -1
  7. package/build/angle-picker-control/angle-circle.cjs.map +2 -2
  8. package/build/angle-picker-control/index.cjs +2 -2
  9. package/build/autocomplete/get-autocomplete-match.cjs.map +1 -1
  10. package/build/autocomplete/index.cjs.map +1 -1
  11. package/build/base-control/styles/base-control-styles.cjs +6 -6
  12. package/build/base-control/styles/base-control-styles.cjs.map +2 -2
  13. package/build/border-control/styles.cjs +17 -14
  14. package/build/border-control/styles.cjs.map +2 -2
  15. package/build/button/index.cjs +3 -7
  16. package/build/button/index.cjs.map +2 -2
  17. package/build/card/card-divider/hook.cjs.map +2 -2
  18. package/build/color-palette/index.cjs +3 -0
  19. package/build/color-palette/index.cjs.map +2 -2
  20. package/build/color-picker/component.cjs.map +1 -1
  21. package/build/custom-gradient-picker/gradient-bar/index.cjs.map +2 -2
  22. package/build/date-time/utils.cjs.map +1 -1
  23. package/build/draggable/index.cjs +1 -1
  24. package/build/draggable/index.cjs.map +2 -2
  25. package/build/external-link/index.cjs +1 -1
  26. package/build/external-link/index.cjs.map +1 -1
  27. package/build/menu/popover.cjs.map +1 -1
  28. package/build/menu/styles.cjs +17 -17
  29. package/build/menu/styles.cjs.map +2 -2
  30. package/build/modal/index.cjs.map +1 -1
  31. package/build/modal/use-modal-exit-animation.cjs +37 -52
  32. package/build/modal/use-modal-exit-animation.cjs.map +2 -2
  33. package/build/navigable-container/container.cjs +15 -21
  34. package/build/navigable-container/container.cjs.map +2 -2
  35. package/build/palette-edit/index.cjs +1 -1
  36. package/build/progress-bar/index.cjs +1 -1
  37. package/build/progress-bar/index.cjs.map +2 -2
  38. package/build/query-controls/index.cjs +2 -2
  39. package/build/query-controls/index.cjs.map +2 -2
  40. package/build/range-control/index.cjs.map +1 -1
  41. package/build/sandbox/index.cjs +7 -1
  42. package/build/sandbox/index.cjs.map +2 -2
  43. package/build/snackbar/index.cjs +1 -1
  44. package/build/spinner/styles.cjs +4 -4
  45. package/build/spinner/styles.cjs.map +2 -2
  46. package/build/tabs/index.cjs +0 -18
  47. package/build/tabs/index.cjs.map +2 -2
  48. package/build/tabs/tablist.cjs +5 -15
  49. package/build/tabs/tablist.cjs.map +2 -2
  50. package/build/tools-panel/styles.cjs +13 -13
  51. package/build/tools-panel/styles.cjs.map +2 -2
  52. package/build/tools-panel/tools-panel/hook.cjs.map +1 -1
  53. package/build/tree-select/index.cjs +1 -1
  54. package/build/tree-select/index.cjs.map +1 -1
  55. package/build/truncate/utils.cjs +1 -1
  56. package/build/truncate/utils.cjs.map +1 -1
  57. package/build/unit-control/utils.cjs +33 -35
  58. package/build/unit-control/utils.cjs.map +2 -2
  59. package/build/utils/colors-values.cjs +12 -12
  60. package/build/utils/colors-values.cjs.map +2 -2
  61. package/build/utils/config-values.cjs +2 -2
  62. package/build/utils/config-values.cjs.map +2 -2
  63. package/build/utils/dropdown-motion.cjs.map +2 -2
  64. package/build/utils/strings.cjs.map +1 -1
  65. package/build-module/alignment-matrix-control/cell.mjs +1 -1
  66. package/build-module/alignment-matrix-control/cell.mjs.map +2 -2
  67. package/build-module/alignment-matrix-control/index.mjs +1 -1
  68. package/build-module/alignment-matrix-control/index.mjs.map +2 -2
  69. package/build-module/angle-picker-control/angle-circle.mjs +1 -1
  70. package/build-module/angle-picker-control/angle-circle.mjs.map +2 -2
  71. package/build-module/angle-picker-control/index.mjs +2 -2
  72. package/build-module/autocomplete/get-autocomplete-match.mjs.map +1 -1
  73. package/build-module/autocomplete/index.mjs.map +1 -1
  74. package/build-module/base-control/styles/base-control-styles.mjs +6 -6
  75. package/build-module/base-control/styles/base-control-styles.mjs.map +2 -2
  76. package/build-module/border-control/styles.mjs +17 -14
  77. package/build-module/border-control/styles.mjs.map +2 -2
  78. package/build-module/button/index.mjs +2 -5
  79. package/build-module/button/index.mjs.map +2 -2
  80. package/build-module/card/card-divider/hook.mjs.map +2 -2
  81. package/build-module/color-palette/index.mjs +3 -0
  82. package/build-module/color-palette/index.mjs.map +2 -2
  83. package/build-module/color-picker/component.mjs.map +1 -1
  84. package/build-module/custom-gradient-picker/gradient-bar/index.mjs.map +2 -2
  85. package/build-module/date-time/utils.mjs.map +1 -1
  86. package/build-module/draggable/index.mjs +1 -1
  87. package/build-module/draggable/index.mjs.map +2 -2
  88. package/build-module/external-link/index.mjs +1 -1
  89. package/build-module/external-link/index.mjs.map +1 -1
  90. package/build-module/menu/popover.mjs.map +1 -1
  91. package/build-module/menu/styles.mjs +17 -17
  92. package/build-module/menu/styles.mjs.map +2 -2
  93. package/build-module/modal/index.mjs.map +1 -1
  94. package/build-module/modal/use-modal-exit-animation.mjs +37 -52
  95. package/build-module/modal/use-modal-exit-animation.mjs.map +2 -2
  96. package/build-module/navigable-container/container.mjs +16 -22
  97. package/build-module/navigable-container/container.mjs.map +2 -2
  98. package/build-module/palette-edit/index.mjs +1 -1
  99. package/build-module/progress-bar/index.mjs +1 -1
  100. package/build-module/progress-bar/index.mjs.map +2 -2
  101. package/build-module/query-controls/index.mjs +2 -2
  102. package/build-module/query-controls/index.mjs.map +2 -2
  103. package/build-module/range-control/index.mjs.map +1 -1
  104. package/build-module/sandbox/index.mjs +3 -1
  105. package/build-module/sandbox/index.mjs.map +2 -2
  106. package/build-module/snackbar/index.mjs +1 -1
  107. package/build-module/spinner/styles.mjs +4 -4
  108. package/build-module/spinner/styles.mjs.map +2 -2
  109. package/build-module/tabs/index.mjs +1 -19
  110. package/build-module/tabs/index.mjs.map +2 -2
  111. package/build-module/tabs/tablist.mjs +5 -15
  112. package/build-module/tabs/tablist.mjs.map +2 -2
  113. package/build-module/tools-panel/styles.mjs +13 -13
  114. package/build-module/tools-panel/styles.mjs.map +2 -2
  115. package/build-module/tools-panel/tools-panel/hook.mjs.map +1 -1
  116. package/build-module/tree-select/index.mjs +1 -1
  117. package/build-module/tree-select/index.mjs.map +1 -1
  118. package/build-module/truncate/utils.mjs +1 -1
  119. package/build-module/truncate/utils.mjs.map +1 -1
  120. package/build-module/unit-control/utils.mjs +33 -35
  121. package/build-module/unit-control/utils.mjs.map +2 -2
  122. package/build-module/utils/colors-values.mjs +12 -12
  123. package/build-module/utils/colors-values.mjs.map +2 -2
  124. package/build-module/utils/config-values.mjs +2 -2
  125. package/build-module/utils/config-values.mjs.map +2 -2
  126. package/build-module/utils/dropdown-motion.mjs.map +2 -2
  127. package/build-module/utils/strings.mjs.map +1 -1
  128. package/build-style/style-rtl.css +122 -91
  129. package/build-style/style.css +122 -91
  130. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  131. package/build-types/border-control/styles.d.ts.map +1 -1
  132. package/build-types/button/index.d.ts +0 -2
  133. package/build-types/button/index.d.ts.map +1 -1
  134. package/build-types/card/card-divider/hook.d.ts +1 -274
  135. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  136. package/build-types/color-palette/index.d.ts.map +1 -1
  137. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  138. package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
  139. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
  140. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  141. package/build-types/menu/styles.d.ts.map +1 -1
  142. package/build-types/menu/types.d.ts +2 -2
  143. package/build-types/navigable-container/container.d.ts.map +1 -1
  144. package/build-types/sandbox/index.d.ts +15 -0
  145. package/build-types/sandbox/index.d.ts.map +1 -1
  146. package/build-types/spinner/styles.d.ts.map +1 -1
  147. package/build-types/tabs/index.d.ts.map +1 -1
  148. package/build-types/tabs/tablist.d.ts.map +1 -1
  149. package/build-types/tools-panel/styles.d.ts.map +1 -1
  150. package/build-types/unit-control/utils.d.ts.map +1 -1
  151. package/build-types/utils/colors-values.d.ts.map +1 -1
  152. package/build-types/utils/dropdown-motion.d.ts.map +1 -1
  153. package/build-types/validated-form-controls/components/combobox-control.d.ts +1 -1
  154. package/package.json +44 -36
  155. package/src/angle-picker-control/angle-circle.tsx +3 -3
  156. package/src/base-control/README.md +2 -2
  157. package/src/base-control/styles/base-control-styles.ts +1 -0
  158. package/src/border-control/styles.ts +1 -0
  159. package/src/button/index.tsx +2 -4
  160. package/src/button/style.scss +3 -3
  161. package/src/card/card/README.md +4 -4
  162. package/src/card/card-divider/hook.ts +5 -1
  163. package/src/card/test/__snapshots__/index.tsx.snap +3 -3
  164. package/src/checkbox-control/README.md +1 -1
  165. package/src/clipboard-button/README.md +4 -4
  166. package/src/color-palette/index.tsx +5 -0
  167. package/src/color-palette/test/index.tsx +30 -0
  168. package/src/combobox-control/README.md +1 -1
  169. package/src/composite/stories/index.story.tsx +5 -0
  170. package/src/confirm-dialog/README.md +1 -1
  171. package/src/confirm-dialog/stories/index.story.tsx +1 -0
  172. package/src/custom-gradient-picker/gradient-bar/index.tsx +1 -1
  173. package/src/dropdown/stories/index.story.tsx +5 -0
  174. package/src/dropdown-menu/style.scss +1 -1
  175. package/src/external-link/style.scss +4 -4
  176. package/src/flex/flex/README.md +1 -1
  177. package/src/form-toggle/style.scss +1 -1
  178. package/src/heading/test/__snapshots__/index.tsx.snap +4 -4
  179. package/src/menu/README.md +2 -2
  180. package/src/menu/styles.ts +2 -0
  181. package/src/menu/test/index.tsx +120 -87
  182. package/src/menu/types.ts +2 -2
  183. package/src/modal/style.scss +1 -1
  184. package/src/modal/use-modal-exit-animation.ts +2 -2
  185. package/src/navigable-container/container.tsx +22 -30
  186. package/src/notice/style.scss +11 -13
  187. package/src/panel/README.md +2 -0
  188. package/src/panel/stories/index.story.tsx +2 -2
  189. package/src/panel/style.scss +1 -1
  190. package/src/popover/README.md +1 -1
  191. package/src/radio-control/style.scss +1 -1
  192. package/src/sandbox/index.tsx +18 -1
  193. package/src/sandbox/test/index.tsx +44 -1
  194. package/src/scrollable/README.md +1 -1
  195. package/src/spinner/styles.ts +1 -0
  196. package/src/tab-panel/style.scss +6 -6
  197. package/src/tabs/index.tsx +1 -26
  198. package/src/tabs/tablist.tsx +5 -21
  199. package/src/tabs/test/index.tsx +16 -27
  200. package/src/text/test/__snapshots__/index.tsx.snap +3 -3
  201. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +34 -26
  202. package/src/toolbar/toolbar-group/style.scss +2 -2
  203. package/src/tools-panel/styles.ts +1 -1
  204. package/src/tooltip/stories/index.story.tsx +2 -2
  205. package/src/tooltip/style.scss +1 -1
  206. package/src/unit-control/utils.ts +33 -52
  207. package/src/utils/colors-values.js +36 -16
  208. package/src/utils/config-values.js +2 -2
  209. package/src/utils/dropdown-motion.ts +6 -4
  210. package/src/utils/theme-variables.scss +18 -13
  211. package/build/mobile/image/constants.cjs +0 -34
  212. package/build/mobile/image/constants.cjs.map +0 -7
  213. package/build-module/mobile/image/constants.mjs +0 -9
  214. package/build-module/mobile/image/constants.mjs.map +0 -7
  215. package/build-types/mobile/image/constants.d.ts +0 -5
  216. package/build-types/mobile/image/constants.d.ts.map +0 -1
  217. package/src/autocomplete/autocompleter-ui.native.js +0 -211
  218. package/src/autocomplete/background-view.android.js +0 -25
  219. package/src/autocomplete/background-view.ios.js +0 -23
  220. package/src/autocomplete/style.android.scss +0 -7
  221. package/src/autocomplete/style.native.scss +0 -74
  222. package/src/base-control/index.native.js +0 -14
  223. package/src/button/index.native.js +0 -236
  224. package/src/button/style.native.scss +0 -9
  225. package/src/color-control/index.native.js +0 -24
  226. package/src/color-indicator/index.native.js +0 -80
  227. package/src/color-indicator/style.native.scss +0 -51
  228. package/src/color-palette/index.native.js +0 -360
  229. package/src/color-palette/style.native.scss +0 -49
  230. package/src/color-picker/hsv-color-picker.native.js +0 -88
  231. package/src/color-picker/hue-picker.native.js +0 -198
  232. package/src/color-picker/index.native.js +0 -215
  233. package/src/color-picker/saturation-picker.native.js +0 -167
  234. package/src/color-picker/style.native.scss +0 -87
  235. package/src/custom-gradient-picker/index.native.js +0 -110
  236. package/src/custom-gradient-picker/style.native.scss +0 -3
  237. package/src/dashicon/index.native.js +0 -18
  238. package/src/disabled/index.native.js +0 -10
  239. package/src/draggable/index.native.js +0 -234
  240. package/src/draggable/style.native.scss +0 -3
  241. package/src/draggable/test/index.native.js +0 -138
  242. package/src/dropdown/index.native.js +0 -59
  243. package/src/dropdown-menu/index.native.js +0 -152
  244. package/src/external-link/index.native.js +0 -25
  245. package/src/focal-point-picker/focal-point.native.js +0 -30
  246. package/src/focal-point-picker/index.native.js +0 -281
  247. package/src/focal-point-picker/tooltip/index.native.js +0 -144
  248. package/src/focal-point-picker/tooltip/style.native.scss +0 -42
  249. package/src/font-size-picker/index.native.js +0 -190
  250. package/src/font-size-picker/style.native.scss +0 -6
  251. package/src/footer-message-control/index.native.js +0 -14
  252. package/src/higher-order/with-focus-outside/index.native.js +0 -38
  253. package/src/index.native.js +0 -134
  254. package/src/keyboard-shortcuts/index.native.js +0 -2
  255. package/src/mobile/README.md +0 -3
  256. package/src/mobile/autocompletion-items.native.js +0 -11
  257. package/src/mobile/badge/README.md +0 -31
  258. package/src/mobile/badge/index.native.js +0 -27
  259. package/src/mobile/badge/style.scss +0 -18
  260. package/src/mobile/bottom-sheet/borderStyles.android.scss +0 -8
  261. package/src/mobile/bottom-sheet/borderStyles.ios.scss +0 -9
  262. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +0 -40
  263. package/src/mobile/bottom-sheet/bottom-sheet-navigation/README.md +0 -101
  264. package/src/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +0 -16
  265. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -193
  266. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +0 -146
  267. package/src/mobile/bottom-sheet/bottom-sheet-navigation/styles.native.scss +0 -11
  268. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +0 -197
  269. package/src/mobile/bottom-sheet/button.native.js +0 -19
  270. package/src/mobile/bottom-sheet/cell.native.js +0 -464
  271. package/src/mobile/bottom-sheet/cellStyles.android.scss +0 -15
  272. package/src/mobile/bottom-sheet/cellStyles.ios.scss +0 -19
  273. package/src/mobile/bottom-sheet/chevron-back.native.js +0 -18
  274. package/src/mobile/bottom-sheet/color-cell.native.js +0 -35
  275. package/src/mobile/bottom-sheet/cycle-picker-cell.native.js +0 -31
  276. package/src/mobile/bottom-sheet/footer-message-cell.native.js +0 -23
  277. package/src/mobile/bottom-sheet/footer-message-link/README.md +0 -37
  278. package/src/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +0 -26
  279. package/src/mobile/bottom-sheet/footer-message-link/styles.native.scss +0 -7
  280. package/src/mobile/bottom-sheet/index.native.js +0 -646
  281. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -125
  282. package/src/mobile/bottom-sheet/link-cell.native.js +0 -35
  283. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +0 -92
  284. package/src/mobile/bottom-sheet/link-suggestion-styles.native.scss +0 -27
  285. package/src/mobile/bottom-sheet/lock-icon/index.native.js +0 -19
  286. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +0 -8
  287. package/src/mobile/bottom-sheet/nav-bar/README.md +0 -63
  288. package/src/mobile/bottom-sheet/nav-bar/action-button.native.js +0 -30
  289. package/src/mobile/bottom-sheet/nav-bar/apply-button.native.js +0 -53
  290. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +0 -94
  291. package/src/mobile/bottom-sheet/nav-bar/heading.native.js +0 -33
  292. package/src/mobile/bottom-sheet/nav-bar/index.native.js +0 -23
  293. package/src/mobile/bottom-sheet/nav-bar/styles.native.scss +0 -69
  294. package/src/mobile/bottom-sheet/picker-cell.native.js +0 -40
  295. package/src/mobile/bottom-sheet/radio-cell.native.js +0 -39
  296. package/src/mobile/bottom-sheet/range-cell.native.js +0 -274
  297. package/src/mobile/bottom-sheet/range-cell.native.scss +0 -40
  298. package/src/mobile/bottom-sheet/range-text-input.native.js +0 -248
  299. package/src/mobile/bottom-sheet/ripple.native.js +0 -83
  300. package/src/mobile/bottom-sheet/ripple.native.scss +0 -11
  301. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +0 -264
  302. package/src/mobile/bottom-sheet/stepper-cell/stepper.android.js +0 -78
  303. package/src/mobile/bottom-sheet/stepper-cell/stepper.ios.js +0 -64
  304. package/src/mobile/bottom-sheet/stepper-cell/style.native.scss +0 -89
  305. package/src/mobile/bottom-sheet/styles.native.scss +0 -333
  306. package/src/mobile/bottom-sheet/sub-sheet/README.md +0 -90
  307. package/src/mobile/bottom-sheet/sub-sheet/index.native.js +0 -49
  308. package/src/mobile/bottom-sheet/switch-cell.native.js +0 -75
  309. package/src/mobile/bottom-sheet/test/index.native.js +0 -24
  310. package/src/mobile/bottom-sheet/test/range-cell.native.js +0 -73
  311. package/src/mobile/bottom-sheet-select-control/README.md +0 -97
  312. package/src/mobile/bottom-sheet-select-control/index.native.js +0 -124
  313. package/src/mobile/bottom-sheet-select-control/style.native.scss +0 -3
  314. package/src/mobile/bottom-sheet-text-control/README.md +0 -98
  315. package/src/mobile/bottom-sheet-text-control/index.native.js +0 -104
  316. package/src/mobile/bottom-sheet-text-control/styles.scss +0 -25
  317. package/src/mobile/clipboard/index.native.js +0 -18
  318. package/src/mobile/color-settings/gradient-picker-screen.native.js +0 -37
  319. package/src/mobile/color-settings/index.native.js +0 -88
  320. package/src/mobile/color-settings/palette.screen.native.js +0 -232
  321. package/src/mobile/color-settings/picker-screen.native.js +0 -60
  322. package/src/mobile/color-settings/style.native.scss +0 -62
  323. package/src/mobile/color-settings/utils.native.js +0 -36
  324. package/src/mobile/cycle-select-control/README.md +0 -3
  325. package/src/mobile/cycle-select-control/index.native.js +0 -39
  326. package/src/mobile/dashicons/index.native.js +0 -22
  327. package/src/mobile/focal-point-settings-panel/index.native.js +0 -84
  328. package/src/mobile/focal-point-settings-panel/styles.native.scss +0 -3
  329. package/src/mobile/gradient/index.native.js +0 -188
  330. package/src/mobile/gradient/style.native.scss +0 -8
  331. package/src/mobile/gradient/test/index.native.js +0 -114
  332. package/src/mobile/gridicons/index.native.js +0 -39
  333. package/src/mobile/html-text-input/index.native.js +0 -169
  334. package/src/mobile/html-text-input/style.android.scss +0 -8
  335. package/src/mobile/html-text-input/style.ios.scss +0 -10
  336. package/src/mobile/html-text-input/style.scss +0 -45
  337. package/src/mobile/html-text-input/test/__snapshots__/index.native.js.snap +0 -48
  338. package/src/mobile/html-text-input/test/index.native.js +0 -118
  339. package/src/mobile/image/constants.js +0 -1
  340. package/src/mobile/image/icon-customize.native.js +0 -10
  341. package/src/mobile/image/icon-retry.native.js +0 -11
  342. package/src/mobile/image/image-editing-button.native.js +0 -63
  343. package/src/mobile/image/index.native.js +0 -401
  344. package/src/mobile/image/style.native.scss +0 -179
  345. package/src/mobile/image/utils/index.native.js +0 -58
  346. package/src/mobile/keyboard-avoiding-view/index.android.js +0 -8
  347. package/src/mobile/keyboard-avoiding-view/index.ios.js +0 -143
  348. package/src/mobile/keyboard-avoiding-view/styles.native.scss +0 -9
  349. package/src/mobile/keyboard-aware-flat-list/index.android.js +0 -81
  350. package/src/mobile/keyboard-aware-flat-list/index.ios.js +0 -147
  351. package/src/mobile/keyboard-aware-flat-list/shared.native.js +0 -26
  352. package/src/mobile/keyboard-aware-flat-list/styles.native.scss +0 -8
  353. package/src/mobile/keyboard-aware-flat-list/test/use-keyboard-offset.native.js +0 -203
  354. package/src/mobile/keyboard-aware-flat-list/test/use-scroll-to-section.native.js +0 -142
  355. package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +0 -71
  356. package/src/mobile/keyboard-aware-flat-list/test/use-text-input-caret-position.native.js +0 -82
  357. package/src/mobile/keyboard-aware-flat-list/test/use-text-input-offset.native.js +0 -147
  358. package/src/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +0 -87
  359. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +0 -41
  360. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js +0 -100
  361. package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +0 -100
  362. package/src/mobile/keyboard-aware-flat-list/use-text-input-caret-position.native.js +0 -36
  363. package/src/mobile/keyboard-aware-flat-list/use-text-input-offset.native.js +0 -54
  364. package/src/mobile/layout-animation/index.native.js +0 -16
  365. package/src/mobile/link-picker/index.native.js +0 -160
  366. package/src/mobile/link-picker/link-picker-results.native.js +0 -129
  367. package/src/mobile/link-picker/link-picker-screen.native.js +0 -60
  368. package/src/mobile/link-picker/styles.native.scss +0 -45
  369. package/src/mobile/link-picker/test/performance/index.native.js +0 -35
  370. package/src/mobile/link-settings/index.native.js +0 -332
  371. package/src/mobile/link-settings/link-rel.native.js +0 -10
  372. package/src/mobile/link-settings/link-settings-navigation.native.js +0 -50
  373. package/src/mobile/link-settings/link-settings-screen.native.js +0 -44
  374. package/src/mobile/link-settings/style.native.scss +0 -4
  375. package/src/mobile/link-settings/test/edit.native.js +0 -325
  376. package/src/mobile/link-settings/test/link-settings-navigation.native.js +0 -94
  377. package/src/mobile/media-edit/index.native.js +0 -125
  378. package/src/mobile/picker/index.android.js +0 -104
  379. package/src/mobile/picker/index.ios.js +0 -96
  380. package/src/mobile/picker/styles.native.scss +0 -29
  381. package/src/mobile/segmented-control/index.native.js +0 -186
  382. package/src/mobile/segmented-control/style.native.scss +0 -99
  383. package/src/mobile/utils/alignments.native.js +0 -78
  384. package/src/mobile/utils/get-px-from-css-unit.native.js +0 -329
  385. package/src/mobile/utils/index.native.js +0 -12
  386. package/src/mobile/utils/test/get-px-from-css-unit.native.js +0 -172
  387. package/src/mobile/utils/test/index.native.js +0 -134
  388. package/src/mobile/utils/use-is-floating-keyboard.native.js +0 -31
  389. package/src/mobile/utils/use-unit-converter-to-mobile.native.js +0 -90
  390. package/src/notice/index.native.js +0 -123
  391. package/src/notice/list.native.js +0 -55
  392. package/src/notice/style.native.scss +0 -60
  393. package/src/panel/actions.native.js +0 -46
  394. package/src/panel/actions.native.scss +0 -12
  395. package/src/panel/body.native.js +0 -29
  396. package/src/panel/body.native.scss +0 -11
  397. package/src/panel/bottom-separator-cover.native.js +0 -27
  398. package/src/panel/bottom-separator-cover.native.scss +0 -9
  399. package/src/private-apis.native.js +0 -13
  400. package/src/query-controls/index.native.js +0 -103
  401. package/src/radio-control/index.native.js +0 -24
  402. package/src/range-control/index.native.js +0 -73
  403. package/src/resizable-box/index.native.js +0 -32
  404. package/src/resizable-box/style.native.scss +0 -14
  405. package/src/sandbox/index.native.js +0 -392
  406. package/src/sandbox/style.native.scss +0 -7
  407. package/src/search-control/index.native.js +0 -274
  408. package/src/search-control/platform-style.android.scss +0 -57
  409. package/src/search-control/platform-style.ios.scss +0 -43
  410. package/src/search-control/style.native.scss +0 -63
  411. package/src/select-control/index.native.js +0 -41
  412. package/src/slot-fill/index.native.js +0 -25
  413. package/src/spinner/index.native.js +0 -22
  414. package/src/spinner/style.native.scss +0 -4
  415. package/src/style-provider/index.native.js +0 -3
  416. package/src/text/index.native.js +0 -13
  417. package/src/text/styles/emotion-css.native.js +0 -6
  418. package/src/text/styles/font-family.native.js +0 -1
  419. package/src/text/styles/text-mixins.native.js +0 -163
  420. package/src/text-control/index.native.js +0 -41
  421. package/src/textarea-control/index.native.js +0 -26
  422. package/src/toggle-control/index.native.js +0 -31
  423. package/src/toolbar/toolbar/style.native.scss +0 -11
  424. package/src/toolbar/toolbar/toolbar-container.native.js +0 -8
  425. package/src/toolbar/toolbar-button/toolbar-button-container.native.js +0 -8
  426. package/src/toolbar/toolbar-group/style.native.scss +0 -10
  427. package/src/toolbar/toolbar-group/toolbar-group-collapsed.native.js +0 -36
  428. package/src/toolbar/toolbar-group/toolbar-group-container.native.js +0 -26
  429. package/src/toolbar/toolbar-item/index.native.js +0 -17
  430. package/src/tooltip/index.native.js +0 -292
  431. package/src/tooltip/style.native.scss +0 -39
  432. package/src/tooltip/test/index.native.js +0 -98
  433. package/src/unit-control/index.native.js +0 -202
  434. package/src/unit-control/style.native.scss +0 -19
@@ -1,38 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View } from 'react-native';
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { useCallback, useState } from '@wordpress/element';
9
- import {
10
- createHigherOrderComponent,
11
- __experimentalUseFocusOutside as useFocusOutside,
12
- } from '@wordpress/compose';
13
-
14
- export default createHigherOrderComponent(
15
- ( WrappedComponent ) =>
16
- function WithFocusOutside( props ) {
17
- const [ handleFocusOutside, setHandleFocusOutside ] = useState();
18
- const bindFocusOutsideHandler = useCallback(
19
- ( node ) =>
20
- setHandleFocusOutside( () =>
21
- node?.handleFocusOutside
22
- ? node.handleFocusOutside.bind( node )
23
- : undefined
24
- ),
25
- []
26
- );
27
-
28
- return (
29
- <View { ...useFocusOutside( handleFocusOutside ) }>
30
- <WrappedComponent
31
- ref={ bindFocusOutsideHandler }
32
- { ...props }
33
- />
34
- </View>
35
- );
36
- },
37
- 'withFocusOutside'
38
- );
@@ -1,134 +0,0 @@
1
- export {
2
- SVG,
3
- Path,
4
- Circle,
5
- Polygon,
6
- Rect,
7
- G,
8
- HorizontalRule,
9
- BlockQuotation,
10
- } from '@wordpress/primitives';
11
- export { default as ColorIndicator } from './color-indicator';
12
- export { default as ColorPalette } from './color-palette';
13
- export { ColorPicker } from './color-picker';
14
- export { default as Dashicon } from './dashicon';
15
- export { default as Dropdown } from './dropdown';
16
- export { default as DropdownMenu } from './dropdown-menu';
17
- export { default as FocalPointPicker } from './focal-point-picker';
18
- export {
19
- Toolbar,
20
- ToolbarButton,
21
- ToolbarContext as __experimentalToolbarContext,
22
- ToolbarDropdownMenu,
23
- ToolbarGroup,
24
- ToolbarItem,
25
- } from './toolbar';
26
- export { default as Tooltip } from './tooltip';
27
- export { default as Icon } from './icon';
28
- export { default as Spinner } from './spinner';
29
- export {
30
- createSlotFill,
31
- Slot,
32
- Fill,
33
- Provider as SlotFillProvider,
34
- } from './slot-fill';
35
-
36
- export { default as __experimentalStyleProvider } from './style-provider';
37
- export { default as BaseControl } from './base-control';
38
- export { hasSplitBorders as __experimentalHasSplitBorders } from './border-box-control/utils';
39
- export { default as TextareaControl } from './textarea-control';
40
- export { default as PanelBody } from './panel/body';
41
- export { default as PanelActions } from './panel/actions';
42
- export { default as Button } from './button';
43
- export { default as __experimentalText } from './text';
44
- export { default as ExternalLink } from './external-link';
45
- export { default as TextControl } from './text-control';
46
- export { default as ToggleControl } from './toggle-control';
47
- export { default as SandBox } from './sandbox';
48
- export { default as SearchControl } from './search-control';
49
- export { default as SelectControl } from './select-control';
50
- export { default as RangeControl } from './range-control';
51
- export { default as ResizableBox } from './resizable-box';
52
- export { default as FooterMessageControl } from './footer-message-control';
53
- export { default as ColorControl } from './color-control';
54
- export { default as QueryControls } from './query-controls';
55
- export { default as Notice } from './notice';
56
- export { default as NoticeList } from './notice/list';
57
- export { default as RadioControl } from './radio-control';
58
- export {
59
- default as UnitControl,
60
- useCustomUnits as __experimentalUseCustomUnits,
61
- } from './unit-control';
62
- export {
63
- CSS_UNITS as CSS_UNITS,
64
- filterUnitsWithSettings as filterUnitsWithSettings,
65
- } from './unit-control/utils';
66
- export { default as Disabled } from './disabled';
67
- export { default as Draggable, DraggableTrigger } from './draggable';
68
-
69
- // Higher-Order Components.
70
- export { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';
71
- export { default as withFallbackStyles } from './higher-order/with-fallback-styles';
72
- export { default as withFilters } from './higher-order/with-filters';
73
- export { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.
74
- export { default as withFocusOutside } from './higher-order/with-focus-outside';
75
- export { default as withFocusReturn } from './higher-order/with-focus-return';
76
- export { default as withNotices } from './higher-order/with-notices';
77
- export { default as withSpokenMessages } from './higher-order/with-spoken-messages';
78
- export * from './text';
79
-
80
- // Mobile Components.
81
- export {
82
- __unstableAutocompletionItemsFill,
83
- __unstableAutocompletionItemsSlot,
84
- } from './mobile/autocompletion-items';
85
- export { default as Autocomplete } from './autocomplete';
86
- export { default as BottomSheet } from './mobile/bottom-sheet';
87
- export {
88
- BottomSheetConsumer,
89
- BottomSheetProvider,
90
- BottomSheetContext,
91
- } from './mobile/bottom-sheet/bottom-sheet-context';
92
- export { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';
93
- export { default as HTMLTextInput } from './mobile/html-text-input';
94
- export { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';
95
- export { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';
96
- export { default as Picker } from './mobile/picker';
97
- export { default as CycleSelectControl } from './mobile/cycle-select-control';
98
- export { default as Gradient } from './mobile/gradient';
99
- export { default as ColorSettings } from './mobile/color-settings';
100
- export { default as SegmentedControls } from './mobile/segmented-control';
101
- export { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';
102
- export { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';
103
- export { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';
104
- export { LinkPicker } from './mobile/link-picker';
105
- export { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';
106
- export { default as LinkSettings } from './mobile/link-settings';
107
- export { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';
108
- export { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';
109
- export { default as SegmentedControl } from './mobile/segmented-control';
110
- export { default as Image } from './mobile/image';
111
- export { IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image/constants';
112
- export { default as ImageEditingButton } from './mobile/image/image-editing-button';
113
- export { setClipboard, getClipboard } from './mobile/clipboard';
114
- export { default as Badge } from './mobile/badge';
115
- export { default as Gridicons } from './mobile/gridicons';
116
-
117
- // Utils.
118
- export { colorsUtils } from './mobile/color-settings/utils';
119
- export {
120
- WIDE_ALIGNMENTS,
121
- ALIGNMENT_BREAKPOINTS,
122
- alignmentHelpers,
123
- } from './mobile/utils/alignments';
124
- export { default as getPxFromCssUnit } from './mobile/utils/get-px-from-css-unit';
125
-
126
- // Hooks.
127
- export {
128
- convertUnitToMobile,
129
- useConvertUnitToMobile,
130
- getValueAndUnit,
131
- } from './mobile/utils/use-unit-converter-to-mobile';
132
-
133
- // Private APIs.
134
- export { privateApis } from './private-apis';
@@ -1,2 +0,0 @@
1
- const KeyboardShortcuts = () => null;
2
- export default KeyboardShortcuts;
@@ -1,3 +0,0 @@
1
- # Mobile Components
2
-
3
- This directory houses generic WordPress components to be used for creating common UI elements shared between screens and features of the WordPress native mobile apps. The components in this directory are generally mobile-specific, and not utilized for web interfaces.
@@ -1,11 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { createSlotFill } from '../slot-fill';
5
-
6
- const { Fill, Slot } = createSlotFill( '__unstableAutocompletionItemsSlot' );
7
-
8
- export {
9
- Fill as __unstableAutocompletionItemsFill,
10
- Slot as __unstableAutocompletionItemsSlot,
11
- };
@@ -1,31 +0,0 @@
1
- # Badge
2
-
3
- The Badge component is designed to be wrapped around another component. It adds a "badge" with some text to the child component's upper left.
4
-
5
- An example can be found in the image block. After setting an image as featured, a "featured" badge overlays the block.
6
-
7
- ### Usage
8
-
9
- ```jsx
10
- return
11
- <Badge label={ __( 'Hello World!' ) } show={ optionalBoolean }/>
12
- <View></View>
13
- </Badge>;
14
- ```
15
-
16
- ### Props
17
-
18
- #### label
19
-
20
- The text that will be displayed within the Badge component.
21
-
22
- - Type: `String`
23
- - Required: Yes
24
-
25
- #### show
26
-
27
- An optional boolean to determine whether the badge is displayed.
28
-
29
- - Type: `Boolean`
30
- - Required: No
31
- - Default: `true`
@@ -1,27 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View, Text } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { withPreferredColorScheme } from '@wordpress/compose';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import styles from './style.scss';
15
-
16
- const Badge = ( { label, children, show = true } ) => {
17
- return (
18
- <>
19
- { children }
20
- <View style={ styles.badgeContainer }>
21
- { show && <Text style={ styles.badge }>{ label }</Text> }
22
- </View>
23
- </>
24
- );
25
- };
26
-
27
- export default withPreferredColorScheme( Badge );
@@ -1,18 +0,0 @@
1
- @use "@wordpress/base-styles/colors" as *;
2
-
3
- .badgeContainer {
4
- position: absolute;
5
- top: 0;
6
- left: 0;
7
- z-index: 2;
8
- }
9
-
10
- .badge {
11
- padding: 3px 6px;
12
- margin: 8px;
13
- color: #fff;
14
- border-radius: 3px;
15
- background-color: $gray-dark;
16
- border-color: $gray-dark;
17
- overflow: hidden;
18
- }
@@ -1,8 +0,0 @@
1
- .borderStyle {
2
- border-bottom-width: 1px;
3
- }
4
-
5
- .isSelected {
6
- border-bottom-width: 2px;
7
- border-color: $blue-wordpress;
8
- }
@@ -1,9 +0,0 @@
1
- .isSelected {
2
- border-width: 2px;
3
- border-color: $blue-wordpress;
4
- }
5
-
6
- .borderStyle {
7
- border-width: 1px;
8
- border-radius: 4px;
9
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { Platform, UIManager } from 'react-native';
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { createContext } from '@wordpress/element';
9
-
10
- // It's needed to set the following flags via UIManager
11
- // to have `LayoutAnimation` working on Android
12
- if (
13
- Platform.OS === 'android' &&
14
- UIManager.setLayoutAnimationEnabledExperimental
15
- ) {
16
- UIManager.setLayoutAnimationEnabledExperimental( true );
17
- }
18
-
19
- // Context in BottomSheet is necessary for controlling the
20
- // transition flow between subsheets and replacing a content inside them
21
- export const BottomSheetContext = createContext( {
22
- // Specifies whether content is currently scrolling.
23
- isBottomSheetContentScrolling: false,
24
- // Function called to enable scroll within bottom sheet.
25
- shouldEnableBottomSheetScroll: () => {},
26
- // Function called to enable/disable bottom sheet max height.
27
- // E.g. used to extend bottom sheet on full screen in ColorPicker,
28
- // which is helpful on small devices with set the largest font/display size.
29
- shouldEnableBottomSheetMaxHeight: () => {},
30
- // Callback that is called on closing bottom sheet.
31
- onHandleClosingBottomSheet: () => {},
32
- // Android only: Function called to control android hardware back button functionality
33
- // Return true if the bottom-sheet default close action shouldn't be called.
34
- onHandleHardwareButtonPress: () => {},
35
- // Toggle full-screen styles and dimensions
36
- setIsFullScreen: () => {},
37
- } );
38
-
39
- export const { Provider: BottomSheetProvider, Consumer: BottomSheetConsumer } =
40
- BottomSheetContext;
@@ -1,101 +0,0 @@
1
- # BottomSheet Navigation
2
-
3
- We use [`react-navigation`](https://reactnavigation.org/) v5 to handle multiple screens inside the bottom-sheet. We have two components that help use it w/o additional settings.
4
-
5
- - BottomSheet.NavigationContainer
6
- - BottomSheet.NavigationScreen
7
-
8
- ## BottomSheet.NavigationContainer
9
-
10
- `BottomSheet.NavigationContainer` is a React component to render a Stack Navigator with settings prepared for the Bottom-Sheet. This component also handles the height animation of bottom-sheet when back or pushing a new screen.
11
-
12
- **NOTE:** Children of the `BottomSheet.NavigationContainer` can be only `BottomSheet.NavigationScreen`
13
-
14
- ## BottomSheet.NavigationScreen
15
-
16
- `BottomSheet.NavigationScreen` is a React component to render a Screen inside the stack that is passed from parent. This component can be rendered only inside the `BottomSheet.NavigationContainer` and is responsible for handling the hardware back button on Android and setting the correct height of the parent (container).
17
-
18
- ## Usage
19
-
20
- ```jsx
21
- import { BottomSheet } from '@wordpress/components';
22
-
23
- const BottomSheetWithNavigation = () => (
24
- <BottomSheet hasNavigation>
25
-    
26
- <BottomSheet.NavigationContainer>
27
-      
28
- <BottomSheet.NavigationScreen name={ 'Settings' }>
29
- <InspectorControls.Slot />
30
- </BottomSheet.NavigationScreen>
31
-       <BottomSheet.NavigationScreen name={ 'Colors' }>
32
- <ColorSettings defaultSettings={ settings } />    
33
- </BottomSheet.NavigationScreen>   
34
- </BottomSheet.NavigationContainer>
35
-  
36
- </BottomSheet>
37
- );
38
- ```
39
-
40
- ## Props
41
-
42
- ### BottomSheet.NavigationContainer
43
-
44
- The component accepts the following props.
45
-
46
- ### animate
47
-
48
- This prop determines if the container height should be animated. It should be set to `true` only for the root container in BottomSheet. In nested `BottomSheet.NavigationContainer` set it to `false`.
49
-
50
- - Type: `Boolean`
51
- - Required: No
52
- - Default: `false`
53
-
54
- ### main
55
-
56
- Since we do not wrap the whole editor inside navigation (yet) we need to determine if the container is the very top one (root one). Set it to `true` in only for NOT nested navigation container.
57
-
58
- Note: This prop is needed until we wrap the editor inside the navigation container.
59
-
60
- - Type: `Boolean`
61
- - Required: No
62
- - Default: `false`
63
-
64
- ### theme
65
-
66
- This prop is to set the theme of navigation containers. Please read: https://reactnavigation.org/docs/themes/
67
-
68
- - Type: `Object`
69
- - Required: No
70
-
71
- ### BottomSheet.NavigationScreen
72
-
73
- The component accepts the following props. Props not included in this set will be applied to the Stack.Screen from `react-navigation`.
74
-
75
- ### name
76
-
77
- This prop is used as a Screen name.
78
-
79
- - Type: `String`
80
- - Required: Yes
81
-
82
- ### children
83
-
84
- The component that should be rendered as content.
85
-
86
- - Type: React Element
87
- - Required: Yes
88
-
89
- ### isScrollable
90
-
91
- This prop determines whether the screen should be wrapped into the ScrollView - this is needed if the screen contains FlatList or any other list inside. Thanks to that we do not nest List into the ScrollView with the same orientation.
92
-
93
- - Type: `Boolean`
94
- - Required: No
95
-
96
- ### fullScreen
97
-
98
- This prop determines if the screen should have full height of device.
99
-
100
- - Type: `Boolean`
101
- - Required: No
@@ -1,16 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { createContext } from '@wordpress/element';
5
-
6
- // Navigation context in BottomSheet is necessary for controlling the
7
- // height of navigation container.
8
- export const BottomSheetNavigationContext = createContext( {
9
- currentHeight: { value: 0 },
10
- setHeight: () => {},
11
- } );
12
-
13
- export const {
14
- Provider: BottomSheetNavigationProvider,
15
- Consumer: BottomSheetNavigationConsumer,
16
- } = BottomSheetNavigationContext;
@@ -1,193 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { NavigationContainer, DefaultTheme } from '@react-navigation/native';
5
- import { createStackNavigator } from '@react-navigation/stack';
6
- import Animated, {
7
- Easing,
8
- useAnimatedStyle,
9
- useSharedValue,
10
- withTiming,
11
- } from 'react-native-reanimated';
12
-
13
- /**
14
- * WordPress dependencies
15
- */
16
- import {
17
- useContext,
18
- useMemo,
19
- useCallback,
20
- Children,
21
- useRef,
22
- cloneElement,
23
- } from '@wordpress/element';
24
-
25
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
26
-
27
- /**
28
- * Internal dependencies
29
- */
30
- import {
31
- BottomSheetNavigationContext,
32
- BottomSheetNavigationProvider,
33
- } from './bottom-sheet-navigation-context';
34
- import { BottomSheetContext } from '../bottom-sheet-context';
35
-
36
- import styles from './styles.scss';
37
-
38
- const AnimationSpec = {
39
- animation: 'timing',
40
- config: {
41
- duration: 200,
42
- easing: Easing.ease,
43
- },
44
- };
45
-
46
- const fadeConfig = ( { current } ) => {
47
- return {
48
- cardStyle: {
49
- opacity: current.progress,
50
- },
51
- };
52
- };
53
-
54
- const options = {
55
- transitionSpec: {
56
- open: AnimationSpec,
57
- close: AnimationSpec,
58
- },
59
- headerShown: false,
60
- gestureEnabled: false,
61
- cardStyleInterpolator: fadeConfig,
62
- keyboardHandlingEnabled: false,
63
- };
64
-
65
- const HEIGHT_ANIMATION_DURATION = 300;
66
- const DEFAULT_HEIGHT = 1;
67
-
68
- function BottomSheetNavigationContainer( {
69
- children,
70
- animate,
71
- main,
72
- theme,
73
- style,
74
- testID,
75
- } ) {
76
- const Stack = useRef( createStackNavigator() ).current;
77
- const navigationContext = useContext( BottomSheetNavigationContext );
78
- const { maxHeight: sheetMaxHeight, isMaxHeightSet: isSheetMaxHeightSet } =
79
- useContext( BottomSheetContext );
80
- const currentHeight = useSharedValue(
81
- navigationContext.currentHeight?.value || DEFAULT_HEIGHT
82
- );
83
-
84
- const backgroundStyle = usePreferredColorSchemeStyle(
85
- styles.background,
86
- styles.backgroundDark
87
- );
88
-
89
- const defaultTheme = useMemo(
90
- () => ( {
91
- ...DefaultTheme,
92
- colors: {
93
- ...DefaultTheme.colors,
94
- background: backgroundStyle.backgroundColor,
95
- },
96
- } ),
97
- [ backgroundStyle.backgroundColor ]
98
- );
99
- const _theme = theme || defaultTheme;
100
-
101
- const setHeight = useCallback(
102
- ( height ) => {
103
- if (
104
- height > DEFAULT_HEIGHT &&
105
- Math.round( height ) !== Math.round( currentHeight.value )
106
- ) {
107
- // If max height is set in the bottom sheet, we clamp
108
- // the new height using that value.
109
- const newHeight = isSheetMaxHeightSet
110
- ? Math.min( sheetMaxHeight, height )
111
- : height;
112
- const shouldAnimate =
113
- animate && currentHeight.value !== DEFAULT_HEIGHT;
114
-
115
- if ( shouldAnimate ) {
116
- currentHeight.value = withTiming( newHeight, {
117
- duration: HEIGHT_ANIMATION_DURATION,
118
- easing: Easing.out( Easing.cubic ),
119
- } );
120
- } else {
121
- currentHeight.value = newHeight;
122
- }
123
- }
124
- },
125
- [ animate, currentHeight, isSheetMaxHeightSet, sheetMaxHeight ]
126
- );
127
-
128
- const animatedStyles = useAnimatedStyle( () => ( {
129
- height: currentHeight.value,
130
- } ) );
131
-
132
- const screens = useMemo( () => {
133
- return Children.map( children, ( child ) => {
134
- let screen = child;
135
- const { name, ...otherProps } = child.props;
136
- if ( ! main ) {
137
- screen = cloneElement( child, {
138
- ...child.props,
139
- isNested: true,
140
- } );
141
- }
142
- return (
143
- <Stack.Screen
144
- name={ name }
145
- { ...otherProps }
146
- children={ () => screen }
147
- />
148
- );
149
- } );
150
- }, [ children, main ] );
151
-
152
- return useMemo( () => {
153
- return (
154
- <Animated.View
155
- style={ [ style, animatedStyles ] }
156
- testID={ testID }
157
- >
158
- <BottomSheetNavigationProvider
159
- value={ { setHeight, currentHeight } }
160
- >
161
- { main ? (
162
- <NavigationContainer theme={ _theme }>
163
- <Stack.Navigator
164
- screenOptions={ options }
165
- detachInactiveScreens={ false }
166
- >
167
- { screens }
168
- </Stack.Navigator>
169
- </NavigationContainer>
170
- ) : (
171
- <Stack.Navigator
172
- screenOptions={ options }
173
- detachInactiveScreens={ false }
174
- >
175
- { screens }
176
- </Stack.Navigator>
177
- ) }
178
- </BottomSheetNavigationProvider>
179
- </Animated.View>
180
- );
181
- }, [
182
- _theme,
183
- animatedStyles,
184
- currentHeight,
185
- main,
186
- screens,
187
- setHeight,
188
- style,
189
- testID,
190
- ] );
191
- }
192
-
193
- export default BottomSheetNavigationContainer;