@wordpress/components 19.9.0 → 19.12.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 (816) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/CONTRIBUTING.md +80 -7
  3. package/README.md +1 -1
  4. package/build/alignment-matrix-control/index.js +5 -2
  5. package/build/alignment-matrix-control/index.js.map +1 -1
  6. package/build/angle-picker-control/angle-circle.js +5 -7
  7. package/build/angle-picker-control/angle-circle.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.js +1 -1
  9. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  10. package/build/autocomplete/autocompleter-ui.native.js +2 -2
  11. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  12. package/build/autocomplete/index.js +12 -10
  13. package/build/autocomplete/index.js.map +1 -1
  14. package/build/border-box-control/border-box-control/component.js +22 -7
  15. package/build/border-box-control/border-box-control/component.js.map +1 -1
  16. package/build/border-box-control/border-box-control/hook.js +2 -2
  17. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  18. package/build/border-box-control/border-box-control-linked-button/hook.js +3 -2
  19. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  20. package/build/border-box-control/border-box-control-split-controls/component.js +23 -8
  21. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  22. package/build/border-box-control/border-box-control-split-controls/hook.js +13 -4
  23. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  24. package/build/border-box-control/border-box-control-visualizer/hook.js +7 -2
  25. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  26. package/build/border-box-control/styles.js +25 -19
  27. package/build/border-box-control/styles.js.map +1 -1
  28. package/build/border-control/border-control/component.js +5 -3
  29. package/build/border-control/border-control/component.js.map +1 -1
  30. package/build/border-control/border-control/hook.js +8 -5
  31. package/build/border-control/border-control/hook.js.map +1 -1
  32. package/build/border-control/border-control-dropdown/component.js +6 -2
  33. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  34. package/build/border-control/border-control-dropdown/hook.js +5 -5
  35. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  36. package/build/border-control/styles.js +58 -29
  37. package/build/border-control/styles.js.map +1 -1
  38. package/build/box-control/index.js +0 -21
  39. package/build/box-control/index.js.map +1 -1
  40. package/build/box-control/utils.js +1 -8
  41. package/build/box-control/utils.js.map +1 -1
  42. package/build/button/index.js +3 -5
  43. package/build/button/index.js.map +1 -1
  44. package/build/button/index.native.js +16 -2
  45. package/build/button/index.native.js.map +1 -1
  46. package/build/button-group/index.js +24 -7
  47. package/build/button-group/index.js.map +1 -1
  48. package/build/{flyout → button-group}/types.js +0 -0
  49. package/build/button-group/types.js.map +1 -0
  50. package/build/checkbox-control/index.js +34 -7
  51. package/build/checkbox-control/index.js.map +1 -1
  52. package/build/checkbox-control/types.js +6 -0
  53. package/build/checkbox-control/types.js.map +1 -0
  54. package/build/circular-option-picker/index.js +1 -2
  55. package/build/circular-option-picker/index.js.map +1 -1
  56. package/build/color-palette/index.js +14 -14
  57. package/build/color-palette/index.js.map +1 -1
  58. package/build/color-palette/index.native.js +4 -1
  59. package/build/color-palette/index.native.js.map +1 -1
  60. package/build/color-picker/color-copy-button.js +87 -0
  61. package/build/color-picker/color-copy-button.js.map +1 -0
  62. package/build/color-picker/component.js +5 -15
  63. package/build/color-picker/component.js.map +1 -1
  64. package/build/color-picker/hex-input.js +18 -1
  65. package/build/color-picker/hex-input.js.map +1 -1
  66. package/build/color-picker/styles.js +11 -11
  67. package/build/color-picker/styles.js.map +1 -1
  68. package/build/custom-gradient-picker/utils.js +1 -1
  69. package/build/custom-gradient-picker/utils.js.map +1 -1
  70. package/build/date-time/{date.js → date/index.js} +83 -20
  71. package/build/date-time/date/index.js.map +1 -0
  72. package/build/date-time/date/styles.js +70 -0
  73. package/build/date-time/date/styles.js.map +1 -0
  74. package/build/date-time/{utils.js → date/utils.js} +6 -4
  75. package/build/date-time/date/utils.js.map +1 -0
  76. package/build/date-time/date-time/index.js +175 -0
  77. package/build/date-time/date-time/index.js.map +1 -0
  78. package/build/date-time/date-time/styles.js +32 -0
  79. package/build/date-time/date-time/styles.js.map +1 -0
  80. package/build/date-time/index.js +2 -84
  81. package/build/date-time/index.js.map +1 -1
  82. package/build/date-time/time/index.js +322 -0
  83. package/build/date-time/time/index.js.map +1 -0
  84. package/build/date-time/time/styles.js +139 -0
  85. package/build/date-time/time/styles.js.map +1 -0
  86. package/build/date-time/{timezone.js → time/timezone.js} +8 -5
  87. package/build/date-time/time/timezone.js.map +1 -0
  88. package/build/date-time/types.js +6 -0
  89. package/build/date-time/types.js.map +1 -0
  90. package/build/disabled/index.js +4 -76
  91. package/build/disabled/index.js.map +1 -1
  92. package/build/draggable/index.native.js +228 -0
  93. package/build/draggable/index.native.js.map +1 -0
  94. package/build/dropdown/index.js +9 -4
  95. package/build/dropdown/index.js.map +1 -1
  96. package/build/focal-point-picker/index.native.js +3 -3
  97. package/build/focal-point-picker/index.native.js.map +1 -1
  98. package/build/index.js +0 -8
  99. package/build/index.js.map +1 -1
  100. package/build/index.native.js +16 -0
  101. package/build/index.native.js.map +1 -1
  102. package/build/input-control/index.js +12 -6
  103. package/build/input-control/index.js.map +1 -1
  104. package/build/input-control/input-field.js +1 -26
  105. package/build/input-control/input-field.js.map +1 -1
  106. package/build/input-control/reducer/reducer.js +36 -24
  107. package/build/input-control/reducer/reducer.js.map +1 -1
  108. package/build/input-control/reducer/state.js +0 -1
  109. package/build/input-control/reducer/state.js.map +1 -1
  110. package/build/input-control/styles/input-control-styles.js +42 -30
  111. package/build/input-control/styles/input-control-styles.js.map +1 -1
  112. package/build/input-control/utils.js +45 -0
  113. package/build/input-control/utils.js.map +1 -1
  114. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  115. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  116. package/build/mobile/bottom-sheet/index.native.js +1 -1
  117. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  118. package/build/mobile/bottom-sheet-select-control/index.native.js +4 -2
  119. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  120. package/build/mobile/html-text-input/index.native.js +19 -8
  121. package/build/mobile/html-text-input/index.native.js.map +1 -1
  122. package/build/mobile/keyboard-aware-flat-list/index.android.js +28 -5
  123. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  124. package/build/mobile/keyboard-aware-flat-list/index.ios.js +47 -24
  125. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  126. package/build/palette-edit/index.js +38 -7
  127. package/build/palette-edit/index.js.map +1 -1
  128. package/build/popover/index.js +228 -321
  129. package/build/popover/index.js.map +1 -1
  130. package/build/resizable-box/resize-tooltip/utils.js +5 -8
  131. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  132. package/build/sandbox/index.native.js +1 -1
  133. package/build/sandbox/index.native.js.map +1 -1
  134. package/build/search-control/index.js +4 -6
  135. package/build/search-control/index.js.map +1 -1
  136. package/build/select-control/index.js +34 -5
  137. package/build/select-control/index.js.map +1 -1
  138. package/build/select-control/styles/select-control-styles.js +17 -14
  139. package/build/select-control/styles/select-control-styles.js.map +1 -1
  140. package/build/spacer/hook.js +11 -3
  141. package/build/spacer/hook.js.map +1 -1
  142. package/build/surface/component.js +7 -7
  143. package/build/surface/component.js.map +1 -1
  144. package/build/surface/hook.js +8 -11
  145. package/build/surface/hook.js.map +1 -1
  146. package/build/surface/index.js.map +1 -1
  147. package/build/surface/styles.js +8 -48
  148. package/build/surface/styles.js.map +1 -1
  149. package/build/text-control/index.js +35 -28
  150. package/build/text-control/index.js.map +1 -1
  151. package/build/text-control/types.js +6 -0
  152. package/build/text-control/types.js.map +1 -0
  153. package/build/textarea-control/index.js +40 -6
  154. package/build/textarea-control/index.js.map +1 -1
  155. package/build/textarea-control/styles/textarea-control-styles.js +3 -3
  156. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  157. package/build/textarea-control/types.js +6 -0
  158. package/build/textarea-control/types.js.map +1 -0
  159. package/build/toggle-group-control/toggle-group-control/component.js +1 -3
  160. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  161. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +6 -4
  162. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  163. package/build/tools-panel/tools-panel-header/component.js +52 -36
  164. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  165. package/build/tooltip/index.js +2 -2
  166. package/build/tooltip/index.js.map +1 -1
  167. package/build/unit-control/index.js +3 -3
  168. package/build/unit-control/index.js.map +1 -1
  169. package/build/unit-control/styles/unit-control-styles.js +11 -20
  170. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  171. package/build/unit-control/utils.js.map +1 -1
  172. package/build/utils/hooks/index.js +0 -8
  173. package/build/utils/hooks/index.js.map +1 -1
  174. package/build-module/alignment-matrix-control/index.js +5 -2
  175. package/build-module/alignment-matrix-control/index.js.map +1 -1
  176. package/build-module/angle-picker-control/angle-circle.js +5 -7
  177. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  178. package/build-module/autocomplete/autocompleter-ui.js +1 -1
  179. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  180. package/build-module/autocomplete/autocompleter-ui.native.js +2 -2
  181. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  182. package/build-module/autocomplete/index.js +13 -11
  183. package/build-module/autocomplete/index.js.map +1 -1
  184. package/build-module/border-box-control/border-box-control/component.js +22 -7
  185. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  186. package/build-module/border-box-control/border-box-control/hook.js +2 -2
  187. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  188. package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -2
  189. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  190. package/build-module/border-box-control/border-box-control-split-controls/component.js +23 -8
  191. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  192. package/build-module/border-box-control/border-box-control-split-controls/hook.js +11 -4
  193. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  194. package/build-module/border-box-control/border-box-control-visualizer/hook.js +5 -2
  195. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  196. package/build-module/border-box-control/styles.js +15 -16
  197. package/build-module/border-box-control/styles.js.map +1 -1
  198. package/build-module/border-control/border-control/component.js +5 -3
  199. package/build-module/border-control/border-control/component.js.map +1 -1
  200. package/build-module/border-control/border-control/hook.js +8 -5
  201. package/build-module/border-control/border-control/hook.js.map +1 -1
  202. package/build-module/border-control/border-control-dropdown/component.js +6 -2
  203. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  204. package/build-module/border-control/border-control-dropdown/hook.js +5 -5
  205. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  206. package/build-module/border-control/styles.js +56 -29
  207. package/build-module/border-control/styles.js.map +1 -1
  208. package/build-module/box-control/index.js +1 -20
  209. package/build-module/box-control/index.js.map +1 -1
  210. package/build-module/box-control/utils.js +0 -6
  211. package/build-module/box-control/utils.js.map +1 -1
  212. package/build-module/button/index.js +3 -4
  213. package/build-module/button/index.js.map +1 -1
  214. package/build-module/button/index.native.js +16 -3
  215. package/build-module/button/index.native.js.map +1 -1
  216. package/build-module/button-group/index.js +27 -7
  217. package/build-module/button-group/index.js.map +1 -1
  218. package/build-module/{flyout → button-group}/types.js +0 -0
  219. package/build-module/{flyout → button-group}/types.js.map +0 -0
  220. package/build-module/checkbox-control/index.js +31 -7
  221. package/build-module/checkbox-control/index.js.map +1 -1
  222. package/build-module/checkbox-control/types.js +2 -0
  223. package/{build/flyout → build-module/checkbox-control}/types.js.map +0 -0
  224. package/build-module/circular-option-picker/index.js +1 -2
  225. package/build-module/circular-option-picker/index.js.map +1 -1
  226. package/build-module/color-palette/index.js +12 -16
  227. package/build-module/color-palette/index.js.map +1 -1
  228. package/build-module/color-palette/index.native.js +4 -1
  229. package/build-module/color-palette/index.native.js.map +1 -1
  230. package/build-module/color-picker/color-copy-button.js +73 -0
  231. package/build-module/color-picker/color-copy-button.js.map +1 -0
  232. package/build-module/color-picker/component.js +6 -15
  233. package/build-module/color-picker/component.js.map +1 -1
  234. package/build-module/color-picker/hex-input.js +18 -1
  235. package/build-module/color-picker/hex-input.js.map +1 -1
  236. package/build-module/color-picker/styles.js +9 -9
  237. package/build-module/color-picker/styles.js.map +1 -1
  238. package/build-module/custom-gradient-picker/utils.js +1 -1
  239. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  240. package/build-module/date-time/{date.js → date/index.js} +79 -22
  241. package/build-module/date-time/date/index.js.map +1 -0
  242. package/build-module/date-time/date/styles.js +61 -0
  243. package/build-module/date-time/date/styles.js.map +1 -0
  244. package/build-module/date-time/date/utils.js +22 -0
  245. package/build-module/date-time/date/utils.js.map +1 -0
  246. package/build-module/date-time/date-time/index.js +144 -0
  247. package/build-module/date-time/date-time/index.js.map +1 -0
  248. package/build-module/date-time/date-time/styles.js +22 -0
  249. package/build-module/date-time/date-time/styles.js.map +1 -0
  250. package/build-module/date-time/index.js +2 -82
  251. package/build-module/date-time/index.js.map +1 -1
  252. package/build-module/date-time/time/index.js +302 -0
  253. package/build-module/date-time/time/index.js.map +1 -0
  254. package/build-module/date-time/time/styles.js +118 -0
  255. package/build-module/date-time/time/styles.js.map +1 -0
  256. package/build-module/date-time/{timezone.js → time/timezone.js} +7 -5
  257. package/build-module/date-time/time/timezone.js.map +1 -0
  258. package/build-module/date-time/types.js +2 -0
  259. package/build-module/date-time/types.js.map +1 -0
  260. package/build-module/disabled/index.js +5 -76
  261. package/build-module/disabled/index.js.map +1 -1
  262. package/build-module/draggable/index.native.js +211 -0
  263. package/build-module/draggable/index.native.js.map +1 -0
  264. package/build-module/dropdown/index.js +9 -4
  265. package/build-module/dropdown/index.js.map +1 -1
  266. package/build-module/focal-point-picker/index.native.js +3 -3
  267. package/build-module/focal-point-picker/index.native.js.map +1 -1
  268. package/build-module/index.js +0 -1
  269. package/build-module/index.js.map +1 -1
  270. package/build-module/index.native.js +2 -1
  271. package/build-module/index.native.js.map +1 -1
  272. package/build-module/input-control/index.js +11 -6
  273. package/build-module/input-control/index.js.map +1 -1
  274. package/build-module/input-control/input-field.js +1 -25
  275. package/build-module/input-control/input-field.js.map +1 -1
  276. package/build-module/input-control/reducer/reducer.js +38 -26
  277. package/build-module/input-control/reducer/reducer.js.map +1 -1
  278. package/build-module/input-control/reducer/state.js +0 -1
  279. package/build-module/input-control/reducer/state.js.map +1 -1
  280. package/build-module/input-control/styles/input-control-styles.js +42 -30
  281. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  282. package/build-module/input-control/utils.js +48 -2
  283. package/build-module/input-control/utils.js.map +1 -1
  284. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  285. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  286. package/build-module/mobile/bottom-sheet/index.native.js +1 -1
  287. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  288. package/build-module/mobile/bottom-sheet-select-control/index.native.js +4 -2
  289. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  290. package/build-module/mobile/html-text-input/index.native.js +20 -9
  291. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  292. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +21 -5
  293. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  294. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +42 -25
  295. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  296. package/build-module/palette-edit/index.js +37 -7
  297. package/build-module/palette-edit/index.js.map +1 -1
  298. package/build-module/popover/index.js +230 -323
  299. package/build-module/popover/index.js.map +1 -1
  300. package/build-module/resizable-box/resize-tooltip/utils.js +4 -5
  301. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  302. package/build-module/sandbox/index.native.js +1 -1
  303. package/build-module/sandbox/index.native.js.map +1 -1
  304. package/build-module/search-control/index.js +6 -7
  305. package/build-module/search-control/index.js.map +1 -1
  306. package/build-module/select-control/index.js +32 -4
  307. package/build-module/select-control/index.js.map +1 -1
  308. package/build-module/select-control/styles/select-control-styles.js +17 -14
  309. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  310. package/build-module/spacer/hook.js +10 -2
  311. package/build-module/spacer/hook.js.map +1 -1
  312. package/build-module/surface/component.js +7 -7
  313. package/build-module/surface/component.js.map +1 -1
  314. package/build-module/surface/hook.js +8 -11
  315. package/build-module/surface/hook.js.map +1 -1
  316. package/build-module/surface/index.js.map +1 -1
  317. package/build-module/surface/styles.js +8 -48
  318. package/build-module/surface/styles.js.map +1 -1
  319. package/build-module/text-control/index.js +35 -27
  320. package/build-module/text-control/index.js.map +1 -1
  321. package/build-module/text-control/types.js +2 -0
  322. package/build-module/text-control/types.js.map +1 -0
  323. package/build-module/textarea-control/index.js +36 -5
  324. package/build-module/textarea-control/index.js.map +1 -1
  325. package/build-module/textarea-control/styles/textarea-control-styles.js +3 -3
  326. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  327. package/build-module/textarea-control/types.js +2 -0
  328. package/build-module/textarea-control/types.js.map +1 -0
  329. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -3
  330. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  331. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -5
  332. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  333. package/build-module/tools-panel/tools-panel-header/component.js +51 -36
  334. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  335. package/build-module/tooltip/index.js +2 -2
  336. package/build-module/tooltip/index.js.map +1 -1
  337. package/build-module/unit-control/index.js +3 -3
  338. package/build-module/unit-control/index.js.map +1 -1
  339. package/build-module/unit-control/styles/unit-control-styles.js +11 -20
  340. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  341. package/build-module/unit-control/utils.js.map +1 -1
  342. package/build-module/utils/hooks/index.js +0 -1
  343. package/build-module/utils/hooks/index.js.map +1 -1
  344. package/build-style/style-rtl.css +51 -358
  345. package/build-style/style.css +47 -361
  346. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  347. package/build-types/border-box-control/border-box-control/hook.d.ts +3 -1
  348. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  349. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  350. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  351. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +4 -1
  352. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  353. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  354. package/build-types/border-box-control/styles.d.ts +4 -3
  355. package/build-types/border-box-control/styles.d.ts.map +1 -1
  356. package/build-types/border-box-control/types.d.ts +40 -13
  357. package/build-types/border-box-control/types.d.ts.map +1 -1
  358. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  359. package/build-types/border-control/border-control/hook.d.ts +2 -1
  360. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  361. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  362. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -0
  363. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  364. package/build-types/border-control/styles.d.ts +2 -1
  365. package/build-types/border-control/styles.d.ts.map +1 -1
  366. package/build-types/border-control/types.d.ts +18 -6
  367. package/build-types/border-control/types.d.ts.map +1 -1
  368. package/build-types/button/index.d.ts.map +1 -1
  369. package/build-types/button-group/index.d.ts +25 -0
  370. package/build-types/button-group/index.d.ts.map +1 -0
  371. package/build-types/button-group/stories/index.d.ts +12 -0
  372. package/build-types/button-group/stories/index.d.ts.map +1 -0
  373. package/build-types/button-group/types.d.ts +11 -0
  374. package/build-types/button-group/types.d.ts.map +1 -0
  375. package/build-types/card/types.d.ts +1 -1
  376. package/build-types/card/types.d.ts.map +1 -1
  377. package/build-types/checkbox-control/index.d.ts +26 -0
  378. package/build-types/checkbox-control/index.d.ts.map +1 -0
  379. package/build-types/checkbox-control/stories/index.d.ts +13 -0
  380. package/build-types/checkbox-control/stories/index.d.ts.map +1 -0
  381. package/build-types/checkbox-control/test/index.d.ts +2 -0
  382. package/build-types/checkbox-control/test/index.d.ts.map +1 -0
  383. package/build-types/checkbox-control/types.d.ts +35 -0
  384. package/build-types/checkbox-control/types.d.ts.map +1 -0
  385. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  386. package/build-types/color-palette/index.d.ts +1 -0
  387. package/build-types/color-palette/index.d.ts.map +1 -1
  388. package/build-types/color-palette/test/utils.d.ts +2 -0
  389. package/build-types/color-palette/test/utils.d.ts.map +1 -0
  390. package/build-types/color-picker/color-copy-button.d.ts +4 -0
  391. package/build-types/color-picker/color-copy-button.d.ts.map +1 -0
  392. package/build-types/color-picker/component.d.ts.map +1 -1
  393. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  394. package/build-types/color-picker/styles.d.ts +4 -4
  395. package/build-types/color-picker/styles.d.ts.map +1 -1
  396. package/build-types/color-picker/types.d.ts +8 -0
  397. package/build-types/color-picker/types.d.ts.map +1 -1
  398. package/build-types/date-time/date/index.d.ts +25 -0
  399. package/build-types/date-time/date/index.d.ts.map +1 -0
  400. package/build-types/date-time/date/styles.d.ts +23 -0
  401. package/build-types/date-time/date/styles.d.ts.map +1 -0
  402. package/build-types/date-time/date/test/index.d.ts +2 -0
  403. package/build-types/date-time/date/test/index.d.ts.map +1 -0
  404. package/build-types/date-time/date/test/utils.d.ts +2 -0
  405. package/build-types/date-time/date/test/utils.d.ts.map +1 -0
  406. package/build-types/date-time/date/utils.d.ts +15 -0
  407. package/build-types/date-time/date/utils.d.ts.map +1 -0
  408. package/build-types/date-time/date-time/index.d.ts +33 -0
  409. package/build-types/date-time/date-time/index.d.ts.map +1 -0
  410. package/build-types/date-time/date-time/styles.d.ts +6 -0
  411. package/build-types/date-time/date-time/styles.d.ts.map +1 -0
  412. package/build-types/date-time/index.d.ts +9 -0
  413. package/build-types/date-time/index.d.ts.map +1 -0
  414. package/build-types/date-time/stories/date-time.d.ts +14 -0
  415. package/build-types/date-time/stories/date-time.d.ts.map +1 -0
  416. package/build-types/date-time/stories/date.d.ts +14 -0
  417. package/build-types/date-time/stories/date.d.ts.map +1 -0
  418. package/build-types/date-time/stories/time.d.ts +12 -0
  419. package/build-types/date-time/stories/time.d.ts.map +1 -0
  420. package/build-types/date-time/stories/utils.d.ts +3 -0
  421. package/build-types/date-time/stories/utils.d.ts.map +1 -0
  422. package/build-types/date-time/time/index.d.ts +25 -0
  423. package/build-types/date-time/time/index.d.ts.map +1 -0
  424. package/build-types/date-time/time/styles.d.ts +111 -0
  425. package/build-types/date-time/time/styles.d.ts.map +1 -0
  426. package/build-types/date-time/time/test/index.d.ts +2 -0
  427. package/build-types/date-time/time/test/index.d.ts.map +1 -0
  428. package/build-types/date-time/time/timezone.d.ts +8 -0
  429. package/build-types/date-time/time/timezone.d.ts.map +1 -0
  430. package/build-types/date-time/types.d.ts +90 -0
  431. package/build-types/date-time/types.d.ts.map +1 -0
  432. package/build-types/disabled/index.d.ts.map +1 -1
  433. package/build-types/dropdown/index.d.ts.map +1 -1
  434. package/build-types/input-control/index.d.ts +4 -3
  435. package/build-types/input-control/index.d.ts.map +1 -1
  436. package/build-types/input-control/input-field.d.ts.map +1 -1
  437. package/build-types/input-control/reducer/reducer.d.ts +5 -3
  438. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  439. package/build-types/input-control/reducer/state.d.ts +2 -2
  440. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  441. package/build-types/input-control/stories/index.d.ts +5 -5
  442. package/build-types/input-control/stories/index.d.ts.map +1 -1
  443. package/build-types/input-control/styles/input-control-styles.d.ts +1 -0
  444. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  445. package/build-types/input-control/types.d.ts +6 -0
  446. package/build-types/input-control/types.d.ts.map +1 -1
  447. package/build-types/input-control/utils.d.ts +17 -0
  448. package/build-types/input-control/utils.d.ts.map +1 -1
  449. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  450. package/build-types/popover/index.d.ts +6 -8
  451. package/build-types/popover/index.d.ts.map +1 -1
  452. package/build-types/resizable-box/index.d.ts +1 -1
  453. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  454. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  455. package/build-types/select-control/index.d.ts +30 -26
  456. package/build-types/select-control/index.d.ts.map +1 -1
  457. package/build-types/select-control/stories/index.d.ts +23 -0
  458. package/build-types/select-control/stories/index.d.ts.map +1 -0
  459. package/build-types/select-control/styles/select-control-styles.d.ts +3 -4
  460. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  461. package/build-types/select-control/test/select-control.d.ts +2 -0
  462. package/build-types/select-control/test/select-control.d.ts.map +1 -0
  463. package/build-types/select-control/types.d.ts +52 -1
  464. package/build-types/select-control/types.d.ts.map +1 -1
  465. package/build-types/surface/component.d.ts +3 -2
  466. package/build-types/surface/component.d.ts.map +1 -1
  467. package/build-types/surface/hook.d.ts +4 -4
  468. package/build-types/surface/hook.d.ts.map +1 -1
  469. package/build-types/surface/index.d.ts +2 -2
  470. package/build-types/surface/index.d.ts.map +1 -1
  471. package/build-types/surface/stories/index.d.ts +12 -0
  472. package/build-types/surface/stories/index.d.ts.map +1 -0
  473. package/build-types/surface/styles.d.ts +10 -21
  474. package/build-types/surface/styles.d.ts.map +1 -1
  475. package/build-types/surface/test/index.d.ts +2 -0
  476. package/build-types/{flyout/flyout → surface/test}/index.d.ts.map +1 -1
  477. package/build-types/surface/types.d.ts +1 -1
  478. package/build-types/surface/types.d.ts.map +1 -1
  479. package/build-types/text-control/index.d.ts +32 -0
  480. package/build-types/text-control/index.d.ts.map +1 -0
  481. package/build-types/text-control/stories/index.d.ts +13 -0
  482. package/build-types/text-control/stories/index.d.ts.map +1 -0
  483. package/build-types/text-control/types.d.ts +25 -0
  484. package/build-types/text-control/types.d.ts.map +1 -0
  485. package/build-types/textarea-control/index.d.ts +29 -0
  486. package/build-types/textarea-control/index.d.ts.map +1 -0
  487. package/build-types/textarea-control/stories/index.d.ts +12 -0
  488. package/build-types/textarea-control/stories/index.d.ts.map +1 -0
  489. package/build-types/textarea-control/styles/textarea-control-styles.d.ts +6 -0
  490. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -0
  491. package/build-types/textarea-control/types.d.ts +26 -0
  492. package/build-types/textarea-control/types.d.ts.map +1 -0
  493. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  494. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  495. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  496. package/build-types/tools-panel/types.d.ts +0 -1
  497. package/build-types/tools-panel/types.d.ts.map +1 -1
  498. package/build-types/tooltip/index.d.ts.map +1 -1
  499. package/build-types/unit-control/index.d.ts +2 -2
  500. package/build-types/unit-control/index.d.ts.map +1 -1
  501. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  502. package/build-types/unit-control/test/index.d.ts +2 -0
  503. package/build-types/unit-control/test/index.d.ts.map +1 -0
  504. package/build-types/unit-control/test/utils.d.ts +2 -0
  505. package/build-types/unit-control/test/utils.d.ts.map +1 -0
  506. package/build-types/unit-control/types.d.ts +1 -1
  507. package/build-types/unit-control/types.d.ts.map +1 -1
  508. package/build-types/unit-control/utils.d.ts +3 -3
  509. package/build-types/unit-control/utils.d.ts.map +1 -1
  510. package/build-types/utils/hooks/index.d.ts +0 -1
  511. package/package.json +20 -20
  512. package/src/alignment-matrix-control/index.js +4 -2
  513. package/src/angle-picker-control/angle-circle.js +3 -3
  514. package/src/autocomplete/autocompleter-ui.js +1 -1
  515. package/src/autocomplete/autocompleter-ui.native.js +2 -2
  516. package/src/autocomplete/index.js +21 -9
  517. package/src/autocomplete/style.scss +1 -1
  518. package/src/border-box-control/border-box-control/README.md +10 -14
  519. package/src/border-box-control/border-box-control/component.tsx +21 -4
  520. package/src/border-box-control/border-box-control/hook.ts +2 -2
  521. package/src/border-box-control/border-box-control-linked-button/hook.ts +10 -6
  522. package/src/border-box-control/border-box-control-split-controls/component.tsx +26 -7
  523. package/src/border-box-control/border-box-control-split-controls/hook.ts +18 -4
  524. package/src/border-box-control/border-box-control-visualizer/hook.ts +14 -6
  525. package/src/border-box-control/stories/index.js +1 -0
  526. package/src/border-box-control/styles.ts +20 -9
  527. package/src/border-box-control/types.ts +40 -14
  528. package/src/border-control/border-control/README.md +0 -7
  529. package/src/border-control/border-control/component.tsx +4 -2
  530. package/src/border-control/border-control/hook.ts +13 -4
  531. package/src/border-control/border-control-dropdown/component.tsx +18 -11
  532. package/src/border-control/border-control-dropdown/hook.ts +7 -5
  533. package/src/border-control/stories/index.js +1 -0
  534. package/src/border-control/styles.ts +82 -22
  535. package/src/border-control/types.ts +18 -6
  536. package/src/box-control/README.md +0 -74
  537. package/src/box-control/index.js +0 -15
  538. package/src/box-control/stories/index.js +0 -29
  539. package/src/box-control/test/index.js +120 -109
  540. package/src/box-control/utils.js +0 -7
  541. package/src/button/index.js +2 -4
  542. package/src/button/index.native.js +33 -18
  543. package/src/button/test/index.js +16 -1
  544. package/src/button-group/index.tsx +47 -0
  545. package/src/button-group/stories/index.tsx +41 -0
  546. package/src/button-group/types.ts +11 -0
  547. package/src/card/types.ts +1 -1
  548. package/src/checkbox-control/README.md +10 -8
  549. package/src/checkbox-control/{index.js → index.tsx} +49 -14
  550. package/src/checkbox-control/stories/{index.js → index.tsx} +49 -27
  551. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +42 -0
  552. package/src/checkbox-control/test/index.tsx +109 -0
  553. package/src/checkbox-control/types.ts +36 -0
  554. package/src/circular-option-picker/index.js +1 -2
  555. package/src/circular-option-picker/style.scss +1 -0
  556. package/src/color-palette/README.md +0 -1
  557. package/src/color-palette/index.js +17 -17
  558. package/src/color-palette/index.native.js +3 -0
  559. package/src/color-palette/stories/index.js +25 -1
  560. package/src/color-palette/style.scss +3 -18
  561. package/src/color-palette/test/__snapshots__/index.js.snap +2 -3
  562. package/src/color-palette/test/utils.ts +24 -0
  563. package/src/color-picker/color-copy-button.tsx +76 -0
  564. package/src/color-picker/component.tsx +18 -38
  565. package/src/color-picker/hex-input.tsx +16 -0
  566. package/src/color-picker/styles.ts +5 -1
  567. package/src/color-picker/types.ts +9 -0
  568. package/src/confirm-dialog/stories/index.js +87 -99
  569. package/src/custom-gradient-picker/utils.js +1 -1
  570. package/src/date-time/README.md +29 -10
  571. package/src/date-time/{datepicker.scss → date/datepicker.scss} +0 -0
  572. package/src/date-time/{date.js → date/index.tsx} +76 -24
  573. package/src/date-time/date/style.scss +75 -0
  574. package/src/date-time/date/styles.ts +55 -0
  575. package/src/date-time/date/test/index.tsx +127 -0
  576. package/src/date-time/{test/utils.js → date/test/utils.ts} +1 -1
  577. package/src/date-time/date/utils.ts +20 -0
  578. package/src/date-time/date-time/index.tsx +217 -0
  579. package/src/date-time/date-time/styles.ts +8 -0
  580. package/src/date-time/index.ts +9 -0
  581. package/src/date-time/stories/date-time.tsx +75 -0
  582. package/src/date-time/stories/date.tsx +73 -0
  583. package/src/date-time/stories/time.tsx +51 -0
  584. package/src/date-time/stories/utils.ts +9 -0
  585. package/src/date-time/style.scss +1 -262
  586. package/src/date-time/time/index.tsx +356 -0
  587. package/src/date-time/time/styles.ts +119 -0
  588. package/src/date-time/{test/time.js → time/test/index.tsx} +119 -57
  589. package/src/date-time/{timezone.js → time/timezone.tsx} +9 -5
  590. package/src/date-time/types.ts +104 -0
  591. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
  592. package/src/disabled/index.js +5 -90
  593. package/src/draggable/index.native.js +226 -0
  594. package/src/draggable/style.native.scss +3 -0
  595. package/src/draggable/test/index.native.js +130 -0
  596. package/src/dropdown/index.js +12 -3
  597. package/src/dropdown/style.scss +1 -1
  598. package/src/focal-point-picker/index.native.js +3 -3
  599. package/src/form-file-upload/test/index.js +20 -13
  600. package/src/index.js +0 -1
  601. package/src/index.native.js +1 -0
  602. package/src/input-control/README.md +1 -1
  603. package/src/input-control/index.tsx +11 -4
  604. package/src/input-control/input-field.tsx +10 -30
  605. package/src/input-control/reducer/reducer.ts +40 -26
  606. package/src/input-control/reducer/state.ts +2 -3
  607. package/src/input-control/stories/index.tsx +1 -1
  608. package/src/input-control/styles/input-control-styles.tsx +19 -5
  609. package/src/input-control/types.ts +6 -0
  610. package/src/input-control/utils.ts +55 -1
  611. package/src/item-group/stories/index.js +22 -18
  612. package/src/menu-item/style.scss +10 -0
  613. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  614. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +9 -2
  615. package/src/mobile/bottom-sheet/index.native.js +1 -1
  616. package/src/mobile/bottom-sheet-select-control/index.native.js +8 -2
  617. package/src/mobile/html-text-input/index.native.js +45 -29
  618. package/src/mobile/html-text-input/style.android.scss +2 -15
  619. package/src/mobile/html-text-input/style.ios.scss +2 -15
  620. package/src/mobile/html-text-input/{style-common.native.scss → style.scss} +16 -0
  621. package/src/mobile/keyboard-aware-flat-list/index.android.js +15 -5
  622. package/src/mobile/keyboard-aware-flat-list/index.ios.js +75 -46
  623. package/src/mobile/link-settings/test/link-settings-navigation.native.js +9 -1
  624. package/src/navigator/stories/index.js +16 -10
  625. package/src/palette-edit/index.js +37 -9
  626. package/src/palette-edit/style.scss +0 -7
  627. package/src/palette-edit/test/index.js +63 -0
  628. package/src/panel/README.md +1 -1
  629. package/src/placeholder/test/index.js +7 -0
  630. package/src/popover/README.md +7 -9
  631. package/src/popover/index.js +256 -416
  632. package/src/popover/style.scss +20 -190
  633. package/src/popover/test/__snapshots__/index.js.snap +6 -18
  634. package/src/query-controls/README.md +1 -1
  635. package/src/resizable-box/resize-tooltip/utils.ts +4 -5
  636. package/src/sandbox/index.native.js +1 -1
  637. package/src/search-control/index.js +6 -7
  638. package/src/select-control/README.md +13 -2
  639. package/src/select-control/index.tsx +36 -30
  640. package/src/select-control/stories/index.tsx +90 -0
  641. package/src/select-control/styles/select-control-styles.ts +15 -11
  642. package/src/select-control/test/{select-control.js → select-control.tsx} +2 -2
  643. package/src/select-control/types.ts +66 -1
  644. package/src/slot-fill/README.md +1 -1
  645. package/src/spacer/hook.ts +13 -13
  646. package/src/surface/README.md +15 -15
  647. package/src/surface/{component.js → component.tsx} +13 -7
  648. package/src/surface/{hook.js → hook.ts} +13 -12
  649. package/src/surface/{index.js → index.ts} +0 -0
  650. package/src/surface/stories/index.tsx +40 -0
  651. package/src/surface/{styles.js → styles.ts} +15 -44
  652. package/src/surface/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  653. package/src/surface/test/{index.js → index.tsx} +2 -1
  654. package/src/surface/types.ts +1 -1
  655. package/src/tab-panel/style.scss +1 -1
  656. package/src/text-control/index.tsx +84 -0
  657. package/src/text-control/stories/index.tsx +66 -0
  658. package/src/text-control/types.ts +29 -0
  659. package/src/textarea-control/README.md +14 -20
  660. package/src/textarea-control/index.tsx +86 -0
  661. package/src/textarea-control/stories/index.tsx +58 -0
  662. package/src/textarea-control/styles/{textarea-control-styles.js → textarea-control-styles.ts} +0 -0
  663. package/src/textarea-control/types.ts +30 -0
  664. package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -10
  665. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -3
  666. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -5
  667. package/src/tools-panel/test/__snapshots__/index.js.snap +1 -1
  668. package/src/tools-panel/test/index.js +71 -18
  669. package/src/tools-panel/tools-panel-header/component.tsx +75 -33
  670. package/src/tools-panel/types.ts +0 -1
  671. package/src/tooltip/index.js +8 -2
  672. package/src/tooltip/style.scss +2 -4
  673. package/src/tooltip/test/index.js +6 -0
  674. package/src/tooltip/test/index.native.js +1 -1
  675. package/src/unit-control/index.tsx +2 -5
  676. package/src/unit-control/styles/unit-control-styles.ts +3 -13
  677. package/src/unit-control/test/__snapshots__/index.tsx.snap +33 -0
  678. package/src/unit-control/test/{index.js → index.tsx} +295 -166
  679. package/src/unit-control/test/{utils.js → utils.ts} +38 -19
  680. package/src/unit-control/types.ts +4 -1
  681. package/src/unit-control/utils.ts +5 -3
  682. package/src/utils/hooks/index.js +0 -1
  683. package/tsconfig.json +7 -1
  684. package/tsconfig.tsbuildinfo +1 -1
  685. package/build/box-control/visualizer.js +0 -165
  686. package/build/box-control/visualizer.js.map +0 -1
  687. package/build/color-picker/color-display.js +0 -184
  688. package/build/color-picker/color-display.js.map +0 -1
  689. package/build/date-time/date.js.map +0 -1
  690. package/build/date-time/time.js +0 -287
  691. package/build/date-time/time.js.map +0 -1
  692. package/build/date-time/timezone.js.map +0 -1
  693. package/build/date-time/utils.js.map +0 -1
  694. package/build/flyout/context.js +0 -23
  695. package/build/flyout/context.js.map +0 -1
  696. package/build/flyout/flyout/component.js +0 -106
  697. package/build/flyout/flyout/component.js.map +0 -1
  698. package/build/flyout/flyout/hook.js +0 -53
  699. package/build/flyout/flyout/hook.js.map +0 -1
  700. package/build/flyout/flyout/index.js +0 -24
  701. package/build/flyout/flyout/index.js.map +0 -1
  702. package/build/flyout/flyout-content/component.js +0 -65
  703. package/build/flyout/flyout-content/component.js.map +0 -1
  704. package/build/flyout/flyout-content/index.js +0 -16
  705. package/build/flyout/flyout-content/index.js.map +0 -1
  706. package/build/flyout/index.js +0 -16
  707. package/build/flyout/index.js.map +0 -1
  708. package/build/flyout/styles.js +0 -46
  709. package/build/flyout/styles.js.map +0 -1
  710. package/build/flyout/utils.js +0 -36
  711. package/build/flyout/utils.js.map +0 -1
  712. package/build/mobile/html-text-input/container.android.js +0 -41
  713. package/build/mobile/html-text-input/container.android.js.map +0 -1
  714. package/build/mobile/html-text-input/container.ios.js +0 -60
  715. package/build/mobile/html-text-input/container.ios.js.map +0 -1
  716. package/build/popover/utils.js +0 -322
  717. package/build/popover/utils.js.map +0 -1
  718. package/build/utils/hooks/use-combined-ref.js +0 -32
  719. package/build/utils/hooks/use-combined-ref.js.map +0 -1
  720. package/build-module/box-control/visualizer.js +0 -154
  721. package/build-module/box-control/visualizer.js.map +0 -1
  722. package/build-module/color-picker/color-display.js +0 -170
  723. package/build-module/color-picker/color-display.js.map +0 -1
  724. package/build-module/date-time/date.js.map +0 -1
  725. package/build-module/date-time/time.js +0 -269
  726. package/build-module/date-time/time.js.map +0 -1
  727. package/build-module/date-time/timezone.js.map +0 -1
  728. package/build-module/date-time/utils.js +0 -20
  729. package/build-module/date-time/utils.js.map +0 -1
  730. package/build-module/flyout/context.js +0 -11
  731. package/build-module/flyout/context.js.map +0 -1
  732. package/build-module/flyout/flyout/component.js +0 -89
  733. package/build-module/flyout/flyout/component.js.map +0 -1
  734. package/build-module/flyout/flyout/hook.js +0 -44
  735. package/build-module/flyout/flyout/hook.js.map +0 -1
  736. package/build-module/flyout/flyout/index.js +0 -3
  737. package/build-module/flyout/flyout/index.js.map +0 -1
  738. package/build-module/flyout/flyout-content/component.js +0 -51
  739. package/build-module/flyout/flyout-content/component.js.map +0 -1
  740. package/build-module/flyout/flyout-content/index.js +0 -2
  741. package/build-module/flyout/flyout-content/index.js.map +0 -1
  742. package/build-module/flyout/index.js +0 -2
  743. package/build-module/flyout/index.js.map +0 -1
  744. package/build-module/flyout/styles.js +0 -27
  745. package/build-module/flyout/styles.js.map +0 -1
  746. package/build-module/flyout/utils.js +0 -25
  747. package/build-module/flyout/utils.js.map +0 -1
  748. package/build-module/mobile/html-text-input/container.android.js +0 -29
  749. package/build-module/mobile/html-text-input/container.android.js.map +0 -1
  750. package/build-module/mobile/html-text-input/container.ios.js +0 -48
  751. package/build-module/mobile/html-text-input/container.ios.js.map +0 -1
  752. package/build-module/popover/utils.js +0 -308
  753. package/build-module/popover/utils.js.map +0 -1
  754. package/build-module/utils/hooks/use-combined-ref.js +0 -28
  755. package/build-module/utils/hooks/use-combined-ref.js.map +0 -1
  756. package/build-types/color-picker/color-display.d.ts +0 -14
  757. package/build-types/color-picker/color-display.d.ts.map +0 -1
  758. package/build-types/flyout/context.d.ts +0 -6
  759. package/build-types/flyout/context.d.ts.map +0 -1
  760. package/build-types/flyout/flyout/component.d.ts +0 -21
  761. package/build-types/flyout/flyout/component.d.ts.map +0 -1
  762. package/build-types/flyout/flyout/hook.d.ts +0 -270
  763. package/build-types/flyout/flyout/hook.d.ts.map +0 -1
  764. package/build-types/flyout/flyout/index.d.ts +0 -3
  765. package/build-types/flyout/flyout-content/component.d.ts +0 -3
  766. package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
  767. package/build-types/flyout/flyout-content/index.d.ts +0 -2
  768. package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
  769. package/build-types/flyout/index.d.ts +0 -2
  770. package/build-types/flyout/index.d.ts.map +0 -1
  771. package/build-types/flyout/styles.d.ts +0 -22
  772. package/build-types/flyout/styles.d.ts.map +0 -1
  773. package/build-types/flyout/types.d.ts +0 -80
  774. package/build-types/flyout/types.d.ts.map +0 -1
  775. package/build-types/flyout/utils.d.ts +0 -8
  776. package/build-types/flyout/utils.d.ts.map +0 -1
  777. package/build-types/popover/utils.d.ts +0 -70
  778. package/build-types/popover/utils.d.ts.map +0 -1
  779. package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
  780. package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
  781. package/src/box-control/visualizer.js +0 -116
  782. package/src/button-group/index.js +0 -17
  783. package/src/button-group/stories/index.js +0 -21
  784. package/src/color-picker/color-display.tsx +0 -169
  785. package/src/date-time/index.js +0 -170
  786. package/src/date-time/stories/date.js +0 -17
  787. package/src/date-time/stories/index.js +0 -72
  788. package/src/date-time/stories/time.js +0 -32
  789. package/src/date-time/test/date.js +0 -97
  790. package/src/date-time/time.js +0 -310
  791. package/src/date-time/utils.js +0 -18
  792. package/src/flyout/context.js +0 -10
  793. package/src/flyout/flyout/README.md +0 -98
  794. package/src/flyout/flyout/component.js +0 -111
  795. package/src/flyout/flyout/hook.js +0 -45
  796. package/src/flyout/flyout/index.js +0 -2
  797. package/src/flyout/flyout-content/component.js +0 -53
  798. package/src/flyout/flyout-content/index.js +0 -1
  799. package/src/flyout/index.js +0 -1
  800. package/src/flyout/stories/index.js +0 -24
  801. package/src/flyout/styles.ts +0 -41
  802. package/src/flyout/test/__snapshots__/index.js.snap +0 -186
  803. package/src/flyout/test/index.js +0 -103
  804. package/src/flyout/types.ts +0 -84
  805. package/src/flyout/utils.js +0 -23
  806. package/src/mobile/html-text-input/container.android.js +0 -23
  807. package/src/mobile/html-text-input/container.ios.js +0 -50
  808. package/src/popover/test/utils.js +0 -304
  809. package/src/popover/utils.js +0 -396
  810. package/src/select-control/stories/index.js +0 -104
  811. package/src/surface/stories/index.js +0 -46
  812. package/src/text-control/index.js +0 -72
  813. package/src/text-control/stories/index.js +0 -46
  814. package/src/textarea-control/index.js +0 -45
  815. package/src/textarea-control/stories/index.js +0 -48
  816. package/src/utils/hooks/use-combined-ref.ts +0 -28
@@ -1,15 +1,20 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { render, fireEvent, screen } from '@testing-library/react';
4
+ import { render, screen } from '@testing-library/react';
5
+ import userEvent from '@testing-library/user-event';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
- import TimePicker from '../time';
10
+ import TimePicker from '..';
10
11
 
11
12
  describe( 'TimePicker', () => {
12
- it( 'should call onChange with updated date values', () => {
13
+ it( 'should call onChange with updated date values', async () => {
14
+ const user = userEvent.setup( {
15
+ advanceTimers: jest.advanceTimersByTime,
16
+ } );
17
+
13
18
  const onChangeSpy = jest.fn();
14
19
 
15
20
  render(
@@ -26,38 +31,46 @@ describe( 'TimePicker', () => {
26
31
  const hoursInput = screen.getByLabelText( 'Hours' );
27
32
  const minutesInput = screen.getByLabelText( 'Minutes' );
28
33
 
29
- fireEvent.change( monthInput, { target: { value: '12' } } );
30
- fireEvent.blur( monthInput );
34
+ await user.selectOptions( monthInput, '12' );
35
+ await user.keyboard( '{Tab}' );
31
36
 
32
37
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-12-18T11:00:00' );
33
38
  onChangeSpy.mockClear();
34
39
 
35
- fireEvent.change( dayInput, { target: { value: '22' } } );
36
- fireEvent.blur( dayInput );
40
+ await user.clear( dayInput );
41
+ await user.type( dayInput, '22' );
42
+ await user.keyboard( '{Tab}' );
37
43
 
38
44
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-12-22T11:00:00' );
39
45
  onChangeSpy.mockClear();
40
46
 
41
- fireEvent.change( yearInput, { target: { value: '2018' } } );
42
- fireEvent.blur( yearInput );
47
+ await user.clear( yearInput );
48
+ await user.type( yearInput, '2018' );
49
+ await user.keyboard( '{Tab}' );
43
50
 
44
51
  expect( onChangeSpy ).toHaveBeenCalledWith( '2018-12-22T11:00:00' );
45
52
  onChangeSpy.mockClear();
46
53
 
47
- fireEvent.change( hoursInput, { target: { value: '12' } } );
48
- fireEvent.blur( hoursInput );
54
+ await user.clear( hoursInput );
55
+ await user.type( hoursInput, '12' );
56
+ await user.keyboard( '{Tab}' );
49
57
 
50
58
  expect( onChangeSpy ).toHaveBeenCalledWith( '2018-12-22T00:00:00' );
51
59
  onChangeSpy.mockClear();
52
60
 
53
- fireEvent.change( minutesInput, { target: { value: '35' } } );
54
- fireEvent.blur( minutesInput );
61
+ await user.clear( minutesInput );
62
+ await user.type( minutesInput, '35' );
63
+ await user.keyboard( '{Tab}' );
55
64
 
56
65
  expect( onChangeSpy ).toHaveBeenCalledWith( '2018-12-22T00:35:00' );
57
66
  onChangeSpy.mockClear();
58
67
  } );
59
68
 
60
- it( 'should call onChange with an updated hour (12-hour clock)', () => {
69
+ it( 'should call onChange with an updated hour (12-hour clock)', async () => {
70
+ const user = userEvent.setup( {
71
+ advanceTimers: jest.advanceTimersByTime,
72
+ } );
73
+
61
74
  const onChangeSpy = jest.fn();
62
75
 
63
76
  render(
@@ -70,13 +83,18 @@ describe( 'TimePicker', () => {
70
83
 
71
84
  const hoursInput = screen.getByLabelText( 'Hours' );
72
85
 
73
- fireEvent.change( hoursInput, { target: { value: '10' } } );
74
- fireEvent.blur( hoursInput );
86
+ await user.clear( hoursInput );
87
+ await user.type( hoursInput, '10' );
88
+ await user.keyboard( '{Tab}' );
75
89
 
76
90
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T10:00:00' );
77
91
  } );
78
92
 
79
- it( 'should not call onChange with an updated hour (12-hour clock) if the hour is out of bounds', () => {
93
+ it( 'should call onChange with a bounded hour (12-hour clock) if the hour is out of bounds', async () => {
94
+ const user = userEvent.setup( {
95
+ advanceTimers: jest.advanceTimersByTime,
96
+ } );
97
+
80
98
  const onChangeSpy = jest.fn();
81
99
 
82
100
  render(
@@ -89,13 +107,18 @@ describe( 'TimePicker', () => {
89
107
 
90
108
  const hoursInput = screen.getByLabelText( 'Hours' );
91
109
 
92
- fireEvent.change( hoursInput, { target: { value: '22' } } );
93
- fireEvent.blur( hoursInput );
110
+ await user.clear( hoursInput );
111
+ await user.type( hoursInput, '22' );
112
+ await user.keyboard( '{Tab}' );
94
113
 
95
- expect( onChangeSpy ).not.toHaveBeenCalled();
114
+ expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T00:00:00' );
96
115
  } );
97
116
 
98
- it( 'should call onChange with an updated hour (24-hour clock)', () => {
117
+ it( 'should call onChange with an updated hour (24-hour clock)', async () => {
118
+ const user = userEvent.setup( {
119
+ advanceTimers: jest.advanceTimersByTime,
120
+ } );
121
+
99
122
  const onChangeSpy = jest.fn();
100
123
 
101
124
  render(
@@ -108,13 +131,18 @@ describe( 'TimePicker', () => {
108
131
 
109
132
  const hoursInput = screen.getByLabelText( 'Hours' );
110
133
 
111
- fireEvent.change( hoursInput, { target: { value: '22' } } );
112
- fireEvent.blur( hoursInput );
134
+ await user.clear( hoursInput );
135
+ await user.type( hoursInput, '22' );
136
+ await user.keyboard( '{Tab}' );
113
137
 
114
138
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T22:00:00' );
115
139
  } );
116
140
 
117
- it( 'should not call onChange with an updated minute if out of bounds', () => {
141
+ it( 'should call onChange with a bounded minute if out of bounds', async () => {
142
+ const user = userEvent.setup( {
143
+ advanceTimers: jest.advanceTimersByTime,
144
+ } );
145
+
118
146
  const onChangeSpy = jest.fn();
119
147
 
120
148
  render(
@@ -127,13 +155,18 @@ describe( 'TimePicker', () => {
127
155
 
128
156
  const minutesInput = screen.getByLabelText( 'Minutes' );
129
157
 
130
- fireEvent.change( minutesInput, { target: { value: '99' } } );
131
- fireEvent.blur( minutesInput );
158
+ await user.clear( minutesInput );
159
+ await user.type( minutesInput, '99' );
160
+ await user.keyboard( '{Tab}' );
132
161
 
133
- expect( onChangeSpy ).not.toHaveBeenCalled();
162
+ expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T11:59:00' );
134
163
  } );
135
164
 
136
- it( 'should switch to PM correctly', () => {
165
+ it( 'should switch to PM correctly', async () => {
166
+ const user = userEvent.setup( {
167
+ advanceTimers: jest.advanceTimersByTime,
168
+ } );
169
+
137
170
  const onChangeSpy = jest.fn();
138
171
 
139
172
  render(
@@ -146,12 +179,16 @@ describe( 'TimePicker', () => {
146
179
 
147
180
  const pmButton = screen.getByText( 'PM' );
148
181
 
149
- fireEvent.click( pmButton );
182
+ await user.click( pmButton );
150
183
 
151
184
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T23:00:00' );
152
185
  } );
153
186
 
154
- it( 'should switch to AM correctly', () => {
187
+ it( 'should switch to AM correctly', async () => {
188
+ const user = userEvent.setup( {
189
+ advanceTimers: jest.advanceTimersByTime,
190
+ } );
191
+
155
192
  const onChangeSpy = jest.fn();
156
193
 
157
194
  render(
@@ -164,12 +201,16 @@ describe( 'TimePicker', () => {
164
201
 
165
202
  const amButton = screen.getByText( 'AM' );
166
203
 
167
- fireEvent.click( amButton );
204
+ await user.click( amButton );
168
205
 
169
206
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T11:00:00' );
170
207
  } );
171
208
 
172
- it( 'should allow to set the time correctly when the PM period is selected', () => {
209
+ it( 'should allow to set the time correctly when the PM period is selected', async () => {
210
+ const user = userEvent.setup( {
211
+ advanceTimers: jest.advanceTimersByTime,
212
+ } );
213
+
173
214
  const onChangeSpy = jest.fn();
174
215
 
175
216
  render(
@@ -181,11 +222,12 @@ describe( 'TimePicker', () => {
181
222
  );
182
223
 
183
224
  const pmButton = screen.getByText( 'PM' );
184
- fireEvent.click( pmButton );
225
+ await user.click( pmButton );
185
226
 
186
227
  const hoursInput = screen.getByLabelText( 'Hours' );
187
- fireEvent.change( hoursInput, { target: { value: '6' } } );
188
- fireEvent.blur( hoursInput );
228
+ await user.clear( hoursInput );
229
+ await user.type( hoursInput, '6' );
230
+ await user.keyboard( '{Tab}' );
189
231
 
190
232
  // When clicking on 'PM', we expect the time to be 11pm
191
233
  expect( onChangeSpy ).toHaveBeenNthCalledWith(
@@ -199,7 +241,11 @@ describe( 'TimePicker', () => {
199
241
  );
200
242
  } );
201
243
 
202
- it( 'should truncate at the minutes on change', () => {
244
+ it( 'should truncate at the minutes on change', async () => {
245
+ const user = userEvent.setup( {
246
+ advanceTimers: jest.advanceTimersByTime,
247
+ } );
248
+
203
249
  const onChangeSpy = jest.fn();
204
250
 
205
251
  render(
@@ -212,8 +258,9 @@ describe( 'TimePicker', () => {
212
258
 
213
259
  const minutesInput = screen.getByLabelText( 'Minutes' );
214
260
 
215
- fireEvent.change( minutesInput, { target: { value: '22' } } );
216
- fireEvent.blur( minutesInput );
261
+ await user.clear( minutesInput );
262
+ await user.type( minutesInput, '22' );
263
+ await user.keyboard( '{Tab}' );
217
264
 
218
265
  expect( onChangeSpy ).toHaveBeenCalledWith( '1986-10-18T23:22:00' );
219
266
  } );
@@ -237,11 +284,21 @@ describe( 'TimePicker', () => {
237
284
  />
238
285
  );
239
286
 
240
- expect( screen.getByLabelText( 'Month' ).value ).toBe( '07' );
241
- expect( screen.getByLabelText( 'Day' ).value ).toBe( '13' );
242
- expect( screen.getByLabelText( 'Year' ).value ).toBe( '2020' );
243
- expect( screen.getByLabelText( 'Hours' ).value ).toBe( '06' );
244
- expect( screen.getByLabelText( 'Minutes' ).value ).toBe( '00' );
287
+ expect(
288
+ ( screen.getByLabelText( 'Month' ) as HTMLInputElement ).value
289
+ ).toBe( '07' );
290
+ expect(
291
+ ( screen.getByLabelText( 'Day' ) as HTMLInputElement ).value
292
+ ).toBe( '13' );
293
+ expect(
294
+ ( screen.getByLabelText( 'Year' ) as HTMLInputElement ).value
295
+ ).toBe( '2020' );
296
+ expect(
297
+ ( screen.getByLabelText( 'Hours' ) as HTMLInputElement ).value
298
+ ).toBe( '06' );
299
+ expect(
300
+ ( screen.getByLabelText( 'Minutes' ) as HTMLInputElement ).value
301
+ ).toBe( '00' );
245
302
  /**
246
303
  * This is not ideal, but best of we can do for now until we refactor
247
304
  * AM/PM into accessible elements, like radio buttons.
@@ -267,14 +324,12 @@ describe( 'TimePicker', () => {
267
324
  </form>
268
325
  );
269
326
 
270
- const form = screen.getByRole( 'form' );
327
+ const form = screen.getByRole( 'form' ) as HTMLFormElement;
271
328
 
272
- let monthInputIndex = [].indexOf.call(
273
- form.elements,
329
+ let monthInputIndex = Array.from( form.elements ).indexOf(
274
330
  screen.getByLabelText( 'Month' )
275
331
  );
276
- let dayInputIndex = [].indexOf.call(
277
- form.elements,
332
+ let dayInputIndex = Array.from( form.elements ).indexOf(
278
333
  screen.getByLabelText( 'Day' )
279
334
  );
280
335
 
@@ -290,12 +345,10 @@ describe( 'TimePicker', () => {
290
345
  </form>
291
346
  );
292
347
 
293
- monthInputIndex = [].indexOf.call(
294
- form.elements,
348
+ monthInputIndex = Array.from( form.elements ).indexOf(
295
349
  screen.getByLabelText( 'Month' )
296
350
  );
297
- dayInputIndex = [].indexOf.call(
298
- form.elements,
351
+ dayInputIndex = Array.from( form.elements ).indexOf(
299
352
  screen.getByLabelText( 'Day' )
300
353
  );
301
354
 
@@ -313,11 +366,20 @@ describe( 'TimePicker', () => {
313
366
  />
314
367
  );
315
368
 
316
- const monthInput = screen.getByLabelText( 'Month' ).value;
317
- const dayInput = screen.getByLabelText( 'Day' ).value;
318
- const yearInput = screen.getByLabelText( 'Year' ).value;
319
- const hoursInput = screen.getByLabelText( 'Hours' ).value;
320
- const minutesInput = screen.getByLabelText( 'Minutes' ).value;
369
+ const monthInput = ( screen.getByLabelText(
370
+ 'Month'
371
+ ) as HTMLInputElement ).value;
372
+ const dayInput = ( screen.getByLabelText( 'Day' ) as HTMLInputElement )
373
+ .value;
374
+ const yearInput = ( screen.getByLabelText(
375
+ 'Year'
376
+ ) as HTMLInputElement ).value;
377
+ const hoursInput = ( screen.getByLabelText(
378
+ 'Hours'
379
+ ) as HTMLInputElement ).value;
380
+ const minutesInput = ( screen.getByLabelText(
381
+ 'Minutes'
382
+ ) as HTMLInputElement ).value;
321
383
 
322
384
  expect( Number.isNaN( parseInt( monthInput, 10 ) ) ).toBe( false );
323
385
  expect( Number.isNaN( parseInt( dayInput, 10 ) ) ).toBe( false );
@@ -7,10 +7,12 @@ import { __experimentalGetSettings as getDateSettings } from '@wordpress/date';
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
- import Tooltip from '../tooltip';
10
+ import Tooltip from '../../tooltip';
11
+ import { TimeZone as StyledComponent } from './styles';
11
12
 
12
13
  /**
13
- * Displays timezone information when user timezone is different from site timezone.
14
+ * Displays timezone information when user timezone is different from site
15
+ * timezone.
14
16
  */
15
17
  const TimeZone = () => {
16
18
  const { timezone } = getDateSettings();
@@ -24,9 +26,9 @@ const TimeZone = () => {
24
26
  return null;
25
27
  }
26
28
 
27
- const offsetSymbol = timezone.offset >= 0 ? '+' : '';
29
+ const offsetSymbol = Number( timezone.offset ) >= 0 ? '+' : '';
28
30
  const zoneAbbr =
29
- '' !== timezone.abbr && isNaN( timezone.abbr )
31
+ '' !== timezone.abbr && isNaN( Number( timezone.abbr ) )
30
32
  ? timezone.abbr
31
33
  : `UTC${ offsetSymbol }${ timezone.offset }`;
32
34
 
@@ -37,7 +39,9 @@ const TimeZone = () => {
37
39
 
38
40
  return (
39
41
  <Tooltip position="top center" text={ timezoneDetail }>
40
- <div className="components-datetime__timezone">{ zoneAbbr }</div>
42
+ <StyledComponent className="components-datetime__timezone">
43
+ { zoneAbbr }
44
+ </StyledComponent>
41
45
  </Tooltip>
42
46
  );
43
47
  };
@@ -0,0 +1,104 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { Moment } from 'moment';
5
+
6
+ export type TimePickerProps = {
7
+ /**
8
+ * The initial current time the time picker should render.
9
+ */
10
+ currentTime?: Date | string | number | null;
11
+
12
+ /**
13
+ * Whether we use a 12-hour clock. With a 12-hour clock, an AM/PM widget is
14
+ * displayed and the time format is assumed to be `MM-DD-YYYY` (as opposed
15
+ * to the default format `DD-MM-YYYY`).
16
+ */
17
+ is12Hour?: boolean;
18
+
19
+ /**
20
+ * The function called when a new time has been selected. It is passed the
21
+ * time as an argument.
22
+ */
23
+ onChange?: ( time: string ) => void;
24
+ };
25
+
26
+ export type DatePickerEvent = {
27
+ /**
28
+ * The date of the event.
29
+ */
30
+ date: Date;
31
+ };
32
+
33
+ export type DatePickerDayProps = {
34
+ /**
35
+ * The day to display.
36
+ */
37
+ day: Moment;
38
+
39
+ /**
40
+ * List of events to show on this day.
41
+ *
42
+ * @default []
43
+ */
44
+ events?: DatePickerEvent[];
45
+ };
46
+
47
+ export type DatePickerProps = {
48
+ /**
49
+ * The current date and time at initialization. Optionally pass in a `null`
50
+ * value to specify no date is currently selected.
51
+ */
52
+ currentDate?: Date | string | number | null;
53
+
54
+ /**
55
+ * The function called when a new date has been selected. It is passed the
56
+ * date as an argument.
57
+ */
58
+ onChange?: ( date: string ) => void;
59
+
60
+ /**
61
+ * A callback function which receives a Date object representing a day as an
62
+ * argument, and should return a Boolean to signify if the day is valid or
63
+ * not.
64
+ */
65
+ isInvalidDate?: ( date: Date ) => boolean;
66
+
67
+ /**
68
+ * A callback invoked when selecting the previous/next month in the date
69
+ * picker. The callback receives the new month date in the ISO format as an
70
+ * argument.
71
+ */
72
+ onMonthPreviewed?: ( date: string ) => void;
73
+
74
+ /**
75
+ * List of events to show in the date picker. Each event will appear as a
76
+ * dot on the day of the event.
77
+ */
78
+ events?: DatePickerEvent[];
79
+ };
80
+
81
+ export type DateTimePickerProps = Omit< DatePickerProps, 'onChange' > &
82
+ Omit< TimePickerProps, 'currentTime' | 'onChange' > & {
83
+ /**
84
+ * The function called when a new date or time has been selected. It is
85
+ * passed the date and time as an argument.
86
+ */
87
+ onChange?: ( date: string | null ) => void;
88
+
89
+ /**
90
+ * Start opting in to not displaying a Help button which will become the
91
+ * default in a future version.
92
+ *
93
+ * @default false
94
+ */
95
+ __nextRemoveHelpButton?: boolean;
96
+
97
+ /**
98
+ * Start opting in to not displaying a Reset button which will become
99
+ * the default in a future version.
100
+ *
101
+ * @default false
102
+ */
103
+ __nextRemoveResetButton?: boolean;
104
+ };
@@ -1,7 +1,7 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`DimensionControl rendering renders with custom sizes 1`] = `
4
- <ForwardRef(SelectControl)
4
+ <ForwardRef(UnforwardedSelectControl)
5
5
  className="block-editor-dimension-control"
6
6
  hideLabelFromVision={false}
7
7
  label={
@@ -34,7 +34,7 @@ exports[`DimensionControl rendering renders with custom sizes 1`] = `
34
34
  `;
35
35
 
36
36
  exports[`DimensionControl rendering renders with defaults 1`] = `
37
- <ForwardRef(SelectControl)
37
+ <ForwardRef(UnforwardedSelectControl)
38
38
  className="block-editor-dimension-control"
39
39
  hideLabelFromVision={false}
40
40
  label={
@@ -75,7 +75,7 @@ exports[`DimensionControl rendering renders with defaults 1`] = `
75
75
  `;
76
76
 
77
77
  exports[`DimensionControl rendering renders with icon and custom icon label 1`] = `
78
- <ForwardRef(SelectControl)
78
+ <ForwardRef(UnforwardedSelectControl)
79
79
  className="block-editor-dimension-control"
80
80
  hideLabelFromVision={false}
81
81
  label={
@@ -128,7 +128,7 @@ exports[`DimensionControl rendering renders with icon and custom icon label 1`]
128
128
  `;
129
129
 
130
130
  exports[`DimensionControl rendering renders with icon and default icon label 1`] = `
131
- <ForwardRef(SelectControl)
131
+ <ForwardRef(UnforwardedSelectControl)
132
132
  className="block-editor-dimension-control"
133
133
  hideLabelFromVision={false}
134
134
  label={
@@ -1,19 +1,13 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { includes, debounce } from 'lodash';
5
4
  import classnames from 'classnames';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
9
8
  */
10
- import {
11
- createContext,
12
- useCallback,
13
- useLayoutEffect,
14
- useRef,
15
- } from '@wordpress/element';
16
- import { focus } from '@wordpress/dom';
9
+ import { useDisabled } from '@wordpress/compose';
10
+ import { createContext } from '@wordpress/element';
17
11
 
18
12
  /**
19
13
  * Internal dependencies
@@ -23,25 +17,6 @@ import { StyledWrapper } from './styles/disabled-styles';
23
17
  const Context = createContext( false );
24
18
  const { Consumer, Provider } = Context;
25
19
 
26
- /**
27
- * Names of control nodes which qualify for disabled behavior.
28
- *
29
- * See WHATWG HTML Standard: 4.10.18.5: "Enabling and disabling form controls: the disabled attribute".
30
- *
31
- * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute
32
- *
33
- * @type {string[]}
34
- */
35
- const DISABLED_ELIGIBLE_NODE_NAMES = [
36
- 'BUTTON',
37
- 'FIELDSET',
38
- 'INPUT',
39
- 'OPTGROUP',
40
- 'OPTION',
41
- 'SELECT',
42
- 'TEXTAREA',
43
- ];
44
-
45
20
  /**
46
21
  * @typedef OwnProps
47
22
  * @property {string} [className] Classname for the disabled element.
@@ -54,68 +29,8 @@ const DISABLED_ELIGIBLE_NODE_NAMES = [
54
29
  * @return {JSX.Element} Element wrapping the children to disable them when isDisabled is true.
55
30
  */
56
31
  function Disabled( { className, children, isDisabled = true, ...props } ) {
57
- /** @type {import('react').RefObject<HTMLDivElement>} */
58
- const node = useRef( null );
59
-
60
- const disable = () => {
61
- if ( ! node.current ) {
62
- return;
63
- }
64
-
65
- focus.focusable.find( node.current ).forEach( ( focusable ) => {
66
- if (
67
- includes( DISABLED_ELIGIBLE_NODE_NAMES, focusable.nodeName )
68
- ) {
69
- focusable.setAttribute( 'disabled', '' );
70
- }
71
-
72
- if ( focusable.nodeName === 'A' ) {
73
- focusable.setAttribute( 'tabindex', '-1' );
74
- }
75
-
76
- const tabIndex = focusable.getAttribute( 'tabindex' );
77
- if ( tabIndex !== null && tabIndex !== '-1' ) {
78
- focusable.removeAttribute( 'tabindex' );
79
- }
80
-
81
- if ( focusable.hasAttribute( 'contenteditable' ) ) {
82
- focusable.setAttribute( 'contenteditable', 'false' );
83
- }
84
- } );
85
- };
86
-
87
- // Debounce re-disable since disabling process itself will incur
88
- // additional mutations which should be ignored.
89
- const debouncedDisable = useCallback(
90
- debounce( disable, undefined, { leading: true } ),
91
- []
92
- );
93
-
94
- useLayoutEffect( () => {
95
- if ( ! isDisabled ) {
96
- return;
97
- }
98
-
99
- disable();
100
-
101
- /** @type {MutationObserver | undefined} */
102
- let observer;
103
- if ( node.current ) {
104
- observer = new window.MutationObserver( debouncedDisable );
105
- observer.observe( node.current, {
106
- childList: true,
107
- attributes: true,
108
- subtree: true,
109
- } );
110
- }
111
-
112
- return () => {
113
- if ( observer ) {
114
- observer.disconnect();
115
- }
116
- debouncedDisable.cancel();
117
- };
118
- }, [] );
32
+ /** @type {import('react').RefCallback<HTMLDivElement>} */
33
+ const ref = useDisabled();
119
34
 
120
35
  if ( ! isDisabled ) {
121
36
  return <Provider value={ false }>{ children }</Provider>;
@@ -124,7 +39,7 @@ function Disabled( { className, children, isDisabled = true, ...props } ) {
124
39
  return (
125
40
  <Provider value={ true }>
126
41
  <StyledWrapper
127
- ref={ node }
42
+ ref={ ref }
128
43
  className={ classnames( className, 'components-disabled' ) }
129
44
  { ...props }
130
45
  >