@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,360 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- ScrollView,
6
- TouchableWithoutFeedback,
7
- View,
8
- Animated,
9
- Easing,
10
- Dimensions,
11
- Platform,
12
- Text,
13
- } from 'react-native';
14
-
15
- /**
16
- * WordPress dependencies
17
- */
18
- import { __, sprintf } from '@wordpress/i18n';
19
- import { useRef, useEffect } from '@wordpress/element';
20
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
21
-
22
- /**
23
- * Internal dependencies
24
- */
25
- import styles from './style.scss';
26
- import ColorIndicator from '../color-indicator';
27
- import { colorsUtils } from '../mobile/color-settings/utils';
28
-
29
- const ANIMATION_DURATION = 200;
30
-
31
- let contentWidth = 0;
32
- let scrollPosition = 0;
33
- let customIndicatorWidth = 0;
34
-
35
- function ColorPalette( {
36
- enableCustomColor = false,
37
- setColor,
38
- activeColor,
39
- isGradientColor,
40
- defaultSettings,
41
- currentSegment,
42
- onCustomPress,
43
- shouldEnableBottomSheetScroll,
44
- shouldShowCustomIndicatorOption = true,
45
- shouldShowCustomLabel = true,
46
- shouldShowCustomVerticalSeparator = true,
47
- customColorIndicatorStyles,
48
- customIndicatorWrapperStyles,
49
- label,
50
- } ) {
51
- const customSwatchGradients = [
52
- 'linear-gradient(120deg, rgba(255,0,0,.8) 0%, rgba(255,255,255,1) 70.71%)',
53
- 'linear-gradient(240deg, rgba(0,255,0,.8) 0%, rgba(0,255,0,0) 70.71%)',
54
- 'linear-gradient(360deg, rgba(0,0,255,.8) 0%, rgba(0,0,255,0) 70.71%)',
55
- ];
56
-
57
- const scrollViewRef = useRef();
58
- const isIOS = Platform.OS === 'ios';
59
-
60
- const isGradientSegment = currentSegment === colorsUtils.segments[ 1 ];
61
-
62
- const scale = useRef( new Animated.Value( 1 ) ).current;
63
- const opacity = useRef( new Animated.Value( 1 ) ).current;
64
- const delayedScrollRef = useRef();
65
-
66
- const mergedColors = [
67
- ...new Set(
68
- ( defaultSettings.colors ?? [] ).map( ( { color } ) => color )
69
- ),
70
- ];
71
- const mergedGradients = [
72
- ...new Set(
73
- ( defaultSettings.gradients ?? [] ).map(
74
- ( { gradient } ) => gradient
75
- )
76
- ),
77
- ];
78
- const allAvailableColors = [
79
- ...new Set(
80
- ( defaultSettings.allColors ?? [] ).map( ( { color } ) => color )
81
- ),
82
- ];
83
- const allAvailableGradients = [
84
- ...new Set(
85
- ( defaultSettings.allGradients ?? [] ).map(
86
- ( { gradient } ) => gradient
87
- )
88
- ),
89
- ];
90
-
91
- const colors = isGradientSegment ? mergedGradients : mergedColors;
92
- const allColors = isGradientSegment
93
- ? allAvailableGradients
94
- : allAvailableColors;
95
-
96
- const customIndicatorColor = isGradientSegment
97
- ? activeColor
98
- : customSwatchGradients;
99
- const isCustomGradientColor = isGradientColor && isSelectedCustom();
100
- const shouldShowCustomIndicator =
101
- enableCustomColor &&
102
- shouldShowCustomIndicatorOption &&
103
- ( ! isGradientSegment || isCustomGradientColor );
104
-
105
- const accessibilityHint = isGradientSegment
106
- ? __( 'Navigates to customize the gradient' )
107
- : __( 'Navigates to custom color picker' );
108
- const customText = __( 'Custom' );
109
-
110
- useEffect( () => {
111
- if ( scrollViewRef.current ) {
112
- if ( isSelectedCustom() ) {
113
- scrollToEndWithDelay();
114
- } else {
115
- scrollViewRef.current.scrollTo( { x: 0, y: 0 } );
116
- }
117
- }
118
- // Not adding additional dependencies until the component can be refactored and updated safely.
119
- // Please see https://github.com/WordPress/gutenberg/pull/41253 for discussion and details.
120
- }, [ currentSegment ] );
121
-
122
- function isSelectedCustom() {
123
- const isWithinColors =
124
- activeColor && allColors?.includes( activeColor );
125
- if ( enableCustomColor && activeColor ) {
126
- if ( isGradientSegment ) {
127
- return isGradientColor && ! isWithinColors;
128
- }
129
- return ! isGradientColor && ! isWithinColors;
130
- }
131
- return false;
132
- }
133
-
134
- function isSelected( color ) {
135
- return ! isSelectedCustom() && activeColor === color;
136
- }
137
-
138
- function timingAnimation( property, toValue ) {
139
- return Animated.timing( property, {
140
- toValue,
141
- duration: ANIMATION_DURATION,
142
- easing: Easing.ease,
143
- useNativeDriver: true,
144
- } );
145
- }
146
-
147
- function performAnimation( color ) {
148
- if ( ! isSelected( color ) ) {
149
- opacity.setValue( 0 );
150
- }
151
-
152
- Animated.parallel( [
153
- timingAnimation( scale, 2 ),
154
- timingAnimation( opacity, 1 ),
155
- ] ).start( () => {
156
- opacity.setValue( 1 );
157
- scale.setValue( 1 );
158
- } );
159
- }
160
-
161
- const scaleInterpolation = scale.interpolate( {
162
- inputRange: [ 1, 1.5, 2 ],
163
- outputRange: [ 1, 0.7, 1 ],
164
- } );
165
-
166
- function deselectCustomGradient() {
167
- const { width } = Dimensions.get( 'window' );
168
- const isVisible =
169
- contentWidth - scrollPosition - customIndicatorWidth < width;
170
-
171
- if ( isCustomGradientColor ) {
172
- if ( ! isIOS ) {
173
- // Scroll position on Android doesn't adjust automatically when removing the last item from the horizontal list.
174
- // https://github.com/facebook/react-native/issues/27504
175
- // Workaround: Force the scroll when deselecting custom gradient color and when custom indicator is visible on layout.
176
- if (
177
- isCustomGradientColor &&
178
- isVisible &&
179
- scrollViewRef.current
180
- ) {
181
- scrollViewRef.current.scrollTo( {
182
- x: scrollPosition - customIndicatorWidth,
183
- } );
184
- }
185
- }
186
- }
187
- }
188
-
189
- function getColorGradientName( value ) {
190
- const fallbackName = sprintf(
191
- /* translators: %s: the hex color value */
192
- __( 'Unlabeled color. %s' ),
193
- value
194
- );
195
- const foundColorName = isGradientSegment
196
- ? defaultSettings.gradients?.find(
197
- ( gradient ) => gradient.gradient === value
198
- )
199
- : defaultSettings.allColors?.find(
200
- ( color ) => color.color === value
201
- );
202
- return foundColorName ? foundColorName?.name : fallbackName;
203
- }
204
-
205
- function onColorPress( color ) {
206
- deselectCustomGradient();
207
- performAnimation( color );
208
- setColor( color );
209
- }
210
-
211
- function onContentSizeChange( width ) {
212
- contentWidth = width;
213
- if ( isSelectedCustom() && scrollViewRef.current ) {
214
- scrollToEndWithDelay();
215
- }
216
- }
217
-
218
- function scrollToEndWithDelay() {
219
- delayedScrollRef.current = setTimeout( () => {
220
- scrollViewRef?.current.scrollToEnd();
221
- }, ANIMATION_DURATION );
222
- return () => {
223
- clearTimeout( delayedScrollRef.current );
224
- };
225
- }
226
-
227
- function onCustomIndicatorLayout( { nativeEvent } ) {
228
- const { width } = nativeEvent.layout;
229
- if ( width !== customIndicatorWidth ) {
230
- customIndicatorWidth = width;
231
- }
232
- }
233
-
234
- function onScroll( { nativeEvent } ) {
235
- scrollPosition = nativeEvent.contentOffset.x;
236
- }
237
-
238
- const verticalSeparatorStyle = usePreferredColorSchemeStyle(
239
- styles.verticalSeparator,
240
- styles.verticalSeparatorDark
241
- );
242
-
243
- const customTextStyle = usePreferredColorSchemeStyle(
244
- [ styles.customText, ! isIOS && styles.customTextAndroid ],
245
- styles.customTextDark
246
- );
247
-
248
- const customIndicatorWrapperStyle = [
249
- styles.customIndicatorWrapper,
250
- customIndicatorWrapperStyles,
251
- ];
252
-
253
- return (
254
- <>
255
- { label && (
256
- <Text accessibilityRole="header" style={ styles.headerText }>
257
- { label }
258
- </Text>
259
- ) }
260
-
261
- <ScrollView
262
- contentContainerStyle={ styles.contentContainer }
263
- horizontal
264
- showsHorizontalScrollIndicator={ false }
265
- keyboardShouldPersistTaps="always"
266
- disableScrollViewPanResponder
267
- scrollEventThrottle={ 16 }
268
- onScroll={ onScroll }
269
- onContentSizeChange={ onContentSizeChange }
270
- onScrollBeginDrag={ () =>
271
- shouldEnableBottomSheetScroll( false )
272
- }
273
- onScrollEndDrag={ () => shouldEnableBottomSheetScroll( true ) }
274
- ref={ scrollViewRef }
275
- testID={ `color-palette${ label ? '-' + label : '' }` }
276
- >
277
- { colors.map( ( color ) => {
278
- const scaleValue = isSelected( color )
279
- ? scaleInterpolation
280
- : 1;
281
- const colorName = getColorGradientName( color );
282
-
283
- return (
284
- <View key={ `${ color }-${ isSelected( color ) }` }>
285
- <TouchableWithoutFeedback
286
- onPress={ () => onColorPress( color ) }
287
- accessibilityRole="button"
288
- accessibilityState={ {
289
- selected: isSelected( color ),
290
- } }
291
- accessibilityHint={ color }
292
- accessibilityLabel={ colorName }
293
- testID={ color }
294
- >
295
- <Animated.View
296
- style={ {
297
- transform: [
298
- {
299
- scale: scaleValue,
300
- },
301
- ],
302
- } }
303
- >
304
- <ColorIndicator
305
- color={ color }
306
- isSelected={ isSelected( color ) }
307
- opacity={ opacity }
308
- style={ [
309
- styles.colorIndicator,
310
- customColorIndicatorStyles,
311
- ] }
312
- />
313
- </Animated.View>
314
- </TouchableWithoutFeedback>
315
- </View>
316
- );
317
- } ) }
318
- { shouldShowCustomIndicator && (
319
- <View
320
- style={ customIndicatorWrapperStyle }
321
- onLayout={ onCustomIndicatorLayout }
322
- >
323
- { shouldShowCustomVerticalSeparator && (
324
- <View style={ verticalSeparatorStyle } />
325
- ) }
326
- <TouchableWithoutFeedback
327
- onPress={ onCustomPress }
328
- accessibilityRole="button"
329
- accessibilityState={ {
330
- selected: isSelectedCustom(),
331
- } }
332
- accessibilityHint={ accessibilityHint }
333
- >
334
- <View style={ customIndicatorWrapperStyle }>
335
- <ColorIndicator
336
- withCustomPicker={ ! isGradientSegment }
337
- color={ customIndicatorColor }
338
- isSelected={ isSelectedCustom() }
339
- style={ [
340
- styles.colorIndicator,
341
- customColorIndicatorStyles,
342
- ] }
343
- />
344
- { shouldShowCustomLabel && (
345
- <Text style={ customTextStyle }>
346
- { isIOS
347
- ? customText
348
- : customText.toUpperCase() }
349
- </Text>
350
- ) }
351
- </View>
352
- </TouchableWithoutFeedback>
353
- </View>
354
- ) }
355
- </ScrollView>
356
- </>
357
- );
358
- }
359
-
360
- export default ColorPalette;
@@ -1,49 +0,0 @@
1
- .contentContainer {
2
- flex-direction: row;
3
- padding: 0 $grid-unit-20;
4
- }
5
-
6
- .verticalSeparator {
7
- border-width: $border-width * 0.5;
8
- border-color: $light-gray-400;
9
- height: 38px;
10
- margin-right: $grid-unit-20 * 0.5;
11
- align-self: center;
12
- }
13
-
14
- .verticalSeparatorDark {
15
- border-color: $gray-70;
16
- }
17
-
18
- .colorIndicator {
19
- margin-top: 12px;
20
- margin-bottom: 12px;
21
- }
22
-
23
- .customIndicatorWrapper {
24
- flex-direction: row;
25
- align-items: center;
26
- }
27
-
28
- .customText {
29
- font-size: 16px;
30
- color: $gray-dark;
31
- }
32
-
33
- .customTextDark {
34
- color: $white;
35
- }
36
-
37
- .customTextAndroid {
38
- letter-spacing: 1.25;
39
- font-weight: 500;
40
- }
41
-
42
- .headerText {
43
- color: $gray;
44
- padding-top: 8;
45
- font-size: 14;
46
- font-weight: 500;
47
- padding-left: $grid-unit-20;
48
- padding-right: $grid-unit-20;
49
- }
@@ -1,88 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { View, Dimensions } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { useRef } from '@wordpress/element';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import HuePicker from './hue-picker';
15
- import SaturationValuePicker from './saturation-picker';
16
- import styles from './style.native.scss';
17
-
18
- const HsvColorPicker = ( props ) => {
19
- const maxWidth = Dimensions.get( 'window' ).width - 32;
20
- const satValPickerRef = useRef( null );
21
-
22
- const {
23
- containerStyle = {},
24
- currentColor,
25
- huePickerContainerStyle = {},
26
- huePickerBorderRadius = 0,
27
- huePickerHue = 0,
28
- huePickerBarWidth = maxWidth,
29
- huePickerBarHeight = 12,
30
- huePickerSliderSize = 24,
31
- onHuePickerDragStart,
32
- onHuePickerDragMove,
33
- onHuePickerDragEnd,
34
- onHuePickerDragTerminate,
35
- onHuePickerPress,
36
- satValPickerContainerStyle = {},
37
- satValPickerBorderRadius = 0,
38
- satValPickerSize = { width: maxWidth, height: 200 },
39
- satValPickerSliderSize = 24,
40
- satValPickerHue = 0,
41
- satValPickerSaturation = 1,
42
- satValPickerValue = 1,
43
- onSatValPickerDragStart,
44
- onSatValPickerDragMove,
45
- onSatValPickerDragEnd,
46
- onSatValPickerDragTerminate,
47
- onSatValPickerPress,
48
- } = props;
49
-
50
- return (
51
- <View
52
- style={ [ styles[ 'hsv-container' ], containerStyle ] }
53
- testID="hsv-color-picker"
54
- >
55
- <SaturationValuePicker
56
- containerStyle={ satValPickerContainerStyle }
57
- currentColor={ currentColor }
58
- borderRadius={ satValPickerBorderRadius }
59
- size={ satValPickerSize }
60
- sliderSize={ satValPickerSliderSize }
61
- hue={ satValPickerHue }
62
- saturation={ satValPickerSaturation }
63
- value={ satValPickerValue }
64
- onDragStart={ onSatValPickerDragStart }
65
- onDragMove={ onSatValPickerDragMove }
66
- onDragEnd={ onSatValPickerDragEnd }
67
- onDragTerminate={ onSatValPickerDragTerminate }
68
- onPress={ onSatValPickerPress }
69
- ref={ satValPickerRef }
70
- />
71
- <HuePicker
72
- containerStyle={ huePickerContainerStyle }
73
- borderRadius={ huePickerBorderRadius }
74
- hue={ huePickerHue }
75
- barWidth={ huePickerBarWidth }
76
- barHeight={ huePickerBarHeight }
77
- sliderSize={ huePickerSliderSize }
78
- onDragStart={ onHuePickerDragStart }
79
- onDragMove={ onHuePickerDragMove }
80
- onDragEnd={ onHuePickerDragEnd }
81
- onDragTerminate={ onHuePickerDragTerminate }
82
- onPress={ onHuePickerPress }
83
- />
84
- </View>
85
- );
86
- };
87
-
88
- export default HsvColorPicker;
@@ -1,198 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { Animated, View, PanResponder } from 'react-native';
5
- import LinearGradient from 'react-native-linear-gradient';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import React, { Component } from '@wordpress/element';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import styles from './style.scss';
16
-
17
- export default class HuePicker extends Component {
18
- constructor( props ) {
19
- super( props );
20
- this.hueColors = [
21
- '#ff0000',
22
- '#ffff00',
23
- '#00ff00',
24
- '#00ffff',
25
- '#0000ff',
26
- '#ff00ff',
27
- '#ff0000',
28
- ];
29
- this.sliderX = new Animated.Value(
30
- ( props.barHeight * props.hue ) / 360
31
- );
32
- this.panResponder = PanResponder.create( {
33
- onStartShouldSetPanResponder: () => true,
34
- onStartShouldSetPanResponderCapture: () => true,
35
- onMoveShouldSetPanResponder: () => true,
36
- onMoveShouldSetPanResponderCapture: () => true,
37
- onPanResponderGrant: ( evt, gestureState ) => {
38
- const { onPress } = this.props;
39
- this.dragStartValue = this.computeHueValuePress( evt );
40
-
41
- if ( onPress ) {
42
- onPress( {
43
- hue: this.computeHueValuePress( evt ),
44
- nativeEvent: evt.nativeEvent,
45
- } );
46
- }
47
-
48
- this.fireDragEvent( 'onDragStart', gestureState );
49
- },
50
- onPanResponderMove: ( evt, gestureState ) => {
51
- this.fireDragEvent( 'onDragMove', gestureState );
52
- },
53
- onPanResponderTerminationRequest: () => true,
54
- onPanResponderRelease: ( evt, gestureState ) => {
55
- this.fireDragEvent( 'onDragEnd', gestureState );
56
- },
57
- onPanResponderTerminate: ( evt, gestureState ) => {
58
- this.fireDragEvent( 'onDragTerminate', gestureState );
59
- },
60
- onShouldBlockNativeResponder: () => true,
61
- } );
62
- }
63
-
64
- componentDidUpdate( prevProps ) {
65
- const { hue = 0, barWidth = 200, sliderSize = 24 } = this.props;
66
- const borderWidth = sliderSize / 10;
67
- if ( prevProps.hue !== hue || prevProps.barWidth !== barWidth ) {
68
- this.sliderX.setValue(
69
- ( ( barWidth - sliderSize + borderWidth ) * hue ) / 360
70
- );
71
- }
72
- }
73
-
74
- normalizeValue( value ) {
75
- if ( value < 0 ) {
76
- return 0;
77
- }
78
- if ( value > 1 ) {
79
- return 1;
80
- }
81
- return value;
82
- }
83
-
84
- getContainerStyle() {
85
- const {
86
- sliderSize = 24,
87
- barHeight = 12,
88
- containerStyle = {},
89
- } = this.props;
90
- const paddingLeft = sliderSize / 2;
91
- const paddingTop =
92
- sliderSize - barHeight > 0 ? ( sliderSize - barHeight ) / 2 : 0;
93
- return [
94
- styles[ 'hsv-container' ],
95
- containerStyle,
96
- {
97
- paddingTop,
98
- paddingBottom: paddingTop,
99
- paddingLeft,
100
- paddingRight: paddingLeft,
101
- },
102
- ];
103
- }
104
-
105
- computeHueValueDrag( gestureState ) {
106
- const { dx } = gestureState;
107
- const { barWidth = 200 } = this.props;
108
- const { dragStartValue } = this;
109
- const diff = dx / barWidth;
110
- const updatedHue =
111
- this.normalizeValue( dragStartValue / 360 + diff ) * 360;
112
- return updatedHue;
113
- }
114
-
115
- computeHueValuePress( event ) {
116
- const { nativeEvent } = event;
117
- const { locationX } = nativeEvent;
118
- const { barWidth = 200 } = this.props;
119
- const updatedHue = this.normalizeValue( locationX / barWidth ) * 360;
120
- return updatedHue;
121
- }
122
-
123
- fireDragEvent( eventName, gestureState ) {
124
- const { [ eventName ]: event } = this.props;
125
- if ( event ) {
126
- event( {
127
- hue: this.computeHueValueDrag( gestureState ),
128
- gestureState,
129
- } );
130
- }
131
- }
132
-
133
- firePressEvent( event ) {
134
- const { onPress } = this.props;
135
- if ( onPress ) {
136
- onPress( {
137
- hue: this.computeHueValuePress( event ),
138
- nativeEvent: event.nativeEvent,
139
- } );
140
- }
141
- }
142
-
143
- render() {
144
- const { hueColors } = this;
145
- const {
146
- sliderSize = 24,
147
- barWidth = 200,
148
- barHeight = 12,
149
- borderRadius = 0,
150
- } = this.props;
151
- const borderWidth = sliderSize / 10;
152
- return (
153
- <View
154
- style={ this.getContainerStyle() }
155
- { ...this.panResponder.panHandlers }
156
- hitSlop={ {
157
- top: 10,
158
- bottom: 10,
159
- left: 0,
160
- right: 0,
161
- } }
162
- >
163
- <LinearGradient
164
- colors={ hueColors }
165
- style={ {
166
- borderRadius,
167
- } }
168
- start={ { x: 0, y: 0 } }
169
- end={ { x: 1, y: 0 } }
170
- >
171
- <View
172
- style={ {
173
- width: barWidth,
174
- height: barHeight,
175
- } }
176
- />
177
- </LinearGradient>
178
- <Animated.View
179
- pointerEvents="none"
180
- style={ [
181
- styles[ 'hue-slider' ],
182
- {
183
- width: sliderSize,
184
- height: sliderSize,
185
- left: ( sliderSize - borderWidth ) / 2,
186
- borderRadius: sliderSize / 2,
187
- transform: [
188
- {
189
- translateX: this.sliderX,
190
- },
191
- ],
192
- },
193
- ] }
194
- />
195
- </View>
196
- );
197
- }
198
- }