@wordpress/components 19.8.4 → 19.11.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 (630) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/CONTRIBUTING.md +80 -7
  3. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  5. package/build/border-box-control/border-box-control/component.js +22 -7
  6. package/build/border-box-control/border-box-control/component.js.map +1 -1
  7. package/build/border-box-control/border-box-control-linked-button/hook.js +3 -2
  8. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  9. package/build/border-box-control/border-box-control-split-controls/component.js +21 -8
  10. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  11. package/build/border-box-control/border-box-control-visualizer/hook.js +3 -2
  12. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  13. package/build/border-box-control/styles.js +11 -15
  14. package/build/border-box-control/styles.js.map +1 -1
  15. package/build/border-control/border-control/component.js +5 -3
  16. package/build/border-control/border-control/component.js.map +1 -1
  17. package/build/border-control/border-control/hook.js +6 -3
  18. package/build/border-control/border-control/hook.js.map +1 -1
  19. package/build/border-control/border-control-dropdown/component.js +6 -2
  20. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  21. package/build/border-control/border-control-dropdown/hook.js +5 -5
  22. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  23. package/build/border-control/styles.js +58 -29
  24. package/build/border-control/styles.js.map +1 -1
  25. package/build/box-control/index.js +0 -21
  26. package/build/box-control/index.js.map +1 -1
  27. package/build/box-control/utils.js +1 -8
  28. package/build/box-control/utils.js.map +1 -1
  29. package/build/button/index.js +3 -5
  30. package/build/button/index.js.map +1 -1
  31. package/build/button/index.native.js +16 -2
  32. package/build/button/index.native.js.map +1 -1
  33. package/build/button-group/index.js +24 -7
  34. package/build/button-group/index.js.map +1 -1
  35. package/build/{flyout → button-group}/types.js +0 -0
  36. package/build/button-group/types.js.map +1 -0
  37. package/build/checkbox-control/index.js +34 -7
  38. package/build/checkbox-control/index.js.map +1 -1
  39. package/build/checkbox-control/types.js +6 -0
  40. package/build/checkbox-control/types.js.map +1 -0
  41. package/build/circular-option-picker/index.js +1 -2
  42. package/build/circular-option-picker/index.js.map +1 -1
  43. package/build/color-palette/index.js +5 -12
  44. package/build/color-palette/index.js.map +1 -1
  45. package/build/date-time/date.js +43 -19
  46. package/build/date-time/date.js.map +1 -1
  47. package/build/date-time/index.js +28 -3
  48. package/build/date-time/index.js.map +1 -1
  49. package/build/date-time/time.js +42 -40
  50. package/build/date-time/time.js.map +1 -1
  51. package/build/date-time/timezone.js +4 -3
  52. package/build/date-time/timezone.js.map +1 -1
  53. package/build/date-time/types.js +6 -0
  54. package/build/date-time/types.js.map +1 -0
  55. package/build/date-time/utils.js +6 -4
  56. package/build/date-time/utils.js.map +1 -1
  57. package/build/disabled/index.js +4 -76
  58. package/build/disabled/index.js.map +1 -1
  59. package/build/draggable/index.native.js +223 -0
  60. package/build/draggable/index.native.js.map +1 -0
  61. package/build/dropdown/index.js +7 -5
  62. package/build/dropdown/index.js.map +1 -1
  63. package/build/focal-point-picker/index.native.js +3 -3
  64. package/build/focal-point-picker/index.native.js.map +1 -1
  65. package/build/heading/hook.js +1 -1
  66. package/build/heading/hook.js.map +1 -1
  67. package/build/index.js +0 -8
  68. package/build/index.js.map +1 -1
  69. package/build/index.native.js +16 -0
  70. package/build/index.native.js.map +1 -1
  71. package/build/input-control/index.js +27 -4
  72. package/build/input-control/index.js.map +1 -1
  73. package/build/input-control/styles/input-control-styles.js +42 -30
  74. package/build/input-control/styles/input-control-styles.js.map +1 -1
  75. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  76. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  77. package/build/mobile/bottom-sheet/index.native.js +1 -1
  78. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  79. package/build/mobile/bottom-sheet-select-control/index.native.js +4 -2
  80. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  81. package/build/mobile/html-text-input/index.native.js +19 -8
  82. package/build/mobile/html-text-input/index.native.js.map +1 -1
  83. package/build/mobile/keyboard-aware-flat-list/index.android.js +28 -5
  84. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  85. package/build/mobile/keyboard-aware-flat-list/index.ios.js +47 -24
  86. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  87. package/build/navigation/styles/navigation-styles.js +12 -12
  88. package/build/navigation/styles/navigation-styles.js.map +1 -1
  89. package/build/notice/index.native.js +44 -40
  90. package/build/notice/index.native.js.map +1 -1
  91. package/build/notice/list.native.js +27 -45
  92. package/build/notice/list.native.js.map +1 -1
  93. package/build/palette-edit/index.js +38 -7
  94. package/build/palette-edit/index.js.map +1 -1
  95. package/build/popover/index.js +223 -323
  96. package/build/popover/index.js.map +1 -1
  97. package/build/resizable-box/resize-tooltip/utils.js +5 -8
  98. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  99. package/build/sandbox/index.js +2 -2
  100. package/build/sandbox/index.js.map +1 -1
  101. package/build/sandbox/index.native.js +1 -1
  102. package/build/sandbox/index.native.js.map +1 -1
  103. package/build/select-control/index.js +31 -4
  104. package/build/select-control/index.js.map +1 -1
  105. package/build/select-control/styles/select-control-styles.js +17 -14
  106. package/build/select-control/styles/select-control-styles.js.map +1 -1
  107. package/build/surface/styles.js +8 -8
  108. package/build/surface/styles.js.map +1 -1
  109. package/build/text/hook.js +5 -5
  110. package/build/text/hook.js.map +1 -1
  111. package/build/text/styles/text-mixins.native.js +1 -1
  112. package/build/text/styles/text-mixins.native.js.map +1 -1
  113. package/build/text/styles.js +7 -7
  114. package/build/text/styles.js.map +1 -1
  115. package/build/text-control/index.js +35 -28
  116. package/build/text-control/index.js.map +1 -1
  117. package/build/text-control/types.js +6 -0
  118. package/build/text-control/types.js.map +1 -0
  119. package/build/toggle-group-control/toggle-group-control/component.js +1 -3
  120. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  121. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +6 -4
  122. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  123. package/build/tools-panel/tools-panel-header/component.js +52 -36
  124. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  125. package/build/tooltip/index.js +2 -2
  126. package/build/tooltip/index.js.map +1 -1
  127. package/build/ui/spinner/component.js +1 -1
  128. package/build/ui/spinner/component.js.map +1 -1
  129. package/build/unit-control/index.js +3 -3
  130. package/build/unit-control/index.js.map +1 -1
  131. package/build/unit-control/styles/unit-control-styles.js +11 -20
  132. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  133. package/build/unit-control/utils.js.map +1 -1
  134. package/build/utils/colors-values.js +9 -24
  135. package/build/utils/colors-values.js.map +1 -1
  136. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
  137. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  138. package/build-module/border-box-control/border-box-control/component.js +22 -7
  139. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  140. package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -2
  141. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  142. package/build-module/border-box-control/border-box-control-split-controls/component.js +21 -8
  143. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  144. package/build-module/border-box-control/border-box-control-visualizer/hook.js +3 -2
  145. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  146. package/build-module/border-box-control/styles.js +9 -15
  147. package/build-module/border-box-control/styles.js.map +1 -1
  148. package/build-module/border-control/border-control/component.js +5 -3
  149. package/build-module/border-control/border-control/component.js.map +1 -1
  150. package/build-module/border-control/border-control/hook.js +6 -3
  151. package/build-module/border-control/border-control/hook.js.map +1 -1
  152. package/build-module/border-control/border-control-dropdown/component.js +6 -2
  153. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  154. package/build-module/border-control/border-control-dropdown/hook.js +5 -5
  155. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  156. package/build-module/border-control/styles.js +56 -29
  157. package/build-module/border-control/styles.js.map +1 -1
  158. package/build-module/box-control/index.js +1 -20
  159. package/build-module/box-control/index.js.map +1 -1
  160. package/build-module/box-control/utils.js +0 -6
  161. package/build-module/box-control/utils.js.map +1 -1
  162. package/build-module/button/index.js +3 -4
  163. package/build-module/button/index.js.map +1 -1
  164. package/build-module/button/index.native.js +16 -3
  165. package/build-module/button/index.native.js.map +1 -1
  166. package/build-module/button-group/index.js +27 -7
  167. package/build-module/button-group/index.js.map +1 -1
  168. package/build-module/{flyout → button-group}/types.js +0 -0
  169. package/build-module/{flyout → button-group}/types.js.map +0 -0
  170. package/build-module/checkbox-control/index.js +31 -7
  171. package/build-module/checkbox-control/index.js.map +1 -1
  172. package/build-module/checkbox-control/types.js +2 -0
  173. package/{build/flyout → build-module/checkbox-control}/types.js.map +0 -0
  174. package/build-module/circular-option-picker/index.js +1 -2
  175. package/build-module/circular-option-picker/index.js.map +1 -1
  176. package/build-module/color-palette/index.js +5 -11
  177. package/build-module/color-palette/index.js.map +1 -1
  178. package/build-module/date-time/date.js +44 -19
  179. package/build-module/date-time/date.js.map +1 -1
  180. package/build-module/date-time/index.js +28 -4
  181. package/build-module/date-time/index.js.map +1 -1
  182. package/build-module/date-time/time.js +43 -41
  183. package/build-module/date-time/time.js.map +1 -1
  184. package/build-module/date-time/timezone.js +4 -3
  185. package/build-module/date-time/timezone.js.map +1 -1
  186. package/build-module/date-time/types.js +2 -0
  187. package/build-module/date-time/types.js.map +1 -0
  188. package/build-module/date-time/utils.js +6 -4
  189. package/build-module/date-time/utils.js.map +1 -1
  190. package/build-module/disabled/index.js +5 -76
  191. package/build-module/disabled/index.js.map +1 -1
  192. package/build-module/draggable/index.native.js +206 -0
  193. package/build-module/draggable/index.native.js.map +1 -0
  194. package/build-module/dropdown/index.js +7 -5
  195. package/build-module/dropdown/index.js.map +1 -1
  196. package/build-module/focal-point-picker/index.native.js +3 -3
  197. package/build-module/focal-point-picker/index.native.js.map +1 -1
  198. package/build-module/heading/hook.js +1 -1
  199. package/build-module/heading/hook.js.map +1 -1
  200. package/build-module/index.js +0 -1
  201. package/build-module/index.js.map +1 -1
  202. package/build-module/index.native.js +2 -1
  203. package/build-module/index.native.js.map +1 -1
  204. package/build-module/input-control/index.js +24 -3
  205. package/build-module/input-control/index.js.map +1 -1
  206. package/build-module/input-control/styles/input-control-styles.js +42 -30
  207. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  208. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  209. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  210. package/build-module/mobile/bottom-sheet/index.native.js +1 -1
  211. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  212. package/build-module/mobile/bottom-sheet-select-control/index.native.js +4 -2
  213. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  214. package/build-module/mobile/html-text-input/index.native.js +20 -9
  215. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  216. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +21 -5
  217. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  218. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +42 -25
  219. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  220. package/build-module/navigation/styles/navigation-styles.js +13 -13
  221. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  222. package/build-module/notice/index.native.js +45 -41
  223. package/build-module/notice/index.native.js.map +1 -1
  224. package/build-module/notice/list.native.js +28 -46
  225. package/build-module/notice/list.native.js.map +1 -1
  226. package/build-module/palette-edit/index.js +37 -7
  227. package/build-module/palette-edit/index.js.map +1 -1
  228. package/build-module/popover/index.js +225 -325
  229. package/build-module/popover/index.js.map +1 -1
  230. package/build-module/resizable-box/resize-tooltip/utils.js +4 -5
  231. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  232. package/build-module/sandbox/index.js +2 -2
  233. package/build-module/sandbox/index.js.map +1 -1
  234. package/build-module/sandbox/index.native.js +1 -1
  235. package/build-module/sandbox/index.native.js.map +1 -1
  236. package/build-module/select-control/index.js +29 -3
  237. package/build-module/select-control/index.js.map +1 -1
  238. package/build-module/select-control/styles/select-control-styles.js +17 -14
  239. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  240. package/build-module/surface/styles.js +8 -8
  241. package/build-module/surface/styles.js.map +1 -1
  242. package/build-module/text/hook.js +5 -5
  243. package/build-module/text/hook.js.map +1 -1
  244. package/build-module/text/styles/text-mixins.native.js +2 -2
  245. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  246. package/build-module/text/styles.js +7 -7
  247. package/build-module/text/styles.js.map +1 -1
  248. package/build-module/text-control/index.js +35 -27
  249. package/build-module/text-control/index.js.map +1 -1
  250. package/build-module/text-control/types.js +2 -0
  251. package/build-module/text-control/types.js.map +1 -0
  252. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -3
  253. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  254. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -5
  255. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  256. package/build-module/tools-panel/tools-panel-header/component.js +51 -36
  257. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  258. package/build-module/tooltip/index.js +2 -2
  259. package/build-module/tooltip/index.js.map +1 -1
  260. package/build-module/ui/spinner/component.js +1 -1
  261. package/build-module/ui/spinner/component.js.map +1 -1
  262. package/build-module/unit-control/index.js +3 -3
  263. package/build-module/unit-control/index.js.map +1 -1
  264. package/build-module/unit-control/styles/unit-control-styles.js +11 -20
  265. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  266. package/build-module/unit-control/utils.js.map +1 -1
  267. package/build-module/utils/colors-values.js +19 -23
  268. package/build-module/utils/colors-values.js.map +1 -1
  269. package/build-style/style-rtl.css +55 -170
  270. package/build-style/style.css +51 -170
  271. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  272. package/build-types/border-box-control/border-box-control/hook.d.ts +3 -1
  273. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  274. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  275. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  276. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +3 -1
  277. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  278. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  279. package/build-types/border-box-control/styles.d.ts +2 -2
  280. package/build-types/border-box-control/styles.d.ts.map +1 -1
  281. package/build-types/border-box-control/types.d.ts +40 -13
  282. package/build-types/border-box-control/types.d.ts.map +1 -1
  283. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  284. package/build-types/border-control/border-control/hook.d.ts +2 -1
  285. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  286. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  287. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -0
  288. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  289. package/build-types/border-control/styles.d.ts +2 -1
  290. package/build-types/border-control/styles.d.ts.map +1 -1
  291. package/build-types/border-control/types.d.ts +18 -6
  292. package/build-types/border-control/types.d.ts.map +1 -1
  293. package/build-types/button/index.d.ts.map +1 -1
  294. package/build-types/button-group/index.d.ts +25 -0
  295. package/build-types/button-group/index.d.ts.map +1 -0
  296. package/build-types/button-group/stories/index.d.ts +12 -0
  297. package/build-types/button-group/stories/index.d.ts.map +1 -0
  298. package/build-types/button-group/types.d.ts +11 -0
  299. package/build-types/button-group/types.d.ts.map +1 -0
  300. package/build-types/checkbox-control/index.d.ts +26 -0
  301. package/build-types/checkbox-control/index.d.ts.map +1 -0
  302. package/build-types/checkbox-control/stories/index.d.ts +13 -0
  303. package/build-types/checkbox-control/stories/index.d.ts.map +1 -0
  304. package/build-types/checkbox-control/types.d.ts +35 -0
  305. package/build-types/checkbox-control/types.d.ts.map +1 -0
  306. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  307. package/build-types/color-palette/index.d.ts.map +1 -1
  308. package/build-types/color-picker/styles.d.ts +3 -3
  309. package/build-types/date-time/date.d.ts +24 -0
  310. package/build-types/date-time/date.d.ts.map +1 -0
  311. package/build-types/date-time/index.d.ts +35 -0
  312. package/build-types/date-time/index.d.ts.map +1 -0
  313. package/build-types/date-time/stories/date.d.ts +14 -0
  314. package/build-types/date-time/stories/date.d.ts.map +1 -0
  315. package/build-types/date-time/stories/index.d.ts +14 -0
  316. package/build-types/date-time/stories/index.d.ts.map +1 -0
  317. package/build-types/date-time/stories/time.d.ts +12 -0
  318. package/build-types/date-time/stories/time.d.ts.map +1 -0
  319. package/build-types/date-time/stories/utils.d.ts +3 -0
  320. package/build-types/date-time/stories/utils.d.ts.map +1 -0
  321. package/build-types/date-time/test/date.d.ts +2 -0
  322. package/build-types/date-time/test/date.d.ts.map +1 -0
  323. package/build-types/date-time/test/time.d.ts +2 -0
  324. package/build-types/date-time/test/time.d.ts.map +1 -0
  325. package/build-types/date-time/test/utils.d.ts +2 -0
  326. package/build-types/date-time/test/utils.d.ts.map +1 -0
  327. package/build-types/date-time/time.d.ts +25 -0
  328. package/build-types/date-time/time.d.ts.map +1 -0
  329. package/build-types/date-time/timezone.d.ts +8 -0
  330. package/build-types/date-time/timezone.d.ts.map +1 -0
  331. package/build-types/date-time/types.d.ts +91 -0
  332. package/build-types/date-time/types.d.ts.map +1 -0
  333. package/build-types/date-time/utils.d.ts +15 -0
  334. package/build-types/date-time/utils.d.ts.map +1 -0
  335. package/build-types/disabled/index.d.ts.map +1 -1
  336. package/build-types/dropdown/index.d.ts.map +1 -1
  337. package/build-types/input-control/index.d.ts +23 -3
  338. package/build-types/input-control/index.d.ts.map +1 -1
  339. package/build-types/input-control/input-field.d.ts +1 -1
  340. package/build-types/input-control/input-field.d.ts.map +1 -1
  341. package/build-types/input-control/stories/index.d.ts +5 -5
  342. package/build-types/input-control/stories/index.d.ts.map +1 -1
  343. package/build-types/input-control/styles/input-control-styles.d.ts +1 -0
  344. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  345. package/build-types/input-control/types.d.ts +79 -3
  346. package/build-types/input-control/types.d.ts.map +1 -1
  347. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  348. package/build-types/popover/index.d.ts +5 -8
  349. package/build-types/popover/index.d.ts.map +1 -1
  350. package/build-types/resizable-box/index.d.ts +1 -1
  351. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  352. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  353. package/build-types/select-control/index.d.ts +30 -26
  354. package/build-types/select-control/index.d.ts.map +1 -1
  355. package/build-types/select-control/stories/index.d.ts +23 -0
  356. package/build-types/select-control/stories/index.d.ts.map +1 -0
  357. package/build-types/select-control/styles/select-control-styles.d.ts +3 -4
  358. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  359. package/build-types/select-control/test/select-control.d.ts +2 -0
  360. package/build-types/select-control/test/select-control.d.ts.map +1 -0
  361. package/build-types/select-control/types.d.ts +52 -1
  362. package/build-types/select-control/types.d.ts.map +1 -1
  363. package/build-types/text-control/index.d.ts +2 -2
  364. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  365. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  366. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  367. package/build-types/tools-panel/types.d.ts +0 -1
  368. package/build-types/tools-panel/types.d.ts.map +1 -1
  369. package/build-types/tooltip/index.d.ts.map +1 -1
  370. package/build-types/unit-control/index.d.ts +2 -2
  371. package/build-types/unit-control/index.d.ts.map +1 -1
  372. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  373. package/build-types/unit-control/test/index.d.ts +2 -0
  374. package/build-types/unit-control/test/index.d.ts.map +1 -0
  375. package/build-types/unit-control/test/utils.d.ts +2 -0
  376. package/build-types/unit-control/test/utils.d.ts.map +1 -0
  377. package/build-types/unit-control/types.d.ts +1 -1
  378. package/build-types/unit-control/types.d.ts.map +1 -1
  379. package/build-types/unit-control/utils.d.ts +3 -3
  380. package/build-types/unit-control/utils.d.ts.map +1 -1
  381. package/build-types/utils/colors-values.d.ts +6 -146
  382. package/build-types/utils/colors-values.d.ts.map +1 -1
  383. package/package.json +19 -19
  384. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +5 -3
  385. package/src/autocomplete/style.scss +1 -1
  386. package/src/border-box-control/border-box-control/README.md +10 -14
  387. package/src/border-box-control/border-box-control/component.tsx +21 -4
  388. package/src/border-box-control/border-box-control-linked-button/hook.ts +10 -6
  389. package/src/border-box-control/border-box-control-split-controls/component.tsx +24 -7
  390. package/src/border-box-control/border-box-control-visualizer/hook.ts +11 -6
  391. package/src/border-box-control/stories/index.js +1 -0
  392. package/src/border-box-control/styles.ts +15 -8
  393. package/src/border-box-control/types.ts +40 -14
  394. package/src/border-control/border-control/README.md +0 -7
  395. package/src/border-control/border-control/component.tsx +4 -2
  396. package/src/border-control/border-control/hook.ts +5 -2
  397. package/src/border-control/border-control-dropdown/component.tsx +18 -11
  398. package/src/border-control/border-control-dropdown/hook.ts +7 -5
  399. package/src/border-control/stories/index.js +1 -0
  400. package/src/border-control/styles.ts +82 -22
  401. package/src/border-control/types.ts +18 -6
  402. package/src/box-control/README.md +0 -74
  403. package/src/box-control/index.js +0 -15
  404. package/src/box-control/stories/index.js +0 -29
  405. package/src/box-control/utils.js +0 -7
  406. package/src/button/index.js +2 -4
  407. package/src/button/index.native.js +33 -18
  408. package/src/button/test/index.js +16 -1
  409. package/src/button-group/index.tsx +47 -0
  410. package/src/button-group/stories/index.tsx +41 -0
  411. package/src/button-group/types.ts +11 -0
  412. package/src/checkbox-control/README.md +10 -8
  413. package/src/checkbox-control/{index.js → index.tsx} +49 -14
  414. package/src/checkbox-control/stories/{index.js → index.tsx} +49 -27
  415. package/src/checkbox-control/types.ts +36 -0
  416. package/src/circular-option-picker/index.js +1 -2
  417. package/src/circular-option-picker/style.scss +1 -0
  418. package/src/color-palette/README.md +0 -1
  419. package/src/color-palette/index.js +6 -13
  420. package/src/color-palette/style.scss +3 -18
  421. package/src/color-palette/test/__snapshots__/index.js.snap +2 -3
  422. package/src/confirm-dialog/stories/index.js +87 -99
  423. package/src/date-time/README.md +13 -10
  424. package/src/date-time/{date.js → date.tsx} +49 -20
  425. package/src/date-time/{index.js → index.tsx} +31 -5
  426. package/src/date-time/stories/date.tsx +73 -0
  427. package/src/date-time/stories/index.tsx +75 -0
  428. package/src/date-time/stories/time.tsx +51 -0
  429. package/src/date-time/stories/utils.ts +9 -0
  430. package/src/date-time/test/date.tsx +127 -0
  431. package/src/date-time/test/{time.js → time.tsx} +34 -19
  432. package/src/date-time/test/{utils.js → utils.ts} +1 -1
  433. package/src/date-time/{time.js → time.tsx} +57 -46
  434. package/src/date-time/{timezone.js → timezone.tsx} +4 -3
  435. package/src/date-time/types.ts +106 -0
  436. package/src/date-time/utils.ts +20 -0
  437. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
  438. package/src/disabled/index.js +5 -90
  439. package/src/draggable/index.native.js +215 -0
  440. package/src/draggable/style.native.scss +3 -0
  441. package/src/dropdown/index.js +9 -4
  442. package/src/dropdown/style.scss +1 -1
  443. package/src/focal-point-picker/index.native.js +3 -3
  444. package/src/form-file-upload/test/index.js +20 -13
  445. package/src/heading/hook.ts +1 -1
  446. package/src/heading/test/__snapshots__/index.js.snap +3 -3
  447. package/src/index.js +0 -1
  448. package/src/index.native.js +1 -0
  449. package/src/input-control/README.md +3 -3
  450. package/src/input-control/index.tsx +23 -3
  451. package/src/input-control/stories/index.tsx +63 -0
  452. package/src/input-control/styles/input-control-styles.tsx +20 -7
  453. package/src/input-control/types.ts +79 -2
  454. package/src/item-group/stories/index.js +22 -18
  455. package/src/menu-item/style.scss +10 -0
  456. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  457. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +9 -2
  458. package/src/mobile/bottom-sheet/index.native.js +1 -1
  459. package/src/mobile/bottom-sheet-select-control/index.native.js +8 -2
  460. package/src/mobile/html-text-input/index.native.js +45 -29
  461. package/src/mobile/html-text-input/style.android.scss +2 -15
  462. package/src/mobile/html-text-input/style.ios.scss +2 -15
  463. package/src/mobile/html-text-input/{style-common.native.scss → style.scss} +16 -0
  464. package/src/mobile/keyboard-aware-flat-list/index.android.js +15 -5
  465. package/src/mobile/keyboard-aware-flat-list/index.ios.js +75 -46
  466. package/src/mobile/link-settings/test/link-settings-navigation.native.js +9 -1
  467. package/src/navigation/styles/navigation-styles.js +5 -5
  468. package/src/navigator/stories/index.js +16 -10
  469. package/src/notice/index.native.js +44 -54
  470. package/src/notice/list.native.js +27 -51
  471. package/src/notice/style.native.scss +1 -0
  472. package/src/palette-edit/index.js +37 -9
  473. package/src/palette-edit/style.scss +0 -7
  474. package/src/palette-edit/test/index.js +63 -0
  475. package/src/panel/README.md +1 -1
  476. package/src/placeholder/test/index.js +7 -0
  477. package/src/popover/README.md +7 -9
  478. package/src/popover/index.js +242 -417
  479. package/src/popover/style.scss +20 -190
  480. package/src/popover/test/__snapshots__/index.js.snap +6 -18
  481. package/src/query-controls/README.md +2 -2
  482. package/src/resizable-box/resize-tooltip/utils.ts +4 -5
  483. package/src/sandbox/index.js +2 -2
  484. package/src/sandbox/index.native.js +1 -1
  485. package/src/select-control/README.md +2 -2
  486. package/src/select-control/index.tsx +30 -29
  487. package/src/select-control/stories/index.tsx +90 -0
  488. package/src/select-control/styles/select-control-styles.ts +16 -12
  489. package/src/select-control/test/{select-control.js → select-control.tsx} +2 -2
  490. package/src/select-control/types.ts +66 -1
  491. package/src/surface/styles.js +1 -1
  492. package/src/tab-panel/style.scss +1 -1
  493. package/src/text/hook.js +1 -1
  494. package/src/text/styles/text-mixins.native.js +2 -2
  495. package/src/text/styles.js +1 -1
  496. package/src/text/test/__snapshots__/{index.js.snap → index.tsx.snap} +16 -0
  497. package/src/text/test/{index.js → index.tsx} +12 -6
  498. package/src/text-control/index.tsx +84 -0
  499. package/src/text-control/stories/index.tsx +66 -0
  500. package/src/text-control/types.ts +29 -0
  501. package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -10
  502. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -3
  503. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -5
  504. package/src/toolbar-group/style.scss +20 -0
  505. package/src/tools-panel/test/__snapshots__/index.js.snap +2 -2
  506. package/src/tools-panel/test/index.js +71 -18
  507. package/src/tools-panel/tools-panel-header/component.tsx +75 -33
  508. package/src/tools-panel/types.ts +0 -1
  509. package/src/tooltip/index.js +8 -2
  510. package/src/tooltip/style.scss +2 -4
  511. package/src/tooltip/test/index.js +6 -0
  512. package/src/tooltip/test/index.native.js +1 -1
  513. package/src/ui/spinner/component.js +1 -1
  514. package/src/ui/spinner/test/__snapshots__/index.js.snap +3 -3
  515. package/src/unit-control/index.tsx +2 -5
  516. package/src/unit-control/styles/unit-control-styles.ts +3 -13
  517. package/src/unit-control/test/__snapshots__/index.tsx.snap +33 -0
  518. package/src/unit-control/test/{index.js → index.tsx} +295 -166
  519. package/src/unit-control/test/{utils.js → utils.ts} +38 -19
  520. package/src/unit-control/types.ts +4 -1
  521. package/src/unit-control/utils.ts +5 -3
  522. package/src/utils/colors-values.js +18 -22
  523. package/tsconfig.json +14 -3
  524. package/tsconfig.tsbuildinfo +1 -1
  525. package/build/box-control/visualizer.js +0 -165
  526. package/build/box-control/visualizer.js.map +0 -1
  527. package/build/flyout/context.js +0 -23
  528. package/build/flyout/context.js.map +0 -1
  529. package/build/flyout/flyout/component.js +0 -106
  530. package/build/flyout/flyout/component.js.map +0 -1
  531. package/build/flyout/flyout/hook.js +0 -53
  532. package/build/flyout/flyout/hook.js.map +0 -1
  533. package/build/flyout/flyout/index.js +0 -24
  534. package/build/flyout/flyout/index.js.map +0 -1
  535. package/build/flyout/flyout-content/component.js +0 -65
  536. package/build/flyout/flyout-content/component.js.map +0 -1
  537. package/build/flyout/flyout-content/index.js +0 -16
  538. package/build/flyout/flyout-content/index.js.map +0 -1
  539. package/build/flyout/index.js +0 -16
  540. package/build/flyout/index.js.map +0 -1
  541. package/build/flyout/styles.js +0 -46
  542. package/build/flyout/styles.js.map +0 -1
  543. package/build/flyout/utils.js +0 -36
  544. package/build/flyout/utils.js.map +0 -1
  545. package/build/mobile/html-text-input/container.android.js +0 -41
  546. package/build/mobile/html-text-input/container.android.js.map +0 -1
  547. package/build/mobile/html-text-input/container.ios.js +0 -60
  548. package/build/mobile/html-text-input/container.ios.js.map +0 -1
  549. package/build/popover/utils.js +0 -322
  550. package/build/popover/utils.js.map +0 -1
  551. package/build-module/box-control/visualizer.js +0 -154
  552. package/build-module/box-control/visualizer.js.map +0 -1
  553. package/build-module/flyout/context.js +0 -11
  554. package/build-module/flyout/context.js.map +0 -1
  555. package/build-module/flyout/flyout/component.js +0 -89
  556. package/build-module/flyout/flyout/component.js.map +0 -1
  557. package/build-module/flyout/flyout/hook.js +0 -44
  558. package/build-module/flyout/flyout/hook.js.map +0 -1
  559. package/build-module/flyout/flyout/index.js +0 -3
  560. package/build-module/flyout/flyout/index.js.map +0 -1
  561. package/build-module/flyout/flyout-content/component.js +0 -51
  562. package/build-module/flyout/flyout-content/component.js.map +0 -1
  563. package/build-module/flyout/flyout-content/index.js +0 -2
  564. package/build-module/flyout/flyout-content/index.js.map +0 -1
  565. package/build-module/flyout/index.js +0 -2
  566. package/build-module/flyout/index.js.map +0 -1
  567. package/build-module/flyout/styles.js +0 -27
  568. package/build-module/flyout/styles.js.map +0 -1
  569. package/build-module/flyout/utils.js +0 -25
  570. package/build-module/flyout/utils.js.map +0 -1
  571. package/build-module/mobile/html-text-input/container.android.js +0 -29
  572. package/build-module/mobile/html-text-input/container.android.js.map +0 -1
  573. package/build-module/mobile/html-text-input/container.ios.js +0 -48
  574. package/build-module/mobile/html-text-input/container.ios.js.map +0 -1
  575. package/build-module/popover/utils.js +0 -308
  576. package/build-module/popover/utils.js.map +0 -1
  577. package/build-types/flyout/context.d.ts +0 -6
  578. package/build-types/flyout/context.d.ts.map +0 -1
  579. package/build-types/flyout/flyout/component.d.ts +0 -21
  580. package/build-types/flyout/flyout/component.d.ts.map +0 -1
  581. package/build-types/flyout/flyout/hook.d.ts +0 -270
  582. package/build-types/flyout/flyout/hook.d.ts.map +0 -1
  583. package/build-types/flyout/flyout/index.d.ts +0 -3
  584. package/build-types/flyout/flyout/index.d.ts.map +0 -1
  585. package/build-types/flyout/flyout-content/component.d.ts +0 -3
  586. package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
  587. package/build-types/flyout/flyout-content/index.d.ts +0 -2
  588. package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
  589. package/build-types/flyout/index.d.ts +0 -2
  590. package/build-types/flyout/index.d.ts.map +0 -1
  591. package/build-types/flyout/styles.d.ts +0 -22
  592. package/build-types/flyout/styles.d.ts.map +0 -1
  593. package/build-types/flyout/types.d.ts +0 -80
  594. package/build-types/flyout/types.d.ts.map +0 -1
  595. package/build-types/flyout/utils.d.ts +0 -8
  596. package/build-types/flyout/utils.d.ts.map +0 -1
  597. package/build-types/popover/utils.d.ts +0 -70
  598. package/build-types/popover/utils.d.ts.map +0 -1
  599. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -19
  600. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +0 -1
  601. package/src/box-control/visualizer.js +0 -116
  602. package/src/button-group/index.js +0 -17
  603. package/src/button-group/stories/index.js +0 -21
  604. package/src/date-time/stories/date.js +0 -17
  605. package/src/date-time/stories/index.js +0 -72
  606. package/src/date-time/stories/time.js +0 -32
  607. package/src/date-time/test/date.js +0 -97
  608. package/src/date-time/utils.js +0 -18
  609. package/src/flyout/context.js +0 -10
  610. package/src/flyout/flyout/README.md +0 -98
  611. package/src/flyout/flyout/component.js +0 -111
  612. package/src/flyout/flyout/hook.js +0 -45
  613. package/src/flyout/flyout/index.js +0 -2
  614. package/src/flyout/flyout-content/component.js +0 -53
  615. package/src/flyout/flyout-content/index.js +0 -1
  616. package/src/flyout/index.js +0 -1
  617. package/src/flyout/stories/index.js +0 -24
  618. package/src/flyout/styles.ts +0 -41
  619. package/src/flyout/test/__snapshots__/index.js.snap +0 -186
  620. package/src/flyout/test/index.js +0 -103
  621. package/src/flyout/types.ts +0 -84
  622. package/src/flyout/utils.js +0 -23
  623. package/src/input-control/stories/index.js +0 -71
  624. package/src/mobile/html-text-input/container.android.js +0 -23
  625. package/src/mobile/html-text-input/container.ios.js +0 -50
  626. package/src/popover/test/utils.js +0 -304
  627. package/src/popover/utils.js +0 -396
  628. package/src/select-control/stories/index.js +0 -104
  629. package/src/text-control/index.js +0 -72
  630. package/src/text-control/stories/index.js +0 -46
@@ -61,6 +61,7 @@ export {
61
61
  filterUnitsWithSettings as filterUnitsWithSettings,
62
62
  } from './unit-control/utils';
63
63
  export { default as Disabled } from './disabled';
64
+ export { default as Draggable, DraggableTrigger } from './draggable';
64
65
 
65
66
  // Higher-Order Components.
66
67
  export { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';
@@ -18,7 +18,7 @@ const Example = () => {
18
18
  return (
19
19
  <InputControl
20
20
  value={ value }
21
- onChange={ ( nextValue ) => setValue( nextValue ) }
21
+ onChange={ ( nextValue ) => setValue( nextValue ?? '' ) }
22
22
  />
23
23
  );
24
24
  };
@@ -105,5 +105,5 @@ Type of the input element to render. Defaults to "text".
105
105
 
106
106
  The current value of the input.
107
107
 
108
- - Type: `String | Number`
109
- - Required: Yes
108
+ - Type: `String`
109
+ - Required: No
@@ -25,7 +25,7 @@ function useUniqueId( idProp?: string ) {
25
25
  return idProp || id;
26
26
  }
27
27
 
28
- export function InputControl(
28
+ export function UnforwardedInputControl(
29
29
  {
30
30
  __unstableStateReducer: stateReducer = ( state ) => state,
31
31
  __unstableInputWidth,
@@ -88,6 +88,26 @@ export function InputControl(
88
88
  );
89
89
  }
90
90
 
91
- const ForwardedComponent = forwardRef( InputControl );
91
+ /**
92
+ * InputControl components let users enter and edit text. This is an experimental component
93
+ * intended to (in time) merge with or replace `TextControl`.
94
+ *
95
+ * ```jsx
96
+ * import { __experimentalInputControl as InputControl } from '@wordpress/components';
97
+ * import { useState } from '@wordpress/compose';
98
+ *
99
+ * const Example = () => {
100
+ * const [ value, setValue ] = useState( '' );
101
+ *
102
+ * return (
103
+ * <InputControl
104
+ * value={ value }
105
+ * onChange={ ( nextValue ) => setValue( nextValue ?? '' ) }
106
+ * />
107
+ * );
108
+ * };
109
+ * ```
110
+ */
111
+ export const InputControl = forwardRef( UnforwardedInputControl );
92
112
 
93
- export default ForwardedComponent;
113
+ export default InputControl;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ComponentMeta, ComponentStory } from '@storybook/react';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import InputControl from '..';
10
+
11
+ const meta: ComponentMeta< typeof InputControl > = {
12
+ title: 'Components (Experimental)/InputControl',
13
+ component: InputControl,
14
+ argTypes: {
15
+ __unstableInputWidth: { control: { type: 'text' } },
16
+ __unstableStateReducer: { control: { type: null } },
17
+ onChange: { control: { type: null } },
18
+ prefix: { control: { type: null } },
19
+ suffix: { control: { type: null } },
20
+ type: { control: { type: 'text' } },
21
+ value: { control: { disable: true } },
22
+ },
23
+ parameters: {
24
+ controls: { expanded: true },
25
+ docs: { source: { state: 'open' } },
26
+ },
27
+ };
28
+ export default meta;
29
+
30
+ const Template: ComponentStory< typeof InputControl > = ( args ) => (
31
+ <InputControl { ...args } />
32
+ );
33
+
34
+ export const Default = Template.bind( {} );
35
+ Default.args = {
36
+ label: 'Value',
37
+ placeholder: 'Placeholder',
38
+ };
39
+
40
+ export const WithPrefix = Template.bind( {} );
41
+ WithPrefix.args = {
42
+ ...Default.args,
43
+ prefix: <span style={ { paddingLeft: 8 } }>@</span>,
44
+ };
45
+
46
+ export const WithSuffix = Template.bind( {} );
47
+ WithSuffix.args = {
48
+ ...Default.args,
49
+ suffix: <button style={ { marginRight: 4 } }>Send</button>,
50
+ };
51
+
52
+ export const WithSideLabel = Template.bind( {} );
53
+ WithSideLabel.args = {
54
+ ...Default.args,
55
+ labelPosition: 'side',
56
+ };
57
+
58
+ export const WithEdgeLabel = Template.bind( {} );
59
+ WithEdgeLabel.args = {
60
+ ...Default.args,
61
+ __unstableInputWidth: '20em',
62
+ labelPosition: 'edge',
63
+ };
@@ -105,6 +105,7 @@ export const Container = styled.div< ContainerProps >`
105
105
  `;
106
106
 
107
107
  type InputProps = {
108
+ __next36pxDefaultSize?: boolean;
108
109
  disabled?: boolean;
109
110
  inputSize?: Size;
110
111
  isDragging?: boolean;
@@ -140,14 +141,17 @@ const fontSizeStyles = ( { inputSize: size }: InputProps ) => {
140
141
  `;
141
142
  };
142
143
 
143
- const sizeStyles = ( { inputSize: size }: InputProps ) => {
144
+ const sizeStyles = ( {
145
+ inputSize: size,
146
+ __next36pxDefaultSize,
147
+ }: InputProps ) => {
144
148
  const sizes = {
145
149
  default: {
146
- height: 30,
150
+ height: 36,
147
151
  lineHeight: 1,
148
- minHeight: 30,
149
- paddingLeft: 8,
150
- paddingRight: 8,
152
+ minHeight: 36,
153
+ paddingLeft: 16,
154
+ paddingRight: 16,
151
155
  },
152
156
  small: {
153
157
  height: 24,
@@ -165,6 +169,16 @@ const sizeStyles = ( { inputSize: size }: InputProps ) => {
165
169
  },
166
170
  };
167
171
 
172
+ if ( ! __next36pxDefaultSize ) {
173
+ sizes.default = {
174
+ height: 30,
175
+ lineHeight: 1,
176
+ minHeight: 30,
177
+ paddingLeft: 8,
178
+ paddingRight: 8,
179
+ };
180
+ }
181
+
168
182
  const style = sizes[ size as Size ] || sizes.default;
169
183
 
170
184
  return css( style );
@@ -210,7 +224,7 @@ export const Input = styled.input< InputProps >`
210
224
  box-sizing: border-box;
211
225
  border: none;
212
226
  box-shadow: none !important;
213
- color: ${ COLORS.black };
227
+ color: ${ COLORS.gray[ 900 ] };
214
228
  display: block;
215
229
  font-family: inherit;
216
230
  margin: 0;
@@ -245,7 +259,6 @@ const labelMargin = ( {
245
259
  const BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`
246
260
  &&& {
247
261
  box-sizing: border-box;
248
- color: currentColor;
249
262
  display: block;
250
263
  padding-top: 0;
251
264
  padding-bottom: 0;
@@ -7,6 +7,7 @@ import type {
7
7
  ChangeEvent,
8
8
  SyntheticEvent,
9
9
  PointerEvent,
10
+ HTMLInputTypeAttribute,
10
11
  } from 'react';
11
12
  import type { useDrag } from '@use-gesture/react';
12
13
 
@@ -14,8 +15,8 @@ import type { useDrag } from '@use-gesture/react';
14
15
  * Internal dependencies
15
16
  */
16
17
  import type { StateReducer } from './reducer/state';
17
- import type { FlexProps } from '../flex/types';
18
18
  import type { WordPressComponentProps } from '../ui/context';
19
+ import type { FlexProps } from '../flex/types';
19
20
 
20
21
  export type LabelPosition = 'top' | 'bottom' | 'side' | 'edge';
21
22
 
@@ -26,10 +27,38 @@ export type DragProps = Parameters< Parameters< typeof useDrag >[ 0 ] >[ 0 ];
26
27
  export type Size = 'default' | 'small' | '__unstable-large';
27
28
 
28
29
  interface BaseProps {
30
+ /**
31
+ * Start opting into the larger default height that will become the default size in a future version.
32
+ *
33
+ * @default false
34
+ */
35
+ __next36pxDefaultSize?: boolean;
29
36
  __unstableInputWidth?: CSSProperties[ 'width' ];
37
+ /**
38
+ * If true, the label will only be visible to screen readers.
39
+ *
40
+ * @default false
41
+ */
30
42
  hideLabelFromVision?: boolean;
43
+ /**
44
+ * Whether the component should be in a focused state.
45
+ * Used to coordinate focus states when the actual focused element and the component handling
46
+ * visual focus are separate.
47
+ *
48
+ * @default false
49
+ */
31
50
  isFocused: boolean;
51
+ /**
52
+ * The position of the label.
53
+ *
54
+ * @default 'top'
55
+ */
32
56
  labelPosition?: LabelPosition;
57
+ /**
58
+ * Adjusts the size of the input.
59
+ *
60
+ * @default 'default'
61
+ */
33
62
  size?: Size;
34
63
  }
35
64
 
@@ -39,10 +68,35 @@ export type InputChangeCallback<
39
68
  > = ( nextValue: string | undefined, extra: { event: E } & P ) => void;
40
69
 
41
70
  export interface InputFieldProps extends BaseProps {
71
+ /**
72
+ * Determines the drag axis.
73
+ *
74
+ * @default 'n'
75
+ */
42
76
  dragDirection?: DragDirection;
77
+ /**
78
+ * If `isDragEnabled` is true, this controls the amount of `px` to have been dragged before
79
+ * the drag gesture is actually triggered.
80
+ *
81
+ * @default 10
82
+ */
43
83
  dragThreshold?: number;
84
+ /**
85
+ * If true, enables mouse drag gestures.
86
+ *
87
+ * @default false
88
+ */
44
89
  isDragEnabled?: boolean;
90
+ /**
91
+ * If true, the `ENTER` key press is required in order to trigger an `onChange`.
92
+ * If enabled, a change is also triggered when tabbing away (`onBlur`).
93
+ *
94
+ * @default false
95
+ */
45
96
  isPressEnterToChange?: boolean;
97
+ /**
98
+ * A function that receives the value of the input.
99
+ */
46
100
  onChange?: InputChangeCallback;
47
101
  onValidate?: (
48
102
  nextValue: string,
@@ -50,24 +104,47 @@ export interface InputFieldProps extends BaseProps {
50
104
  ) => void;
51
105
  setIsFocused: ( isFocused: boolean ) => void;
52
106
  stateReducer?: StateReducer;
107
+ /**
108
+ * The current value of the input.
109
+ */
53
110
  value?: string;
54
111
  onDragEnd?: ( dragProps: DragProps ) => void;
55
112
  onDragStart?: ( dragProps: DragProps ) => void;
56
113
  onDrag?: ( dragProps: DragProps ) => void;
114
+ /**
115
+ * Type of the input element to render.
116
+ *
117
+ * @default 'text'
118
+ */
119
+ type?: HTMLInputTypeAttribute;
57
120
  }
58
121
 
59
122
  export interface InputBaseProps extends BaseProps, FlexProps {
60
123
  children: ReactNode;
124
+ /**
125
+ * Renders an element on the left side of the input.
126
+ */
61
127
  prefix?: ReactNode;
128
+ /**
129
+ * Renders an element on the right side of the input.
130
+ */
62
131
  suffix?: ReactNode;
132
+ /**
133
+ * If true, the `input` will be disabled.
134
+ *
135
+ * @default false
136
+ */
63
137
  disabled?: boolean;
64
138
  className?: string;
65
139
  id?: string;
140
+ /**
141
+ * If this property is added, a label will be generated using label property as the content.
142
+ */
66
143
  label?: ReactNode;
67
144
  }
68
145
 
69
146
  export interface InputControlProps
70
- extends Omit< InputBaseProps, 'children' | 'isFocused' >,
147
+ extends Omit< InputBaseProps, 'children' | 'isFocused' | keyof FlexProps >,
71
148
  /**
72
149
  * The `prefix` prop in `WordPressComponentProps< InputFieldProps, 'input', false >` comes from the
73
150
  * `HTMLInputAttributes` and clashes with the one from `InputBaseProps`. So we have to omit it from
@@ -21,7 +21,7 @@ import { useCx } from '../../utils';
21
21
  import { ItemGroup, Item } from '..';
22
22
  import Button from '../../button';
23
23
  import { FlexItem, FlexBlock } from '../../flex';
24
- import { Flyout } from '../../flyout';
24
+ import Dropdown from '../../dropdown';
25
25
  import { HStack } from '../../h-stack';
26
26
  import Icon from '../../icon';
27
27
  import { Text } from '../../text';
@@ -90,23 +90,27 @@ export const _default = () => {
90
90
  };
91
91
 
92
92
  export const dropdown = () => (
93
- <Flyout
94
- style={ { width: '350px' } }
95
- trigger={ <Button>Open Popover</Button> }
96
- >
97
- <ItemGroup style={ { padding: 4 } }>
98
- <Item>Code is Poetry (no click handlers)</Item>
99
- <Item onClick={ () => alert( 'WordPress.org' ) }>
100
- Code is Poetry Click me!
101
- </Item>
102
- <Item onClick={ () => alert( 'WordPress.org' ) }>
103
- Code is Poetry — Click me!
104
- </Item>
105
- <Item onClick={ () => alert( 'WordPress.org' ) }>
106
- Code is Poetry — Click me!
107
- </Item>
108
- </ItemGroup>
109
- </Flyout>
93
+ <Dropdown
94
+ renderToggle={ ( { isOpen, onToggle } ) => (
95
+ <Button onClick={ onToggle } aria-expanded={ isOpen }>
96
+ Open Popover
97
+ </Button>
98
+ ) }
99
+ renderContent={ () => (
100
+ <ItemGroup style={ { minWidth: 350, padding: 4 } }>
101
+ <Item>Code is Poetry (no click handlers)</Item>
102
+ <Item onClick={ () => alert( 'WordPress.org' ) }>
103
+ Code is Poetry — Click me!
104
+ </Item>
105
+ <Item onClick={ () => alert( 'WordPress.org' ) }>
106
+ Code is Poetry — Click me!
107
+ </Item>
108
+ <Item onClick={ () => alert( 'WordPress.org' ) }>
109
+ Code is Poetry — Click me!
110
+ </Item>
111
+ </ItemGroup>
112
+ ) }
113
+ />
110
114
  );
111
115
 
112
116
  const SimpleColorSwatch = ( { color, style } ) => (
@@ -38,6 +38,16 @@
38
38
  margin-right: 0;
39
39
  }
40
40
  }
41
+
42
+ &:disabled,
43
+ &[aria-disabled="true"] {
44
+ // Override the button component's tertiary background and color.
45
+ &.is-tertiary {
46
+ background: none;
47
+ color: var(--wp-admin-theme-color-darker-10);
48
+ opacity: 0.3;
49
+ }
50
+ }
41
51
  }
42
52
 
43
53
  .components-menu-item__info-wrapper {
@@ -69,7 +69,7 @@ const BottomSheetNavigationScreen = ( {
69
69
  * Ideally, we refactor onHandleHardwareButtonPress to manage multiple
70
70
  * callbacks triggered based upon which screen is currently active.
71
71
  *
72
- * Related: https://git.io/JD2no
72
+ * Related: https://github.com/WordPress/gutenberg/pull/36328#discussion_r768897546
73
73
  */
74
74
  }, [] )
75
75
  );
@@ -27,7 +27,14 @@ const TestScreen = ( { fullScreen, name, navigateTo } ) => {
27
27
  );
28
28
  };
29
29
 
30
- jest.useFakeTimers( 'legacy' );
30
+ beforeAll( () => {
31
+ jest.useFakeTimers( 'legacy' );
32
+ } );
33
+
34
+ afterAll( () => {
35
+ jest.runOnlyPendingTimers();
36
+ jest.useRealTimers();
37
+ } );
31
38
 
32
39
  it( 'animates height transitioning from non-full-screen to full-screen', async () => {
33
40
  const screen = render(
@@ -101,7 +108,7 @@ it( 'animates height transitioning from full-screen to non-full-screen', async (
101
108
  );
102
109
  // Navigate to screen 1
103
110
  fireEvent.press(
104
- // Use custom waitFor due to https://git.io/JYYGE
111
+ // Use custom waitFor due to https://github.com/callstack/react-native-testing-library/issues/379
105
112
  await waitFor( () => screen.getByText( /test-screen-2/ ) )
106
113
  );
107
114
  // Await navigation screen to allow async state updates to complete
@@ -148,7 +148,7 @@ class BottomSheet extends Component {
148
148
  // TODO: Reinstate animations, possibly replacing `LayoutAnimation` with
149
149
  // more nuanced `Animated` usage or replacing our custom `BottomSheet`
150
150
  // with `@gorhom/bottom-sheet`. This animation was disabled to avoid a
151
- // preexisting bug: https://git.io/JMPCV
151
+ // preexisting bug: https://github.com/WordPress/gutenberg/issues/30562
152
152
  // this.performRegularLayoutAnimation( {
153
153
  // useLastLayoutAnimation: false,
154
154
  // } );.
@@ -57,11 +57,16 @@ const BottomSheetSelectControl = ( {
57
57
  value={ selectedOption.label }
58
58
  onPress={ openSubSheet }
59
59
  accessibilityRole={ 'button' }
60
- accessibilityLabel={ selectedOption.label }
60
+ accessibilityLabel={ sprintf(
61
+ // translators: %1$s: Select control button label e.g. "Button width". %2$s: Select control option value e.g: "Auto, 25%".
62
+ __( '%1$s. Currently selected: %2$s' ),
63
+ label,
64
+ selectedOption.label
65
+ ) }
61
66
  accessibilityHint={ sprintf(
62
67
  // translators: %s: Select control button label e.g. "Button width"
63
68
  __( 'Navigates to select %s' ),
64
- selectedOption.label
69
+ label
65
70
  ) }
66
71
  >
67
72
  <Icon icon={ chevronRight }></Icon>
@@ -82,6 +87,7 @@ const BottomSheetSelectControl = ( {
82
87
  customActionButton
83
88
  separatorType="none"
84
89
  label={ item.label }
90
+ icon={ item.icon }
85
91
  onPress={ onChangeValue( item.value ) }
86
92
  leftAlign={ true }
87
93
  key={ index }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { TextInput } from 'react-native';
4
+ import { ScrollView, TextInput } from 'react-native';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -20,7 +20,7 @@ import {
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- import HTMLInputContainer from './container';
23
+ import KeyboardAvoidingView from '../keyboard-avoiding-view';
24
24
  import styles from './style.scss';
25
25
 
26
26
  export class HTMLTextInput extends Component {
@@ -73,7 +73,13 @@ export class HTMLTextInput extends Component {
73
73
  }
74
74
 
75
75
  render() {
76
- const { getStylesFromColorScheme, style } = this.props;
76
+ const {
77
+ editTitle,
78
+ getStylesFromColorScheme,
79
+ parentHeight,
80
+ style,
81
+ title,
82
+ } = this.props;
77
83
  const titleStyle = [
78
84
  styles.htmlViewTitle,
79
85
  style?.text && { color: style.text },
@@ -90,32 +96,42 @@ export class HTMLTextInput extends Component {
90
96
  ...( style?.text && { color: style.text } ),
91
97
  };
92
98
  return (
93
- <HTMLInputContainer parentHeight={ this.props.parentHeight }>
94
- <TextInput
95
- autoCorrect={ false }
96
- accessibilityLabel="html-view-title"
97
- textAlignVertical="center"
98
- numberOfLines={ 1 }
99
- style={ titleStyle }
100
- value={ this.props.title }
101
- placeholder={ __( 'Add title' ) }
102
- placeholderTextColor={ placeholderStyle.color }
103
- onChangeText={ this.props.editTitle }
104
- />
105
- <TextInput
106
- autoCorrect={ false }
107
- accessibilityLabel="html-view-content"
108
- textAlignVertical="top"
109
- multiline
110
- style={ htmlStyle }
111
- value={ this.state.value }
112
- onChangeText={ this.edit }
113
- onBlur={ this.stopEditing }
114
- placeholder={ __( 'Start writing…' ) }
115
- placeholderTextColor={ placeholderStyle.color }
116
- scrollEnabled={ HTMLInputContainer.scrollEnabled }
117
- />
118
- </HTMLInputContainer>
99
+ <KeyboardAvoidingView
100
+ style={ styles.keyboardAvoidingView }
101
+ parentHeight={ parentHeight }
102
+ >
103
+ <ScrollView style={ styles.scrollView }>
104
+ <TextInput
105
+ autoCorrect={ false }
106
+ accessibilityLabel="html-view-title"
107
+ textAlignVertical="center"
108
+ numberOfLines={ 1 }
109
+ style={ titleStyle }
110
+ value={ title }
111
+ placeholder={ __( 'Add title' ) }
112
+ placeholderTextColor={ placeholderStyle.color }
113
+ onChangeText={ editTitle }
114
+ />
115
+ <TextInput
116
+ ref={ this.contentTextInputRef }
117
+ autoCorrect={ false }
118
+ accessibilityLabel="html-view-content"
119
+ textAlignVertical="top"
120
+ multiline
121
+ style={ htmlStyle }
122
+ value={ this.state.value }
123
+ onChangeText={ this.edit }
124
+ onBlur={ this.stopEditing }
125
+ placeholder={ __( 'Start writing…' ) }
126
+ placeholderTextColor={ placeholderStyle.color }
127
+ scrollEnabled={ false }
128
+ // [Only iOS] This prop prevents the text input from
129
+ // automatically getting focused after scrolling
130
+ // content.
131
+ rejectResponderTermination={ false }
132
+ />
133
+ </ScrollView>
134
+ </KeyboardAvoidingView>
119
135
  );
120
136
  }
121
137
  }
@@ -1,21 +1,8 @@
1
- @import "./style-common.scss";
2
-
3
- .htmlView {
4
- font-family: $htmlFont;
5
- padding-left: $padding;
6
- padding-right: $padding;
7
- padding-top: $padding;
8
- padding-bottom: $padding + 16;
9
- }
1
+ @import "./style.scss";
10
2
 
11
3
  .htmlViewTitle {
12
4
  font-family: $htmlFont;
13
5
  padding-left: $padding;
14
6
  padding-right: $padding;
15
- padding-top: $padding;
16
- padding-bottom: $padding;
17
- }
18
-
19
- .scrollView {
20
- flex: 1;
7
+ margin-top: $padding * 2;
21
8
  }
@@ -1,17 +1,4 @@
1
- @import "./style-common.scss";
2
-
3
- $title-height: 32;
4
-
5
- .htmlView {
6
- font-family: $htmlFont;
7
- padding-left: $padding;
8
- padding-right: $padding;
9
- padding-bottom: $title-height + $padding;
10
- }
11
-
12
- .htmlViewDark {
13
- color: $textColorDark;
14
- }
1
+ @import "./style.scss";
15
2
 
16
3
  .htmlViewTitle {
17
4
  font-family: $htmlFont;
@@ -19,5 +6,5 @@ $title-height: 32;
19
6
  padding-right: $padding;
20
7
  padding-top: $padding;
21
8
  padding-bottom: $padding;
22
- height: $title-height;
9
+ margin-top: $padding * 2;
23
10
  }
@@ -21,3 +21,19 @@ $textColorDark: $white;
21
21
  .placeholderDark {
22
22
  color: $gray-50;
23
23
  }
24
+
25
+ .htmlView {
26
+ font-family: $htmlFont;
27
+ padding-left: $padding;
28
+ padding-right: $padding;
29
+ padding-top: $padding;
30
+ padding-bottom: $padding + 16;
31
+ }
32
+
33
+ .htmlViewDark {
34
+ color: $textColorDark;
35
+ }
36
+
37
+ .scrollView {
38
+ flex: 1;
39
+ }
@@ -2,17 +2,27 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { FlatList } from 'react-native';
5
+ import Animated, { useAnimatedScrollHandler } from 'react-native-reanimated';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
10
  import KeyboardAvoidingView from '../keyboard-avoiding-view';
10
11
 
11
- export const KeyboardAwareFlatList = ( props ) => (
12
- <KeyboardAvoidingView style={ { flex: 1 } }>
13
- <FlatList { ...props } />
14
- </KeyboardAvoidingView>
15
- );
12
+ const AnimatedFlatList = Animated.createAnimatedComponent( FlatList );
13
+
14
+ export const KeyboardAwareFlatList = ( { innerRef, onScroll, ...props } ) => {
15
+ const scrollHandler = useAnimatedScrollHandler( { onScroll } );
16
+ return (
17
+ <KeyboardAvoidingView style={ { flex: 1 } }>
18
+ <AnimatedFlatList
19
+ ref={ innerRef }
20
+ onScroll={ scrollHandler }
21
+ { ...props }
22
+ />
23
+ </KeyboardAvoidingView>
24
+ );
25
+ };
16
26
 
17
27
  KeyboardAwareFlatList.handleCaretVerticalPositionChange = () => {
18
28
  // no need to handle on Android, it is system managed