@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 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/index.native.js"],"names":["SVG","Path","Circle","Polygon","Rect","G","HorizontalRule","BlockQuotation","default","ColorIndicator","ColorPalette","ColorPicker","Dashicon","Dropdown","DropdownMenu","FocalPointPicker","Toolbar","ToolbarButton","__experimentalToolbarContext","ToolbarGroup","ToolbarItem","ToolbarDropdownMenu","Tooltip","Icon","Spinner","createSlotFill","Slot","Fill","Provider","SlotFillProvider","__experimentalStyleProvider","BaseControl","TextareaControl","PanelBody","PanelActions","Button","__experimentalText","ExternalLink","TextControl","ToggleControl","SandBox","SearchControl","SelectControl","RangeControl","ResizableBox","FooterMessageControl","ColorControl","QueryControls","Notice","NoticeList","RadioControl","UnitControl","useCustomUnits","__experimentalUseCustomUnits","CSS_UNITS","filterUnitsWithSettings","Disabled","withConstrainedTabbing","withFallbackStyles","withFilters","FontSizePicker","withFocusOutside","withFocusReturn","withNotices","withSpokenMessages","__unstableAutocompletionItemsFill","__unstableAutocompletionItemsSlot","Autocomplete","BottomSheet","BottomSheetConsumer","BottomSheetProvider","BottomSheetContext","BottomSheetSelectControl","HTMLTextInput","KeyboardAvoidingView","KeyboardAwareFlatList","Picker","ReadableContentView","CycleSelectControl","Gradient","ColorSettings","SegmentedControls","FocalPointSettingsPanel","BottomSheetTextControl","FooterMessageLink","LinkPicker","LinkPickerScreen","LinkSettings","LinkSettingsScreen","LinkSettingsNavigation","ImageLinkDestinationsScreen","SegmentedControl","Image","IMAGE_DEFAULT_FOCAL_POINT","ImageEditingButton","InserterButton","setClipboard","getClipboard","AudioPlayer","Badge","Gridicons","colorsUtils","WIDE_ALIGNMENTS","ALIGNMENT_BREAKPOINTS","alignmentHelpers","convertUnitToMobile","useConvertUnitToMobile","getValueAndUnit","GlobalStylesContext","useGlobalStyles","withGlobalStyles","getMergedGlobalStyles","getGlobalStyles","getColorsAndGradients","useMobileGlobalStylesColors"],"mappings":"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","sourcesContent":["export {\n\tSVG,\n\tPath,\n\tCircle,\n\tPolygon,\n\tRect,\n\tG,\n\tHorizontalRule,\n\tBlockQuotation,\n} from '@wordpress/primitives';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as FocalPointPicker } from './focal-point-picker';\nexport { default as Toolbar } from './toolbar';\nexport { default as ToolbarButton } from './toolbar-button';\nexport { default as __experimentalToolbarContext } from './toolbar-context';\nexport { default as ToolbarGroup } from './toolbar-group';\nexport { default as ToolbarItem } from './toolbar-item';\nexport { default as ToolbarDropdownMenu } from './toolbar-dropdown-menu';\nexport { default as Tooltip } from './tooltip';\nexport { default as Icon } from './icon';\nexport { default as Spinner } from './spinner';\nexport {\n\tcreateSlotFill,\n\tSlot,\n\tFill,\n\tProvider as SlotFillProvider,\n} from './slot-fill';\n\nexport { default as __experimentalStyleProvider } from './style-provider';\nexport { default as BaseControl } from './base-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelActions } from './panel/actions';\nexport { default as Button } from './button';\nexport { default as __experimentalText } from './text';\nexport { default as ExternalLink } from './external-link';\nexport { default as TextControl } from './text-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as SandBox } from './sandbox';\nexport { default as SearchControl } from './search-control';\nexport { default as SelectControl } from './select-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as FooterMessageControl } from './footer-message-control';\nexport { default as ColorControl } from './color-control';\nexport { default as QueryControls } from './query-controls';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as RadioControl } from './radio-control';\nexport {\n\tdefault as UnitControl,\n\tuseCustomUnits as __experimentalUseCustomUnits,\n} from './unit-control';\nexport {\n\tCSS_UNITS as CSS_UNITS,\n\tfilterUnitsWithSettings as filterUnitsWithSettings,\n} from './unit-control/utils';\nexport { default as Disabled } from './disabled';\n\n// Higher-Order Components.\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\nexport * from './text';\n\n// Mobile Components.\nexport {\n\t__unstableAutocompletionItemsFill,\n\t__unstableAutocompletionItemsSlot,\n} from './mobile/autocompletion-items';\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BottomSheet } from './mobile/bottom-sheet';\nexport {\n\tBottomSheetConsumer,\n\tBottomSheetProvider,\n\tBottomSheetContext,\n} from './mobile/bottom-sheet/bottom-sheet-context';\nexport { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';\nexport { default as HTMLTextInput } from './mobile/html-text-input';\nexport { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';\nexport { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';\nexport { default as Picker } from './mobile/picker';\nexport { default as ReadableContentView } from './mobile/readable-content-view';\nexport { default as CycleSelectControl } from './mobile/cycle-select-control';\nexport { default as Gradient } from './mobile/gradient';\nexport { default as ColorSettings } from './mobile/color-settings';\nexport { default as SegmentedControls } from './mobile/segmented-control';\nexport { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';\nexport { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';\nexport { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';\nexport { LinkPicker } from './mobile/link-picker';\nexport { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';\nexport { default as LinkSettings } from './mobile/link-settings';\nexport { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';\nexport { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';\nexport { default as ImageLinkDestinationsScreen } from './mobile/link-settings/image-link-destinations-screen';\nexport { default as SegmentedControl } from './mobile/segmented-control';\nexport { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';\nexport { default as ImageEditingButton } from './mobile/image/image-editing-button';\nexport { default as InserterButton } from './mobile/inserter-button';\nexport { setClipboard, getClipboard } from './mobile/clipboard';\nexport { default as AudioPlayer } from './mobile/audio-player';\nexport { default as Badge } from './mobile/badge';\nexport { default as Gridicons } from './mobile/gridicons';\n\n// Utils.\nexport { colorsUtils } from './mobile/color-settings/utils';\nexport {\n\tWIDE_ALIGNMENTS,\n\tALIGNMENT_BREAKPOINTS,\n\talignmentHelpers,\n} from './mobile/utils/alignments';\n\n// Hooks.\nexport {\n\tconvertUnitToMobile,\n\tuseConvertUnitToMobile,\n\tgetValueAndUnit,\n} from './mobile/utils/use-unit-converter-to-mobile';\n\nexport {\n\tdefault as GlobalStylesContext,\n\tuseGlobalStyles,\n\twithGlobalStyles,\n\tgetMergedGlobalStyles,\n} from './mobile/global-styles-context';\nexport {\n\tgetGlobalStyles,\n\tgetColorsAndGradients,\n\tuseMobileGlobalStylesColors,\n} from './mobile/global-styles-context/utils';\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/index.native.js"],"names":["SVG","Path","Circle","Polygon","Rect","G","HorizontalRule","BlockQuotation","default","ColorIndicator","ColorPalette","ColorPicker","Dashicon","Dropdown","DropdownMenu","FocalPointPicker","Toolbar","ToolbarButton","__experimentalToolbarContext","ToolbarGroup","ToolbarItem","ToolbarDropdownMenu","Tooltip","Icon","Spinner","createSlotFill","Slot","Fill","Provider","SlotFillProvider","__experimentalStyleProvider","BaseControl","TextareaControl","PanelBody","PanelActions","Button","__experimentalText","ExternalLink","TextControl","ToggleControl","SandBox","SearchControl","SelectControl","RangeControl","ResizableBox","FooterMessageControl","ColorControl","QueryControls","Notice","NoticeList","RadioControl","UnitControl","useCustomUnits","__experimentalUseCustomUnits","CSS_UNITS","filterUnitsWithSettings","Disabled","Draggable","DraggableTrigger","withConstrainedTabbing","withFallbackStyles","withFilters","FontSizePicker","withFocusOutside","withFocusReturn","withNotices","withSpokenMessages","__unstableAutocompletionItemsFill","__unstableAutocompletionItemsSlot","Autocomplete","BottomSheet","BottomSheetConsumer","BottomSheetProvider","BottomSheetContext","BottomSheetSelectControl","HTMLTextInput","KeyboardAvoidingView","KeyboardAwareFlatList","Picker","ReadableContentView","CycleSelectControl","Gradient","ColorSettings","SegmentedControls","FocalPointSettingsPanel","BottomSheetTextControl","FooterMessageLink","LinkPicker","LinkPickerScreen","LinkSettings","LinkSettingsScreen","LinkSettingsNavigation","ImageLinkDestinationsScreen","SegmentedControl","Image","IMAGE_DEFAULT_FOCAL_POINT","ImageEditingButton","InserterButton","setClipboard","getClipboard","AudioPlayer","Badge","Gridicons","colorsUtils","WIDE_ALIGNMENTS","ALIGNMENT_BREAKPOINTS","alignmentHelpers","convertUnitToMobile","useConvertUnitToMobile","getValueAndUnit","GlobalStylesContext","useGlobalStyles","withGlobalStyles","getMergedGlobalStyles","getGlobalStyles","getColorsAndGradients","useMobileGlobalStylesColors"],"mappings":"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","sourcesContent":["export {\n\tSVG,\n\tPath,\n\tCircle,\n\tPolygon,\n\tRect,\n\tG,\n\tHorizontalRule,\n\tBlockQuotation,\n} from '@wordpress/primitives';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as FocalPointPicker } from './focal-point-picker';\nexport { default as Toolbar } from './toolbar';\nexport { default as ToolbarButton } from './toolbar-button';\nexport { default as __experimentalToolbarContext } from './toolbar-context';\nexport { default as ToolbarGroup } from './toolbar-group';\nexport { default as ToolbarItem } from './toolbar-item';\nexport { default as ToolbarDropdownMenu } from './toolbar-dropdown-menu';\nexport { default as Tooltip } from './tooltip';\nexport { default as Icon } from './icon';\nexport { default as Spinner } from './spinner';\nexport {\n\tcreateSlotFill,\n\tSlot,\n\tFill,\n\tProvider as SlotFillProvider,\n} from './slot-fill';\n\nexport { default as __experimentalStyleProvider } from './style-provider';\nexport { default as BaseControl } from './base-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelActions } from './panel/actions';\nexport { default as Button } from './button';\nexport { default as __experimentalText } from './text';\nexport { default as ExternalLink } from './external-link';\nexport { default as TextControl } from './text-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as SandBox } from './sandbox';\nexport { default as SearchControl } from './search-control';\nexport { default as SelectControl } from './select-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as FooterMessageControl } from './footer-message-control';\nexport { default as ColorControl } from './color-control';\nexport { default as QueryControls } from './query-controls';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as RadioControl } from './radio-control';\nexport {\n\tdefault as UnitControl,\n\tuseCustomUnits as __experimentalUseCustomUnits,\n} from './unit-control';\nexport {\n\tCSS_UNITS as CSS_UNITS,\n\tfilterUnitsWithSettings as filterUnitsWithSettings,\n} from './unit-control/utils';\nexport { default as Disabled } from './disabled';\nexport { default as Draggable, DraggableTrigger } from './draggable';\n\n// Higher-Order Components.\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\nexport * from './text';\n\n// Mobile Components.\nexport {\n\t__unstableAutocompletionItemsFill,\n\t__unstableAutocompletionItemsSlot,\n} from './mobile/autocompletion-items';\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BottomSheet } from './mobile/bottom-sheet';\nexport {\n\tBottomSheetConsumer,\n\tBottomSheetProvider,\n\tBottomSheetContext,\n} from './mobile/bottom-sheet/bottom-sheet-context';\nexport { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';\nexport { default as HTMLTextInput } from './mobile/html-text-input';\nexport { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';\nexport { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';\nexport { default as Picker } from './mobile/picker';\nexport { default as ReadableContentView } from './mobile/readable-content-view';\nexport { default as CycleSelectControl } from './mobile/cycle-select-control';\nexport { default as Gradient } from './mobile/gradient';\nexport { default as ColorSettings } from './mobile/color-settings';\nexport { default as SegmentedControls } from './mobile/segmented-control';\nexport { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';\nexport { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';\nexport { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';\nexport { LinkPicker } from './mobile/link-picker';\nexport { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';\nexport { default as LinkSettings } from './mobile/link-settings';\nexport { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';\nexport { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';\nexport { default as ImageLinkDestinationsScreen } from './mobile/link-settings/image-link-destinations-screen';\nexport { default as SegmentedControl } from './mobile/segmented-control';\nexport { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';\nexport { default as ImageEditingButton } from './mobile/image/image-editing-button';\nexport { default as InserterButton } from './mobile/inserter-button';\nexport { setClipboard, getClipboard } from './mobile/clipboard';\nexport { default as AudioPlayer } from './mobile/audio-player';\nexport { default as Badge } from './mobile/badge';\nexport { default as Gridicons } from './mobile/gridicons';\n\n// Utils.\nexport { colorsUtils } from './mobile/color-settings/utils';\nexport {\n\tWIDE_ALIGNMENTS,\n\tALIGNMENT_BREAKPOINTS,\n\talignmentHelpers,\n} from './mobile/utils/alignments';\n\n// Hooks.\nexport {\n\tconvertUnitToMobile,\n\tuseConvertUnitToMobile,\n\tgetValueAndUnit,\n} from './mobile/utils/use-unit-converter-to-mobile';\n\nexport {\n\tdefault as GlobalStylesContext,\n\tuseGlobalStyles,\n\twithGlobalStyles,\n\tgetMergedGlobalStyles,\n} from './mobile/global-styles-context';\nexport {\n\tgetGlobalStyles,\n\tgetColorsAndGradients,\n\tuseMobileGlobalStylesColors,\n} from './mobile/global-styles-context/utils';\n"]}
@@ -18,6 +18,7 @@ import { useState, forwardRef } from '@wordpress/element';
18
18
 
19
19
  import InputBase from './input-base';
20
20
  import InputField from './input-field';
21
+ import { useDraft } from './utils';
21
22
 
22
23
  function useUniqueId(idProp) {
23
24
  const instanceId = useInstanceId(InputControl);
@@ -48,6 +49,11 @@ export function UnforwardedInputControl(_ref, ref) {
48
49
  const [isFocused, setIsFocused] = useState(false);
49
50
  const id = useUniqueId(idProp);
50
51
  const classes = classNames('components-input-control', className);
52
+ const draftHookProps = useDraft({
53
+ value,
54
+ onBlur: props.onBlur,
55
+ onChange
56
+ });
51
57
  return createElement(InputBase, {
52
58
  __unstableInputWidth: __unstableInputWidth,
53
59
  className: classes,
@@ -68,21 +74,19 @@ export function UnforwardedInputControl(_ref, ref) {
68
74
  id: id,
69
75
  isFocused: isFocused,
70
76
  isPressEnterToChange: isPressEnterToChange,
71
- onChange: onChange,
72
77
  onKeyDown: onKeyDown,
73
78
  onValidate: onValidate,
74
79
  ref: ref,
75
80
  setIsFocused: setIsFocused,
76
81
  size: size,
77
- stateReducer: stateReducer,
78
- value: value
79
- })));
82
+ stateReducer: stateReducer
83
+ }, draftHookProps)));
80
84
  }
81
85
  /**
82
86
  * InputControl components let users enter and edit text. This is an experimental component
83
87
  * intended to (in time) merge with or replace `TextControl`.
84
88
  *
85
- * @example
89
+ * ```jsx
86
90
  * import { __experimentalInputControl as InputControl } from '@wordpress/components';
87
91
  * import { useState } from '@wordpress/compose';
88
92
  *
@@ -92,10 +96,11 @@ export function UnforwardedInputControl(_ref, ref) {
92
96
  * return (
93
97
  * <InputControl
94
98
  * value={ value }
95
- * onChange={ ( nextValue ) => setValue( nextValue ) }
99
+ * onChange={ ( nextValue ) => setValue( nextValue ?? '' ) }
96
100
  * />
97
101
  * );
98
102
  * };
103
+ * ```
99
104
  */
100
105
 
101
106
  export const InputControl = forwardRef(UnforwardedInputControl);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/input-control/index.tsx"],"names":["noop","classNames","useInstanceId","useState","forwardRef","InputBase","InputField","useUniqueId","idProp","instanceId","InputControl","id","UnforwardedInputControl","ref","__unstableStateReducer","stateReducer","state","__unstableInputWidth","className","disabled","hideLabelFromVision","isPressEnterToChange","label","labelPosition","onChange","onValidate","onKeyDown","prefix","size","suffix","value","props","isFocused","setIsFocused","classes"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;AAGA;AACA;AACA;AACA,SAASC,aAAT,QAA8B,oBAA9B;AACA,SAASC,QAAT,EAAmBC,UAAnB,QAAqC,oBAArC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,UAAP,MAAuB,eAAvB;;AAGA,SAASC,WAAT,CAAsBC,MAAtB,EAAwC;AACvC,QAAMC,UAAU,GAAGP,aAAa,CAAEQ,YAAF,CAAhC;AACA,QAAMC,EAAE,GAAI,2BAA2BF,UAAY,EAAnD;AAEA,SAAOD,MAAM,IAAIG,EAAjB;AACA;;AAED,OAAO,SAASC,uBAAT,OAoBNC,GApBM,EAqBL;AAAA,MApBD;AACCC,IAAAA,sBAAsB,EAAEC,YAAY,GAAKC,KAAF,IAAaA,KADrD;AAECC,IAAAA,oBAFD;AAGCC,IAAAA,SAHD;AAICC,IAAAA,QAAQ,GAAG,KAJZ;AAKCC,IAAAA,mBAAmB,GAAG,KALvB;AAMCT,IAAAA,EAAE,EAAEH,MANL;AAOCa,IAAAA,oBAAoB,GAAG,KAPxB;AAQCC,IAAAA,KARD;AASCC,IAAAA,aAAa,GAAG,KATjB;AAUCC,IAAAA,QAAQ,GAAGxB,IAVZ;AAWCyB,IAAAA,UAAU,GAAGzB,IAXd;AAYC0B,IAAAA,SAAS,GAAG1B,IAZb;AAaC2B,IAAAA,MAbD;AAcCC,IAAAA,IAAI,GAAG,SAdR;AAeCC,IAAAA,MAfD;AAgBCC,IAAAA,KAhBD;AAiBC,OAAGC;AAjBJ,GAoBC;AACD,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B9B,QAAQ,CAAE,KAAF,CAA5C;AAEA,QAAMQ,EAAE,GAAGJ,WAAW,CAAEC,MAAF,CAAtB;AACA,QAAM0B,OAAO,GAAGjC,UAAU,CAAE,0BAAF,EAA8BiB,SAA9B,CAA1B;AAEA,SACC,cAAC,SAAD;AACC,IAAA,oBAAoB,EAAGD,oBADxB;AAEC,IAAA,SAAS,EAAGiB,OAFb;AAGC,IAAA,QAAQ,EAAGf,QAHZ;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,mBAAmB,EAAGC,mBALvB;AAMC,IAAA,EAAE,EAAGT,EANN;AAOC,IAAA,SAAS,EAAGqB,SAPb;AAQC,IAAA,OAAO,EAAC,MART;AASC,IAAA,KAAK,EAAGV,KATT;AAUC,IAAA,aAAa,EAAGC,aAVjB;AAWC,IAAA,MAAM,EAAGI,MAXV;AAYC,IAAA,IAAI,EAAGC,IAZR;AAaC,IAAA,MAAM,EAAGC;AAbV,KAeC,cAAC,UAAD,eACME,KADN;AAEC,IAAA,SAAS,EAAC,iCAFX;AAGC,IAAA,QAAQ,EAAGZ,QAHZ;AAIC,IAAA,EAAE,EAAGR,EAJN;AAKC,IAAA,SAAS,EAAGqB,SALb;AAMC,IAAA,oBAAoB,EAAGX,oBANxB;AAOC,IAAA,QAAQ,EAAGG,QAPZ;AAQC,IAAA,SAAS,EAAGE,SARb;AASC,IAAA,UAAU,EAAGD,UATd;AAUC,IAAA,GAAG,EAAGZ,GAVP;AAWC,IAAA,YAAY,EAAGoB,YAXhB;AAYC,IAAA,IAAI,EAAGL,IAZR;AAaC,IAAA,YAAY,EAAGb,YAbhB;AAcC,IAAA,KAAK,EAAGe;AAdT,KAfD,CADD;AAkCA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMpB,YAAY,GAAGN,UAAU,CAAEQ,uBAAF,CAA/B;AAEP,eAAeF,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InputBase from './input-base';\nimport InputField from './input-field';\nimport type { InputControlProps } from './types';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( InputControl );\n\tconst id = `inspector-input-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport function UnforwardedInputControl(\n\t{\n\t\t__unstableStateReducer: stateReducer = ( state ) => state,\n\t\t__unstableInputWidth,\n\t\tclassName,\n\t\tdisabled = false,\n\t\thideLabelFromVision = false,\n\t\tid: idProp,\n\t\tisPressEnterToChange = false,\n\t\tlabel,\n\t\tlabelPosition = 'top',\n\t\tonChange = noop,\n\t\tonValidate = noop,\n\t\tonKeyDown = noop,\n\t\tprefix,\n\t\tsize = 'default',\n\t\tsuffix,\n\t\tvalue,\n\t\t...props\n\t}: InputControlProps,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst id = useUniqueId( idProp );\n\tconst classes = classNames( 'components-input-control', className );\n\n\treturn (\n\t\t<InputBase\n\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\tclassName={ classes }\n\t\t\tdisabled={ disabled }\n\t\t\tgap={ 3 }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tid={ id }\n\t\t\tisFocused={ isFocused }\n\t\t\tjustify=\"left\"\n\t\t\tlabel={ label }\n\t\t\tlabelPosition={ labelPosition }\n\t\t\tprefix={ prefix }\n\t\t\tsize={ size }\n\t\t\tsuffix={ suffix }\n\t\t>\n\t\t\t<InputField\n\t\t\t\t{ ...props }\n\t\t\t\tclassName=\"components-input-control__input\"\n\t\t\t\tdisabled={ disabled }\n\t\t\t\tid={ id }\n\t\t\t\tisFocused={ isFocused }\n\t\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonValidate={ onValidate }\n\t\t\t\tref={ ref }\n\t\t\t\tsetIsFocused={ setIsFocused }\n\t\t\t\tsize={ size }\n\t\t\t\tstateReducer={ stateReducer }\n\t\t\t\tvalue={ value }\n\t\t\t/>\n\t\t</InputBase>\n\t);\n}\n\n/**\n * InputControl components let users enter and edit text. This is an experimental component\n * intended to (in time) merge with or replace `TextControl`.\n *\n * @example\n * import { __experimentalInputControl as InputControl } from '@wordpress/components';\n * import { useState } from '@wordpress/compose';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '' );\n *\n * return (\n * \t<InputControl\n * \t\tvalue={ value }\n * \t\tonChange={ ( nextValue ) => setValue( nextValue ) }\n * \t/>\n * );\n * };\n */\nexport const InputControl = forwardRef( UnforwardedInputControl );\n\nexport default InputControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/input-control/index.tsx"],"names":["noop","classNames","useInstanceId","useState","forwardRef","InputBase","InputField","useDraft","useUniqueId","idProp","instanceId","InputControl","id","UnforwardedInputControl","ref","__unstableStateReducer","stateReducer","state","__unstableInputWidth","className","disabled","hideLabelFromVision","isPressEnterToChange","label","labelPosition","onChange","onValidate","onKeyDown","prefix","size","suffix","value","props","isFocused","setIsFocused","classes","draftHookProps","onBlur"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;AAGA;AACA;AACA;AACA,SAASC,aAAT,QAA8B,oBAA9B;AACA,SAASC,QAAT,EAAmBC,UAAnB,QAAqC,oBAArC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AAEA,SAASC,QAAT,QAAyB,SAAzB;;AAEA,SAASC,WAAT,CAAsBC,MAAtB,EAAwC;AACvC,QAAMC,UAAU,GAAGR,aAAa,CAAES,YAAF,CAAhC;AACA,QAAMC,EAAE,GAAI,2BAA2BF,UAAY,EAAnD;AAEA,SAAOD,MAAM,IAAIG,EAAjB;AACA;;AAED,OAAO,SAASC,uBAAT,OAoBNC,GApBM,EAqBL;AAAA,MApBD;AACCC,IAAAA,sBAAsB,EAAEC,YAAY,GAAKC,KAAF,IAAaA,KADrD;AAECC,IAAAA,oBAFD;AAGCC,IAAAA,SAHD;AAICC,IAAAA,QAAQ,GAAG,KAJZ;AAKCC,IAAAA,mBAAmB,GAAG,KALvB;AAMCT,IAAAA,EAAE,EAAEH,MANL;AAOCa,IAAAA,oBAAoB,GAAG,KAPxB;AAQCC,IAAAA,KARD;AASCC,IAAAA,aAAa,GAAG,KATjB;AAUCC,IAAAA,QAAQ,GAAGzB,IAVZ;AAWC0B,IAAAA,UAAU,GAAG1B,IAXd;AAYC2B,IAAAA,SAAS,GAAG3B,IAZb;AAaC4B,IAAAA,MAbD;AAcCC,IAAAA,IAAI,GAAG,SAdR;AAeCC,IAAAA,MAfD;AAgBCC,IAAAA,KAhBD;AAiBC,OAAGC;AAjBJ,GAoBC;AACD,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B/B,QAAQ,CAAE,KAAF,CAA5C;AAEA,QAAMS,EAAE,GAAGJ,WAAW,CAAEC,MAAF,CAAtB;AACA,QAAM0B,OAAO,GAAGlC,UAAU,CAAE,0BAAF,EAA8BkB,SAA9B,CAA1B;AAEA,QAAMiB,cAAc,GAAG7B,QAAQ,CAAE;AAChCwB,IAAAA,KADgC;AAEhCM,IAAAA,MAAM,EAAEL,KAAK,CAACK,MAFkB;AAGhCZ,IAAAA;AAHgC,GAAF,CAA/B;AAMA,SACC,cAAC,SAAD;AACC,IAAA,oBAAoB,EAAGP,oBADxB;AAEC,IAAA,SAAS,EAAGiB,OAFb;AAGC,IAAA,QAAQ,EAAGf,QAHZ;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,mBAAmB,EAAGC,mBALvB;AAMC,IAAA,EAAE,EAAGT,EANN;AAOC,IAAA,SAAS,EAAGqB,SAPb;AAQC,IAAA,OAAO,EAAC,MART;AASC,IAAA,KAAK,EAAGV,KATT;AAUC,IAAA,aAAa,EAAGC,aAVjB;AAWC,IAAA,MAAM,EAAGI,MAXV;AAYC,IAAA,IAAI,EAAGC,IAZR;AAaC,IAAA,MAAM,EAAGC;AAbV,KAeC,cAAC,UAAD,eACME,KADN;AAEC,IAAA,SAAS,EAAC,iCAFX;AAGC,IAAA,QAAQ,EAAGZ,QAHZ;AAIC,IAAA,EAAE,EAAGR,EAJN;AAKC,IAAA,SAAS,EAAGqB,SALb;AAMC,IAAA,oBAAoB,EAAGX,oBANxB;AAOC,IAAA,SAAS,EAAGK,SAPb;AAQC,IAAA,UAAU,EAAGD,UARd;AASC,IAAA,GAAG,EAAGZ,GATP;AAUC,IAAA,YAAY,EAAGoB,YAVhB;AAWC,IAAA,IAAI,EAAGL,IAXR;AAYC,IAAA,YAAY,EAAGb;AAZhB,KAaMoB,cAbN,EAfD,CADD;AAiCA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMzB,YAAY,GAAGP,UAAU,CAAES,uBAAF,CAA/B;AAEP,eAAeF,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InputBase from './input-base';\nimport InputField from './input-field';\nimport type { InputControlProps } from './types';\nimport { useDraft } from './utils';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( InputControl );\n\tconst id = `inspector-input-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport function UnforwardedInputControl(\n\t{\n\t\t__unstableStateReducer: stateReducer = ( state ) => state,\n\t\t__unstableInputWidth,\n\t\tclassName,\n\t\tdisabled = false,\n\t\thideLabelFromVision = false,\n\t\tid: idProp,\n\t\tisPressEnterToChange = false,\n\t\tlabel,\n\t\tlabelPosition = 'top',\n\t\tonChange = noop,\n\t\tonValidate = noop,\n\t\tonKeyDown = noop,\n\t\tprefix,\n\t\tsize = 'default',\n\t\tsuffix,\n\t\tvalue,\n\t\t...props\n\t}: InputControlProps,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst id = useUniqueId( idProp );\n\tconst classes = classNames( 'components-input-control', className );\n\n\tconst draftHookProps = useDraft( {\n\t\tvalue,\n\t\tonBlur: props.onBlur,\n\t\tonChange,\n\t} );\n\n\treturn (\n\t\t<InputBase\n\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\tclassName={ classes }\n\t\t\tdisabled={ disabled }\n\t\t\tgap={ 3 }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tid={ id }\n\t\t\tisFocused={ isFocused }\n\t\t\tjustify=\"left\"\n\t\t\tlabel={ label }\n\t\t\tlabelPosition={ labelPosition }\n\t\t\tprefix={ prefix }\n\t\t\tsize={ size }\n\t\t\tsuffix={ suffix }\n\t\t>\n\t\t\t<InputField\n\t\t\t\t{ ...props }\n\t\t\t\tclassName=\"components-input-control__input\"\n\t\t\t\tdisabled={ disabled }\n\t\t\t\tid={ id }\n\t\t\t\tisFocused={ isFocused }\n\t\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonValidate={ onValidate }\n\t\t\t\tref={ ref }\n\t\t\t\tsetIsFocused={ setIsFocused }\n\t\t\t\tsize={ size }\n\t\t\t\tstateReducer={ stateReducer }\n\t\t\t\t{ ...draftHookProps }\n\t\t\t/>\n\t\t</InputBase>\n\t);\n}\n\n/**\n * InputControl components let users enter and edit text. This is an experimental component\n * intended to (in time) merge with or replace `TextControl`.\n *\n * ```jsx\n * import { __experimentalInputControl as InputControl } from '@wordpress/components';\n * import { useState } from '@wordpress/compose';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '' );\n *\n * return (\n * \t<InputControl\n * \t\tvalue={ value }\n * \t\tonChange={ ( nextValue ) => setValue( nextValue ?? '' ) }\n * \t/>\n * );\n * };\n * ```\n */\nexport const InputControl = forwardRef( UnforwardedInputControl );\n\nexport default InputControl;\n"]}
@@ -18,7 +18,6 @@ import { forwardRef, useRef } from '@wordpress/element';
18
18
  import { useDragCursor } from './utils';
19
19
  import { Input } from './styles/input-control-styles';
20
20
  import { useInputControlStateReducer } from './reducer/reducer';
21
- import { useUpdateEffect } from '../utils';
22
21
 
23
22
  function InputField(_ref, ref) {
24
23
  let {
@@ -62,37 +61,14 @@ function InputField(_ref, ref) {
62
61
  isDragEnabled,
63
62
  value: valueProp,
64
63
  isPressEnterToChange
65
- });
64
+ }, onChange);
66
65
  const {
67
- _event,
68
66
  value,
69
67
  isDragging,
70
68
  isDirty
71
69
  } = state;
72
70
  const wasDirtyOnBlur = useRef(false);
73
71
  const dragCursor = useDragCursor(isDragging, dragDirection);
74
- /*
75
- * Handles synchronization of external and internal value state.
76
- * If not focused and did not hold a dirty value[1] on blur
77
- * updates the value from the props. Otherwise if not holding
78
- * a dirty value[1] propagates the value and event through onChange.
79
- * [1] value is only made dirty if isPressEnterToChange is true
80
- */
81
-
82
- useUpdateEffect(() => {
83
- if (valueProp === value) {
84
- return;
85
- }
86
-
87
- if (!isFocused && !wasDirtyOnBlur.current) {
88
- commit(valueProp, _event);
89
- } else if (!isDirty) {
90
- onChange(value, {
91
- event: _event
92
- });
93
- wasDirtyOnBlur.current = false;
94
- }
95
- }, [value, isDirty, isFocused, valueProp]);
96
72
 
97
73
  const handleOnBlur = event => {
98
74
  onBlur(event);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/input-control/input-field.tsx"],"names":["noop","useDrag","forwardRef","useRef","useDragCursor","Input","useInputControlStateReducer","useUpdateEffect","InputField","ref","disabled","dragDirection","dragThreshold","id","isDragEnabled","isFocused","isPressEnterToChange","onBlur","onChange","onDrag","onDragEnd","onDragStart","onFocus","onKeyDown","onValidate","size","setIsFocused","stateReducer","state","value","valueProp","type","props","change","commit","drag","dragEnd","dragStart","invalidate","pressDown","pressEnter","pressUp","reset","_event","isDragging","isDirty","wasDirtyOnBlur","dragCursor","current","event","handleOnBlur","target","validity","valid","handleOnCommit","handleOnFocus","handleOnChange","nextValue","currentTarget","err","handleOnKeyDown","key","preventDefault","dragGestureProps","dragProps","distance","dragging","stopPropagation","axis","threshold","enabled","pointer","capture","handleOnMouseDown","onMouseDown","ownerDocument","activeElement","focus","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useDrag } from '@use-gesture/react';\nimport type {\n\tSyntheticEvent,\n\tChangeEvent,\n\tKeyboardEvent,\n\tPointerEvent,\n\tFocusEvent,\n\tForwardedRef,\n\tMouseEvent,\n} from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport { useDragCursor } from './utils';\nimport { Input } from './styles/input-control-styles';\nimport { useInputControlStateReducer } from './reducer/reducer';\nimport { useUpdateEffect } from '../utils';\nimport type { InputFieldProps } from './types';\n\nfunction InputField(\n\t{\n\t\tdisabled = false,\n\t\tdragDirection = 'n',\n\t\tdragThreshold = 10,\n\t\tid,\n\t\tisDragEnabled = false,\n\t\tisFocused,\n\t\tisPressEnterToChange = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonDrag = noop,\n\t\tonDragEnd = noop,\n\t\tonDragStart = noop,\n\t\tonFocus = noop,\n\t\tonKeyDown = noop,\n\t\tonValidate = noop,\n\t\tsize = 'default',\n\t\tsetIsFocused,\n\t\tstateReducer = ( state: any ) => state,\n\t\tvalue: valueProp,\n\t\ttype,\n\t\t...props\n\t}: WordPressComponentProps< InputFieldProps, 'input', false >,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t// State.\n\t\tstate,\n\t\t// Actions.\n\t\tchange,\n\t\tcommit,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t} = useInputControlStateReducer( stateReducer, {\n\t\tisDragEnabled,\n\t\tvalue: valueProp,\n\t\tisPressEnterToChange,\n\t} );\n\n\tconst { _event, value, isDragging, isDirty } = state;\n\tconst wasDirtyOnBlur = useRef( false );\n\n\tconst dragCursor = useDragCursor( isDragging, dragDirection );\n\n\t/*\n\t * Handles synchronization of external and internal value state.\n\t * If not focused and did not hold a dirty value[1] on blur\n\t * updates the value from the props. Otherwise if not holding\n\t * a dirty value[1] propagates the value and event through onChange.\n\t * [1] value is only made dirty if isPressEnterToChange is true\n\t */\n\tuseUpdateEffect( () => {\n\t\tif ( valueProp === value ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! isFocused && ! wasDirtyOnBlur.current ) {\n\t\t\tcommit( valueProp, _event as SyntheticEvent );\n\t\t} else if ( ! isDirty ) {\n\t\t\tonChange( value, {\n\t\t\t\tevent: _event as\n\t\t\t\t\t| ChangeEvent< HTMLInputElement >\n\t\t\t\t\t| PointerEvent< HTMLInputElement >,\n\t\t\t} );\n\t\t\twasDirtyOnBlur.current = false;\n\t\t}\n\t}, [ value, isDirty, isFocused, valueProp ] );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused?.( false );\n\n\t\t/**\n\t\t * If isPressEnterToChange is set, this commits the value to\n\t\t * the onChange callback.\n\t\t */\n\t\tif ( isDirty || ! event.target.validity.valid ) {\n\t\t\twasDirtyOnBlur.current = true;\n\t\t\thandleOnCommit( event );\n\t\t}\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused?.( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.target.value;\n\t\tchange( nextValue, event );\n\t};\n\n\tconst handleOnCommit = ( event: SyntheticEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.currentTarget.value;\n\n\t\ttry {\n\t\t\tonValidate( nextValue );\n\t\t\tcommit( nextValue, event );\n\t\t} catch ( err ) {\n\t\t\tinvalidate( err, event );\n\t\t}\n\t};\n\n\tconst handleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\tconst { key } = event;\n\t\tonKeyDown( event );\n\n\t\tswitch ( key ) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpressUp( event );\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpressDown( event );\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\tpressEnter( event );\n\n\t\t\t\tif ( isPressEnterToChange ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleOnCommit( event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treset( valueProp, event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst dragGestureProps = useDrag< PointerEvent< HTMLInputElement > >(\n\t\t( dragProps ) => {\n\t\t\tconst { distance, dragging, event, target } = dragProps;\n\n\t\t\t// The `target` prop always references the `input` element while, by\n\t\t\t// default, the `dragProps.event.target` property would reference the real\n\t\t\t// event target (i.e. any DOM element that the pointer is hovering while\n\t\t\t// dragging). Ensuring that the `target` is always the `input` element\n\t\t\t// allows consumers of `InputControl` (or any higher-level control) to\n\t\t\t// check the input's validity by accessing `event.target.validity.valid`.\n\t\t\tdragProps.event = {\n\t\t\t\t...dragProps.event,\n\t\t\t\ttarget,\n\t\t\t};\n\n\t\t\tif ( ! distance ) return;\n\t\t\tevent.stopPropagation();\n\n\t\t\t/**\n\t\t\t * Quick return if no longer dragging.\n\t\t\t * This prevents unnecessary value calculations.\n\t\t\t */\n\t\t\tif ( ! dragging ) {\n\t\t\t\tonDragEnd( dragProps );\n\t\t\t\tdragEnd( dragProps );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonDrag( dragProps );\n\t\t\tdrag( dragProps );\n\n\t\t\tif ( ! isDragging ) {\n\t\t\t\tonDragStart( dragProps );\n\t\t\t\tdragStart( dragProps );\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\taxis: dragDirection === 'e' || dragDirection === 'w' ? 'x' : 'y',\n\t\t\tthreshold: dragThreshold,\n\t\t\tenabled: isDragEnabled,\n\t\t\tpointer: { capture: false },\n\t\t}\n\t);\n\n\tconst dragProps = isDragEnabled ? dragGestureProps() : {};\n\t/*\n\t * Works around the odd UA (e.g. Firefox) that does not focus inputs of\n\t * type=number when their spinner arrows are pressed.\n\t */\n\tlet handleOnMouseDown;\n\tif ( type === 'number' ) {\n\t\thandleOnMouseDown = ( event: MouseEvent< HTMLInputElement > ) => {\n\t\t\tprops.onMouseDown?.( event );\n\t\t\tif (\n\t\t\t\tevent.currentTarget !==\n\t\t\t\tevent.currentTarget.ownerDocument.activeElement\n\t\t\t) {\n\t\t\t\tevent.currentTarget.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\t{ ...props }\n\t\t\t{ ...dragProps }\n\t\t\tclassName=\"components-input-control__input\"\n\t\t\tdisabled={ disabled }\n\t\t\tdragCursor={ dragCursor }\n\t\t\tisDragging={ isDragging }\n\t\t\tid={ id }\n\t\t\tonBlur={ handleOnBlur }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonMouseDown={ handleOnMouseDown }\n\t\t\tref={ ref }\n\t\t\tinputSize={ size }\n\t\t\tvalue={ value }\n\t\t\ttype={ type }\n\t\t/>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( InputField );\n\nexport default ForwardedComponent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/input-control/input-field.tsx"],"names":["noop","useDrag","forwardRef","useRef","useDragCursor","Input","useInputControlStateReducer","InputField","ref","disabled","dragDirection","dragThreshold","id","isDragEnabled","isFocused","isPressEnterToChange","onBlur","onChange","onDrag","onDragEnd","onDragStart","onFocus","onKeyDown","onValidate","size","setIsFocused","stateReducer","state","value","valueProp","type","props","change","commit","drag","dragEnd","dragStart","invalidate","pressDown","pressEnter","pressUp","reset","isDragging","isDirty","wasDirtyOnBlur","dragCursor","handleOnBlur","event","target","validity","valid","current","handleOnCommit","handleOnFocus","handleOnChange","nextValue","currentTarget","err","handleOnKeyDown","key","preventDefault","dragGestureProps","dragProps","distance","dragging","stopPropagation","axis","threshold","enabled","pointer","capture","handleOnMouseDown","onMouseDown","ownerDocument","activeElement","focus","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useDrag } from '@use-gesture/react';\nimport type {\n\tSyntheticEvent,\n\tChangeEvent,\n\tKeyboardEvent,\n\tPointerEvent,\n\tFocusEvent,\n\tForwardedRef,\n\tMouseEvent,\n} from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport { useDragCursor } from './utils';\nimport { Input } from './styles/input-control-styles';\nimport { useInputControlStateReducer } from './reducer/reducer';\nimport type { InputFieldProps } from './types';\n\nfunction InputField(\n\t{\n\t\tdisabled = false,\n\t\tdragDirection = 'n',\n\t\tdragThreshold = 10,\n\t\tid,\n\t\tisDragEnabled = false,\n\t\tisFocused,\n\t\tisPressEnterToChange = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonDrag = noop,\n\t\tonDragEnd = noop,\n\t\tonDragStart = noop,\n\t\tonFocus = noop,\n\t\tonKeyDown = noop,\n\t\tonValidate = noop,\n\t\tsize = 'default',\n\t\tsetIsFocused,\n\t\tstateReducer = ( state: any ) => state,\n\t\tvalue: valueProp,\n\t\ttype,\n\t\t...props\n\t}: WordPressComponentProps< InputFieldProps, 'input', false >,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t// State.\n\t\tstate,\n\t\t// Actions.\n\t\tchange,\n\t\tcommit,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t} = useInputControlStateReducer(\n\t\tstateReducer,\n\t\t{\n\t\t\tisDragEnabled,\n\t\t\tvalue: valueProp,\n\t\t\tisPressEnterToChange,\n\t\t},\n\t\tonChange\n\t);\n\n\tconst { value, isDragging, isDirty } = state;\n\tconst wasDirtyOnBlur = useRef( false );\n\n\tconst dragCursor = useDragCursor( isDragging, dragDirection );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused?.( false );\n\n\t\t/**\n\t\t * If isPressEnterToChange is set, this commits the value to\n\t\t * the onChange callback.\n\t\t */\n\t\tif ( isDirty || ! event.target.validity.valid ) {\n\t\t\twasDirtyOnBlur.current = true;\n\t\t\thandleOnCommit( event );\n\t\t}\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused?.( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.target.value;\n\t\tchange( nextValue, event );\n\t};\n\n\tconst handleOnCommit = ( event: SyntheticEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.currentTarget.value;\n\n\t\ttry {\n\t\t\tonValidate( nextValue );\n\t\t\tcommit( nextValue, event );\n\t\t} catch ( err ) {\n\t\t\tinvalidate( err, event );\n\t\t}\n\t};\n\n\tconst handleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\tconst { key } = event;\n\t\tonKeyDown( event );\n\n\t\tswitch ( key ) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpressUp( event );\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpressDown( event );\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\tpressEnter( event );\n\n\t\t\t\tif ( isPressEnterToChange ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleOnCommit( event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treset( valueProp, event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst dragGestureProps = useDrag< PointerEvent< HTMLInputElement > >(\n\t\t( dragProps ) => {\n\t\t\tconst { distance, dragging, event, target } = dragProps;\n\n\t\t\t// The `target` prop always references the `input` element while, by\n\t\t\t// default, the `dragProps.event.target` property would reference the real\n\t\t\t// event target (i.e. any DOM element that the pointer is hovering while\n\t\t\t// dragging). Ensuring that the `target` is always the `input` element\n\t\t\t// allows consumers of `InputControl` (or any higher-level control) to\n\t\t\t// check the input's validity by accessing `event.target.validity.valid`.\n\t\t\tdragProps.event = {\n\t\t\t\t...dragProps.event,\n\t\t\t\ttarget,\n\t\t\t};\n\n\t\t\tif ( ! distance ) return;\n\t\t\tevent.stopPropagation();\n\n\t\t\t/**\n\t\t\t * Quick return if no longer dragging.\n\t\t\t * This prevents unnecessary value calculations.\n\t\t\t */\n\t\t\tif ( ! dragging ) {\n\t\t\t\tonDragEnd( dragProps );\n\t\t\t\tdragEnd( dragProps );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonDrag( dragProps );\n\t\t\tdrag( dragProps );\n\n\t\t\tif ( ! isDragging ) {\n\t\t\t\tonDragStart( dragProps );\n\t\t\t\tdragStart( dragProps );\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\taxis: dragDirection === 'e' || dragDirection === 'w' ? 'x' : 'y',\n\t\t\tthreshold: dragThreshold,\n\t\t\tenabled: isDragEnabled,\n\t\t\tpointer: { capture: false },\n\t\t}\n\t);\n\n\tconst dragProps = isDragEnabled ? dragGestureProps() : {};\n\t/*\n\t * Works around the odd UA (e.g. Firefox) that does not focus inputs of\n\t * type=number when their spinner arrows are pressed.\n\t */\n\tlet handleOnMouseDown;\n\tif ( type === 'number' ) {\n\t\thandleOnMouseDown = ( event: MouseEvent< HTMLInputElement > ) => {\n\t\t\tprops.onMouseDown?.( event );\n\t\t\tif (\n\t\t\t\tevent.currentTarget !==\n\t\t\t\tevent.currentTarget.ownerDocument.activeElement\n\t\t\t) {\n\t\t\t\tevent.currentTarget.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\t{ ...props }\n\t\t\t{ ...dragProps }\n\t\t\tclassName=\"components-input-control__input\"\n\t\t\tdisabled={ disabled }\n\t\t\tdragCursor={ dragCursor }\n\t\t\tisDragging={ isDragging }\n\t\t\tid={ id }\n\t\t\tonBlur={ handleOnBlur }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonMouseDown={ handleOnMouseDown }\n\t\t\tref={ ref }\n\t\t\tinputSize={ size }\n\t\t\tvalue={ value }\n\t\t\ttype={ type }\n\t\t/>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( InputField );\n\nexport default ForwardedComponent;\n"]}
@@ -5,20 +5,20 @@
5
5
  /**
6
6
  * WordPress dependencies
7
7
  */
8
- import { useReducer } from '@wordpress/element';
8
+ import { useReducer, useLayoutEffect, useRef } from '@wordpress/element';
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
12
 
13
13
  import { initialInputControlState, initialStateReducer } from './state';
14
14
  import * as actions from './actions';
15
+
15
16
  /**
16
17
  * Prepares initialState for the reducer.
17
18
  *
18
19
  * @param initialState The initial state.
19
20
  * @return Prepared initialState for the reducer
20
21
  */
21
-
22
22
  function mergeInitialState() {
23
23
  let initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialInputControlState;
24
24
  const {
@@ -104,16 +104,13 @@ function inputControlStateReducer(composedStateReducers) {
104
104
  break;
105
105
  }
106
106
 
107
- if (action.payload.event) {
108
- nextState._event = action.payload.event;
109
- }
107
+ nextState._event = action.payload.event;
110
108
  /**
111
109
  * Send the nextState + action to the composedReducers via
112
110
  * this "bridge" mechanism. This allows external stateReducers
113
111
  * to hook into actions, and modify state if needed.
114
112
  */
115
113
 
116
-
117
114
  return composedStateReducers(nextState, action);
118
115
  };
119
116
  }
@@ -127,8 +124,9 @@ function inputControlStateReducer(composedStateReducers) {
127
124
  * This technique uses the "stateReducer" design pattern:
128
125
  * https://kentcdodds.com/blog/the-state-reducer-pattern/
129
126
  *
130
- * @param stateReducer An external state reducer.
131
- * @param initialState The initial state for the reducer.
127
+ * @param stateReducer An external state reducer.
128
+ * @param initialState The initial state for the reducer.
129
+ * @param onChangeHandler A handler for the onChange event.
132
130
  * @return State, dispatch, and a collection of actions.
133
131
  */
134
132
 
@@ -136,18 +134,10 @@ function inputControlStateReducer(composedStateReducers) {
136
134
  export function useInputControlStateReducer() {
137
135
  let stateReducer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialStateReducer;
138
136
  let initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : initialInputControlState;
137
+ let onChangeHandler = arguments.length > 2 ? arguments[2] : undefined;
139
138
  const [state, dispatch] = useReducer(inputControlStateReducer(stateReducer), mergeInitialState(initialState));
140
139
 
141
140
  const createChangeEvent = type => (nextValue, event) => {
142
- /**
143
- * Persist allows for the (Synthetic) event to be used outside of
144
- * this function call.
145
- * https://reactjs.org/docs/events.html#event-pooling
146
- */
147
- if (event && event.persist) {
148
- event.persist();
149
- }
150
-
151
141
  dispatch({
152
142
  type,
153
143
  payload: {
@@ -158,15 +148,6 @@ export function useInputControlStateReducer() {
158
148
  };
159
149
 
160
150
  const createKeyEvent = type => event => {
161
- /**
162
- * Persist allows for the (Synthetic) event to be used outside of
163
- * this function call.
164
- * https://reactjs.org/docs/events.html#event-pooling
165
- */
166
- if (event && event.persist) {
167
- event.persist();
168
- }
169
-
170
151
  dispatch({
171
152
  type,
172
153
  payload: {
@@ -204,6 +185,37 @@ export function useInputControlStateReducer() {
204
185
  const pressUp = createKeyEvent(actions.PRESS_UP);
205
186
  const pressDown = createKeyEvent(actions.PRESS_DOWN);
206
187
  const pressEnter = createKeyEvent(actions.PRESS_ENTER);
188
+ const currentState = useRef(state);
189
+ const refProps = useRef({
190
+ value: initialState.value,
191
+ onChangeHandler
192
+ });
193
+ useLayoutEffect(() => {
194
+ currentState.current = state;
195
+ refProps.current = {
196
+ value: initialState.value,
197
+ onChangeHandler
198
+ };
199
+ });
200
+ useLayoutEffect(() => {
201
+ if (currentState.current._event !== undefined && state.value !== refProps.current.value && !state.isDirty) {
202
+ var _state$value;
203
+
204
+ refProps.current.onChangeHandler((_state$value = state.value) !== null && _state$value !== void 0 ? _state$value : '', {
205
+ event: currentState.current._event
206
+ });
207
+ }
208
+ }, [state.value, state.isDirty]);
209
+ useLayoutEffect(() => {
210
+ if (initialState.value !== currentState.current.value && !currentState.current.isDirty) {
211
+ dispatch({
212
+ type: actions.RESET,
213
+ payload: {
214
+ value: initialState.value
215
+ }
216
+ });
217
+ }
218
+ }, [initialState.value]);
207
219
  return {
208
220
  change,
209
221
  commit,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/input-control/reducer/reducer.ts"],"names":["useReducer","initialInputControlState","initialStateReducer","actions","mergeInitialState","initialState","value","initialValue","inputControlStateReducer","composedStateReducers","state","action","nextState","type","PRESS_UP","isDirty","PRESS_DOWN","DRAG_START","isDragging","DRAG_END","CHANGE","error","payload","isPressEnterToChange","COMMIT","RESET","INVALIDATE","event","_event","useInputControlStateReducer","stateReducer","dispatch","createChangeEvent","nextValue","persist","createKeyEvent","createDragEvent","change","invalidate","reset","commit","dragStart","drag","DRAG","dragEnd","pressUp","pressDown","pressEnter","PRESS_ENTER"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { SyntheticEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInputState,\n\tStateReducer,\n\tinitialInputControlState,\n\tinitialStateReducer,\n} from './state';\nimport * as actions from './actions';\n\n/**\n * Prepares initialState for the reducer.\n *\n * @param initialState The initial state.\n * @return Prepared initialState for the reducer\n */\nfunction mergeInitialState(\n\tinitialState: Partial< InputState > = initialInputControlState\n): InputState {\n\tconst { value } = initialState;\n\n\treturn {\n\t\t...initialInputControlState,\n\t\t...initialState,\n\t\tinitialValue: value,\n\t} as InputState;\n}\n\n/**\n * Creates a reducer that opens the channel for external state subscription\n * and modification.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param composedStateReducers A custom reducer that can subscribe and modify state.\n * @return The reducer.\n */\nfunction inputControlStateReducer(\n\tcomposedStateReducers: StateReducer\n): StateReducer {\n\treturn ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tswitch ( action.type ) {\n\t\t\t/**\n\t\t\t * Keyboard events\n\t\t\t */\n\t\t\tcase actions.PRESS_UP:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.PRESS_DOWN:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Drag events\n\t\t\t */\n\t\t\tcase actions.DRAG_START:\n\t\t\t\tnextState.isDragging = true;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.DRAG_END:\n\t\t\t\tnextState.isDragging = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Input events\n\t\t\t */\n\t\t\tcase actions.CHANGE:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.value = action.payload.value;\n\n\t\t\t\tif ( state.isPressEnterToChange ) {\n\t\t\t\t\tnextState.isDirty = true;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase actions.COMMIT:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.RESET:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tnextState.value = action.payload.value || state.initialValue;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Validation\n\t\t\t */\n\t\t\tcase actions.INVALIDATE:\n\t\t\t\tnextState.error = action.payload.error;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( action.payload.event ) {\n\t\t\tnextState._event = action.payload.event;\n\t\t}\n\n\t\t/**\n\t\t * Send the nextState + action to the composedReducers via\n\t\t * this \"bridge\" mechanism. This allows external stateReducers\n\t\t * to hook into actions, and modify state if needed.\n\t\t */\n\t\treturn composedStateReducers( nextState, action );\n\t};\n}\n\n/**\n * A custom hook that connects and external stateReducer with an internal\n * reducer. This hook manages the internal state of InputControl.\n * However, by connecting an external stateReducer function, other\n * components can react to actions as well as modify state before it is\n * applied.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param stateReducer An external state reducer.\n * @param initialState The initial state for the reducer.\n * @return State, dispatch, and a collection of actions.\n */\nexport function useInputControlStateReducer(\n\tstateReducer: StateReducer = initialStateReducer,\n\tinitialState: Partial< InputState > = initialInputControlState\n) {\n\tconst [ state, dispatch ] = useReducer< StateReducer >(\n\t\tinputControlStateReducer( stateReducer ),\n\t\tmergeInitialState( initialState )\n\t);\n\n\tconst createChangeEvent = ( type: actions.ChangeEventAction[ 'type' ] ) => (\n\t\tnextValue: actions.ChangeEventAction[ 'payload' ][ 'value' ],\n\t\tevent: actions.ChangeEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype,\n\t\t\tpayload: { value: nextValue, event },\n\t\t} as actions.InputAction );\n\t};\n\n\tconst createKeyEvent = ( type: actions.KeyEventAction[ 'type' ] ) => (\n\t\tevent: actions.KeyEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( { type, payload: { event } } );\n\t};\n\n\tconst createDragEvent = ( type: actions.DragEventAction[ 'type' ] ) => (\n\t\tpayload: actions.DragEventAction[ 'payload' ]\n\t) => {\n\t\tdispatch( { type, payload } );\n\t};\n\n\t/**\n\t * Actions for the reducer\n\t */\n\tconst change = createChangeEvent( actions.CHANGE );\n\tconst invalidate = ( error: unknown, event: SyntheticEvent ) =>\n\t\tdispatch( { type: actions.INVALIDATE, payload: { error, event } } );\n\tconst reset = createChangeEvent( actions.RESET );\n\tconst commit = createChangeEvent( actions.COMMIT );\n\n\tconst dragStart = createDragEvent( actions.DRAG_START );\n\tconst drag = createDragEvent( actions.DRAG );\n\tconst dragEnd = createDragEvent( actions.DRAG_END );\n\n\tconst pressUp = createKeyEvent( actions.PRESS_UP );\n\tconst pressDown = createKeyEvent( actions.PRESS_DOWN );\n\tconst pressEnter = createKeyEvent( actions.PRESS_ENTER );\n\n\treturn {\n\t\tchange,\n\t\tcommit,\n\t\tdispatch,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tstate,\n\t} as const;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/input-control/reducer/reducer.ts"],"names":["useReducer","useLayoutEffect","useRef","initialInputControlState","initialStateReducer","actions","mergeInitialState","initialState","value","initialValue","inputControlStateReducer","composedStateReducers","state","action","nextState","type","PRESS_UP","isDirty","PRESS_DOWN","DRAG_START","isDragging","DRAG_END","CHANGE","error","payload","isPressEnterToChange","COMMIT","RESET","INVALIDATE","_event","event","useInputControlStateReducer","stateReducer","onChangeHandler","dispatch","createChangeEvent","nextValue","createKeyEvent","createDragEvent","change","invalidate","reset","commit","dragStart","drag","DRAG","dragEnd","pressUp","pressDown","pressEnter","PRESS_ENTER","currentState","refProps","current","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { SyntheticEvent, ChangeEvent, PointerEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useReducer, useLayoutEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInputState,\n\tStateReducer,\n\tinitialInputControlState,\n\tinitialStateReducer,\n} from './state';\nimport * as actions from './actions';\nimport type { InputChangeCallback } from '../types';\n\n/**\n * Prepares initialState for the reducer.\n *\n * @param initialState The initial state.\n * @return Prepared initialState for the reducer\n */\nfunction mergeInitialState(\n\tinitialState: Partial< InputState > = initialInputControlState\n): InputState {\n\tconst { value } = initialState;\n\n\treturn {\n\t\t...initialInputControlState,\n\t\t...initialState,\n\t\tinitialValue: value,\n\t} as InputState;\n}\n\n/**\n * Creates a reducer that opens the channel for external state subscription\n * and modification.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param composedStateReducers A custom reducer that can subscribe and modify state.\n * @return The reducer.\n */\nfunction inputControlStateReducer(\n\tcomposedStateReducers: StateReducer\n): StateReducer {\n\treturn ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tswitch ( action.type ) {\n\t\t\t/**\n\t\t\t * Keyboard events\n\t\t\t */\n\t\t\tcase actions.PRESS_UP:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.PRESS_DOWN:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Drag events\n\t\t\t */\n\t\t\tcase actions.DRAG_START:\n\t\t\t\tnextState.isDragging = true;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.DRAG_END:\n\t\t\t\tnextState.isDragging = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Input events\n\t\t\t */\n\t\t\tcase actions.CHANGE:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.value = action.payload.value;\n\n\t\t\t\tif ( state.isPressEnterToChange ) {\n\t\t\t\t\tnextState.isDirty = true;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase actions.COMMIT:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.RESET:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tnextState.value = action.payload.value || state.initialValue;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Validation\n\t\t\t */\n\t\t\tcase actions.INVALIDATE:\n\t\t\t\tnextState.error = action.payload.error;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnextState._event = action.payload.event;\n\n\t\t/**\n\t\t * Send the nextState + action to the composedReducers via\n\t\t * this \"bridge\" mechanism. This allows external stateReducers\n\t\t * to hook into actions, and modify state if needed.\n\t\t */\n\t\treturn composedStateReducers( nextState, action );\n\t};\n}\n\n/**\n * A custom hook that connects and external stateReducer with an internal\n * reducer. This hook manages the internal state of InputControl.\n * However, by connecting an external stateReducer function, other\n * components can react to actions as well as modify state before it is\n * applied.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param stateReducer An external state reducer.\n * @param initialState The initial state for the reducer.\n * @param onChangeHandler A handler for the onChange event.\n * @return State, dispatch, and a collection of actions.\n */\nexport function useInputControlStateReducer(\n\tstateReducer: StateReducer = initialStateReducer,\n\tinitialState: Partial< InputState > = initialInputControlState,\n\tonChangeHandler: InputChangeCallback\n) {\n\tconst [ state, dispatch ] = useReducer< StateReducer >(\n\t\tinputControlStateReducer( stateReducer ),\n\t\tmergeInitialState( initialState )\n\t);\n\n\tconst createChangeEvent = ( type: actions.ChangeEventAction[ 'type' ] ) => (\n\t\tnextValue: actions.ChangeEventAction[ 'payload' ][ 'value' ],\n\t\tevent: actions.ChangeEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\tdispatch( {\n\t\t\ttype,\n\t\t\tpayload: { value: nextValue, event },\n\t\t} as actions.InputAction );\n\t};\n\n\tconst createKeyEvent = ( type: actions.KeyEventAction[ 'type' ] ) => (\n\t\tevent: actions.KeyEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\tdispatch( { type, payload: { event } } );\n\t};\n\n\tconst createDragEvent = ( type: actions.DragEventAction[ 'type' ] ) => (\n\t\tpayload: actions.DragEventAction[ 'payload' ]\n\t) => {\n\t\tdispatch( { type, payload } );\n\t};\n\n\t/**\n\t * Actions for the reducer\n\t */\n\tconst change = createChangeEvent( actions.CHANGE );\n\tconst invalidate = ( error: unknown, event: SyntheticEvent ) =>\n\t\tdispatch( { type: actions.INVALIDATE, payload: { error, event } } );\n\tconst reset = createChangeEvent( actions.RESET );\n\tconst commit = createChangeEvent( actions.COMMIT );\n\n\tconst dragStart = createDragEvent( actions.DRAG_START );\n\tconst drag = createDragEvent( actions.DRAG );\n\tconst dragEnd = createDragEvent( actions.DRAG_END );\n\n\tconst pressUp = createKeyEvent( actions.PRESS_UP );\n\tconst pressDown = createKeyEvent( actions.PRESS_DOWN );\n\tconst pressEnter = createKeyEvent( actions.PRESS_ENTER );\n\n\tconst currentState = useRef( state );\n\tconst refProps = useRef( { value: initialState.value, onChangeHandler } );\n\tuseLayoutEffect( () => {\n\t\tcurrentState.current = state;\n\t\trefProps.current = { value: initialState.value, onChangeHandler };\n\t} );\n\tuseLayoutEffect( () => {\n\t\tif (\n\t\t\tcurrentState.current._event !== undefined &&\n\t\t\tstate.value !== refProps.current.value &&\n\t\t\t! state.isDirty\n\t\t) {\n\t\t\trefProps.current.onChangeHandler( state.value ?? '', {\n\t\t\t\tevent: currentState.current._event as\n\t\t\t\t\t| ChangeEvent< HTMLInputElement >\n\t\t\t\t\t| PointerEvent< HTMLInputElement >,\n\t\t\t} );\n\t\t}\n\t}, [ state.value, state.isDirty ] );\n\tuseLayoutEffect( () => {\n\t\tif (\n\t\t\tinitialState.value !== currentState.current.value &&\n\t\t\t! currentState.current.isDirty\n\t\t) {\n\t\t\tdispatch( {\n\t\t\t\ttype: actions.RESET,\n\t\t\t\tpayload: { value: initialState.value },\n\t\t\t} );\n\t\t}\n\t}, [ initialState.value ] );\n\n\treturn {\n\t\tchange,\n\t\tcommit,\n\t\tdispatch,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tstate,\n\t} as const;\n}\n"]}
@@ -7,7 +7,6 @@
7
7
  */
8
8
  export const initialStateReducer = state => state;
9
9
  export const initialInputControlState = {
10
- _event: {},
11
10
  error: null,
12
11
  initialValue: '',
13
12
  isDirty: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/input-control/reducer/state.ts"],"names":["initialStateReducer","state","initialInputControlState","_event","error","initialValue","isDirty","isDragEnabled","isDragging","isPressEnterToChange","value"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AAgBA,OAAO,MAAMA,mBAAiC,GAAKC,KAAF,IAAyBA,KAAnE;AAEP,OAAO,MAAMC,wBAAoC,GAAG;AACnDC,EAAAA,MAAM,EAAE,EAD2C;AAEnDC,EAAAA,KAAK,EAAE,IAF4C;AAGnDC,EAAAA,YAAY,EAAE,EAHqC;AAInDC,EAAAA,OAAO,EAAE,KAJ0C;AAKnDC,EAAAA,aAAa,EAAE,KALoC;AAMnDC,EAAAA,UAAU,EAAE,KANuC;AAOnDC,EAAAA,oBAAoB,EAAE,KAP6B;AAQnDC,EAAAA,KAAK,EAAE;AAR4C,CAA7C","sourcesContent":["/**\n * External dependencies\n */\nimport type { Reducer } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { InputAction } from './actions';\n\nexport interface InputState {\n\t_event: Event | {};\n\terror: unknown;\n\tinitialValue?: string;\n\tisDirty: boolean;\n\tisDragEnabled: boolean;\n\tisDragging: boolean;\n\tisPressEnterToChange: boolean;\n\tvalue?: string;\n}\n\nexport type StateReducer = Reducer< InputState, InputAction >;\n\nexport const initialStateReducer: StateReducer = ( state: InputState ) => state;\n\nexport const initialInputControlState: InputState = {\n\t_event: {},\n\terror: null,\n\tinitialValue: '',\n\tisDirty: false,\n\tisDragEnabled: false,\n\tisDragging: false,\n\tisPressEnterToChange: false,\n\tvalue: '',\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/input-control/reducer/state.ts"],"names":["initialStateReducer","state","initialInputControlState","error","initialValue","isDirty","isDragEnabled","isDragging","isPressEnterToChange","value"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AAgBA,OAAO,MAAMA,mBAAiC,GAAKC,KAAF,IAAyBA,KAAnE;AAEP,OAAO,MAAMC,wBAAoC,GAAG;AACnDC,EAAAA,KAAK,EAAE,IAD4C;AAEnDC,EAAAA,YAAY,EAAE,EAFqC;AAGnDC,EAAAA,OAAO,EAAE,KAH0C;AAInDC,EAAAA,aAAa,EAAE,KAJoC;AAKnDC,EAAAA,UAAU,EAAE,KALuC;AAMnDC,EAAAA,oBAAoB,EAAE,KAN6B;AAOnDC,EAAAA,KAAK,EAAE;AAP4C,CAA7C","sourcesContent":["/**\n * External dependencies\n */\nimport type { Reducer, SyntheticEvent } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { InputAction } from './actions';\n\nexport interface InputState {\n\t_event?: SyntheticEvent;\n\terror: unknown;\n\tinitialValue?: string;\n\tisDirty: boolean;\n\tisDragEnabled: boolean;\n\tisDragging: boolean;\n\tisPressEnterToChange: boolean;\n\tvalue?: string;\n}\n\nexport type StateReducer = Reducer< InputState, InputAction >;\n\nexport const initialStateReducer: StateReducer = ( state: InputState ) => state;\n\nexport const initialInputControlState: InputState = {\n\terror: null,\n\tinitialValue: '',\n\tisDirty: false,\n\tisDragEnabled: false,\n\tisDragging: false,\n\tisPressEnterToChange: false,\n\tvalue: '',\n};\n"]}