@wordpress/components 19.0.0 → 19.0.4

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 (1440) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CONTRIBUTING.md +12 -12
  3. package/README.md +1 -0
  4. package/build/alignment-matrix-control/cell.js +6 -5
  5. package/build/alignment-matrix-control/cell.js.map +1 -1
  6. package/build/alignment-matrix-control/icon.js +9 -8
  7. package/build/alignment-matrix-control/icon.js.map +1 -1
  8. package/build/alignment-matrix-control/index.js +11 -10
  9. package/build/alignment-matrix-control/index.js.map +1 -1
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +9 -7
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -7
  13. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  14. package/build/alignment-matrix-control/utils.js +5 -4
  15. package/build/alignment-matrix-control/utils.js.map +1 -1
  16. package/build/angle-picker-control/angle-circle.js +6 -5
  17. package/build/angle-picker-control/angle-circle.js.map +1 -1
  18. package/build/angle-picker-control/index.js +11 -7
  19. package/build/angle-picker-control/index.js.map +1 -1
  20. package/build/angle-picker-control/styles/angle-picker-control-styles.js +5 -5
  21. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  22. package/build/animate/index.js +7 -6
  23. package/build/animate/index.js.map +1 -1
  24. package/build/animation/index.js +6 -6
  25. package/build/autocomplete/autocompleter-ui.js +13 -12
  26. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  27. package/build/autocomplete/autocompleter-ui.native.js +15 -12
  28. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  29. package/build/autocomplete/background-view.android.js +4 -3
  30. package/build/autocomplete/background-view.android.js.map +1 -1
  31. package/build/autocomplete/background-view.ios.js +4 -3
  32. package/build/autocomplete/background-view.ios.js.map +1 -1
  33. package/build/autocomplete/get-default-use-items.js +3 -1
  34. package/build/autocomplete/get-default-use-items.js.map +1 -1
  35. package/build/autocomplete/index.js +20 -17
  36. package/build/autocomplete/index.js.map +1 -1
  37. package/build/base-control/index.js +15 -13
  38. package/build/base-control/index.js.map +1 -1
  39. package/build/base-control/index.native.js +6 -5
  40. package/build/base-control/index.native.js.map +1 -1
  41. package/build/base-control/styles/base-control-styles.js +1 -1
  42. package/build/base-field/hook.js +4 -2
  43. package/build/base-field/hook.js.map +1 -1
  44. package/build/base-field/styles.js +1 -1
  45. package/build/box-control/all-input-control.js +12 -11
  46. package/build/box-control/all-input-control.js.map +1 -1
  47. package/build/box-control/axial-input-controls.js +13 -11
  48. package/build/box-control/axial-input-controls.js.map +1 -1
  49. package/build/box-control/icon.js +8 -6
  50. package/build/box-control/icon.js.map +1 -1
  51. package/build/box-control/index.js +22 -18
  52. package/build/box-control/index.js.map +1 -1
  53. package/build/box-control/input-controls.js +17 -14
  54. package/build/box-control/input-controls.js.map +1 -1
  55. package/build/box-control/linked-button.js +5 -4
  56. package/build/box-control/linked-button.js.map +1 -1
  57. package/build/box-control/styles/box-control-icon-styles.js +5 -4
  58. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  59. package/build/box-control/styles/box-control-styles.js +13 -10
  60. package/build/box-control/styles/box-control-styles.js.map +1 -1
  61. package/build/box-control/styles/box-control-visualizer-styles.js +12 -8
  62. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  63. package/build/box-control/unit-control.js +22 -18
  64. package/build/box-control/unit-control.js.map +1 -1
  65. package/build/box-control/utils.js +10 -6
  66. package/build/box-control/utils.js.map +1 -1
  67. package/build/box-control/visualizer.js +32 -26
  68. package/build/box-control/visualizer.js.map +1 -1
  69. package/build/button/deprecated.js +8 -7
  70. package/build/button/deprecated.js.map +1 -1
  71. package/build/button/index.js +10 -9
  72. package/build/button/index.js.map +1 -1
  73. package/build/button-group/index.js +5 -4
  74. package/build/button-group/index.js.map +1 -1
  75. package/build/card/card/component.js +4 -2
  76. package/build/card/card/component.js.map +1 -1
  77. package/build/card/card/hook.js +11 -7
  78. package/build/card/card/hook.js.map +1 -1
  79. package/build/card/card-body/hook.js +4 -2
  80. package/build/card/card-body/hook.js.map +1 -1
  81. package/build/card/card-divider/hook.js +4 -2
  82. package/build/card/card-divider/hook.js.map +1 -1
  83. package/build/card/card-footer/hook.js +4 -2
  84. package/build/card/card-footer/hook.js.map +1 -1
  85. package/build/card/card-header/hook.js +4 -2
  86. package/build/card/card-header/hook.js.map +1 -1
  87. package/build/card/card-media/hook.js +4 -2
  88. package/build/card/card-media/hook.js.map +1 -1
  89. package/build/card/index.js +24 -22
  90. package/build/card/index.js.map +1 -1
  91. package/build/card/styles.js +1 -1
  92. package/build/card/types.js +4 -0
  93. package/build/checkbox-control/index.js +11 -9
  94. package/build/checkbox-control/index.js.map +1 -1
  95. package/build/circular-option-picker/index.js +40 -33
  96. package/build/circular-option-picker/index.js.map +1 -1
  97. package/build/clipboard-button/index.js +9 -8
  98. package/build/clipboard-button/index.js.map +1 -1
  99. package/build/color-control/index.native.js +8 -7
  100. package/build/color-control/index.native.js.map +1 -1
  101. package/build/color-edit/index.js +203 -209
  102. package/build/color-edit/index.js.map +1 -1
  103. package/build/color-edit/styles.js +112 -0
  104. package/build/color-edit/styles.js.map +1 -0
  105. package/build/color-indicator/index.js +13 -10
  106. package/build/color-indicator/index.js.map +1 -1
  107. package/build/color-indicator/index.native.js +12 -10
  108. package/build/color-indicator/index.native.js.map +1 -1
  109. package/build/color-list-picker/index.js +22 -15
  110. package/build/color-list-picker/index.js.map +1 -1
  111. package/build/color-palette/index.js +102 -29
  112. package/build/color-palette/index.js.map +1 -1
  113. package/build/color-palette/index.native.js +23 -20
  114. package/build/color-palette/index.native.js.map +1 -1
  115. package/build/color-palette/styles.js +31 -0
  116. package/build/color-palette/styles.js.map +1 -0
  117. package/build/color-picker/color-display.js +35 -27
  118. package/build/color-picker/color-display.js.map +1 -1
  119. package/build/color-picker/color-input.js +7 -6
  120. package/build/color-picker/color-input.js.map +1 -1
  121. package/build/color-picker/component.js +7 -18
  122. package/build/color-picker/component.js.map +1 -1
  123. package/build/color-picker/hex-input.js +7 -5
  124. package/build/color-picker/hex-input.js.map +1 -1
  125. package/build/color-picker/hsl-input.js +6 -5
  126. package/build/color-picker/hsl-input.js.map +1 -1
  127. package/build/color-picker/index.native.js +23 -20
  128. package/build/color-picker/index.native.js.map +1 -1
  129. package/build/color-picker/input-with-slider.js +9 -8
  130. package/build/color-picker/input-with-slider.js.map +1 -1
  131. package/build/color-picker/picker.js +9 -8
  132. package/build/color-picker/picker.js.map +1 -1
  133. package/build/color-picker/rgb-input.js +6 -5
  134. package/build/color-picker/rgb-input.js.map +1 -1
  135. package/build/color-picker/styles.js +1 -1
  136. package/build/color-picker/types.js +4 -0
  137. package/build/combobox-control/index.js +17 -15
  138. package/build/combobox-control/index.js.map +1 -1
  139. package/build/custom-gradient-bar/constants.js +1 -1
  140. package/build/custom-gradient-bar/control-points.js +120 -108
  141. package/build/custom-gradient-bar/control-points.js.map +1 -1
  142. package/build/custom-gradient-bar/index.js +13 -11
  143. package/build/custom-gradient-bar/index.js.map +1 -1
  144. package/build/custom-gradient-bar/utils.js +9 -7
  145. package/build/custom-gradient-bar/utils.js.map +1 -1
  146. package/build/custom-gradient-picker/constants.js +1 -1
  147. package/build/custom-gradient-picker/index.js +17 -14
  148. package/build/custom-gradient-picker/index.js.map +1 -1
  149. package/build/custom-gradient-picker/index.native.js +6 -5
  150. package/build/custom-gradient-picker/index.native.js.map +1 -1
  151. package/build/custom-gradient-picker/serializer.js +20 -16
  152. package/build/custom-gradient-picker/serializer.js.map +1 -1
  153. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
  154. package/build/custom-gradient-picker/utils.js +7 -6
  155. package/build/custom-gradient-picker/utils.js.map +1 -1
  156. package/build/custom-select-control/index.js +22 -18
  157. package/build/custom-select-control/index.js.map +1 -1
  158. package/build/dashicon/index.js +6 -5
  159. package/build/dashicon/index.js.map +1 -1
  160. package/build/dashicon/index.native.js +9 -6
  161. package/build/dashicon/index.native.js.map +1 -1
  162. package/build/dashicon/types.js +4 -0
  163. package/build/date-time/date.js +5 -4
  164. package/build/date-time/date.js.map +1 -1
  165. package/build/date-time/index.js +9 -8
  166. package/build/date-time/index.js.map +1 -1
  167. package/build/date-time/time.js +14 -11
  168. package/build/date-time/time.js.map +1 -1
  169. package/build/dimension-control/index.js +14 -9
  170. package/build/dimension-control/index.js.map +1 -1
  171. package/build/dimension-control/sizes.js +1 -1
  172. package/build/disabled/index.js +8 -6
  173. package/build/disabled/index.js.map +1 -1
  174. package/build/disabled/index.native.js +4 -3
  175. package/build/disabled/index.native.js.map +1 -1
  176. package/build/divider/styles.js +7 -5
  177. package/build/divider/styles.js.map +1 -1
  178. package/build/divider/types.js +4 -0
  179. package/build/draggable/index.js +13 -11
  180. package/build/draggable/index.js.map +1 -1
  181. package/build/drop-zone/index.js +8 -7
  182. package/build/drop-zone/index.js.map +1 -1
  183. package/build/drop-zone/provider.js +4 -3
  184. package/build/drop-zone/provider.js.map +1 -1
  185. package/build/dropdown/index.js +14 -13
  186. package/build/dropdown/index.js.map +1 -1
  187. package/build/dropdown-menu/index.js +9 -5
  188. package/build/dropdown-menu/index.js.map +1 -1
  189. package/build/dropdown-menu/index.native.js +26 -19
  190. package/build/dropdown-menu/index.native.js.map +1 -1
  191. package/build/duotone-picker/custom-duotone-bar.js +5 -5
  192. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  193. package/build/duotone-picker/duotone-picker.js +16 -13
  194. package/build/duotone-picker/duotone-picker.js.map +1 -1
  195. package/build/duotone-picker/duotone-swatch.js +4 -3
  196. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  197. package/build/duotone-picker/utils.js +29 -16
  198. package/build/duotone-picker/utils.js.map +1 -1
  199. package/build/elevation/hook.js +4 -2
  200. package/build/elevation/hook.js.map +1 -1
  201. package/build/elevation/types.js +4 -0
  202. package/build/external-link/index.js +8 -7
  203. package/build/external-link/index.js.map +1 -1
  204. package/build/external-link/index.native.js +5 -4
  205. package/build/external-link/index.native.js.map +1 -1
  206. package/build/flex/flex/hook.js +10 -6
  207. package/build/flex/flex/hook.js.map +1 -1
  208. package/build/flex/flex-item/hook.js +4 -2
  209. package/build/flex/flex-item/hook.js.map +1 -1
  210. package/build/flex/index.js +12 -10
  211. package/build/flex/index.js.map +1 -1
  212. package/build/flex/styles.js +1 -1
  213. package/build/flex/types.js +4 -0
  214. package/build/flyout/styles.js +5 -3
  215. package/build/flyout/styles.js.map +1 -1
  216. package/build/flyout/types.js +4 -0
  217. package/build/flyout/utils.js +4 -3
  218. package/build/flyout/utils.js.map +1 -1
  219. package/build/focal-point-picker/controls.js +8 -7
  220. package/build/focal-point-picker/controls.js.map +1 -1
  221. package/build/focal-point-picker/focal-point.js +8 -7
  222. package/build/focal-point-picker/focal-point.js.map +1 -1
  223. package/build/focal-point-picker/focal-point.native.js +6 -5
  224. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  225. package/build/focal-point-picker/grid.js +6 -5
  226. package/build/focal-point-picker/grid.js.map +1 -1
  227. package/build/focal-point-picker/index.js +2 -1
  228. package/build/focal-point-picker/index.js.map +1 -1
  229. package/build/focal-point-picker/media.js +19 -16
  230. package/build/focal-point-picker/media.js.map +1 -1
  231. package/build/focal-point-picker/styles/focal-point-picker-style.js +8 -5
  232. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  233. package/build/focal-point-picker/styles/focal-point-style.js +7 -4
  234. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  235. package/build/focal-point-picker/tooltip/index.native.js +18 -15
  236. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  237. package/build/focal-point-picker/utils.js +6 -4
  238. package/build/focal-point-picker/utils.js.map +1 -1
  239. package/build/focusable-iframe/index.js +5 -4
  240. package/build/focusable-iframe/index.js.map +1 -1
  241. package/build/font-size-picker/index.js +24 -17
  242. package/build/font-size-picker/index.js.map +1 -1
  243. package/build/font-size-picker/index.native.js +11 -8
  244. package/build/font-size-picker/index.native.js.map +1 -1
  245. package/build/font-size-picker/utils.js +22 -18
  246. package/build/font-size-picker/utils.js.map +1 -1
  247. package/build/footer-message-control/index.native.js +3 -2
  248. package/build/footer-message-control/index.native.js.map +1 -1
  249. package/build/form-file-upload/index.js +9 -8
  250. package/build/form-file-upload/index.js.map +1 -1
  251. package/build/form-toggle/index.js +9 -8
  252. package/build/form-toggle/index.js.map +1 -1
  253. package/build/form-token-field/index.js +8 -2
  254. package/build/form-token-field/index.js.map +1 -1
  255. package/build/form-token-field/token.js +15 -14
  256. package/build/form-token-field/token.js.map +1 -1
  257. package/build/gradient-picker/index.js +99 -32
  258. package/build/gradient-picker/index.js.map +1 -1
  259. package/build/grid/types.js +4 -0
  260. package/build/guide/icons.js +16 -13
  261. package/build/guide/icons.js.map +1 -1
  262. package/build/guide/index.js +9 -8
  263. package/build/guide/index.js.map +1 -1
  264. package/build/guide/page-control.js +6 -5
  265. package/build/guide/page-control.js.map +1 -1
  266. package/build/h-stack/types.js +4 -0
  267. package/build/h-stack/utils.js +3 -1
  268. package/build/h-stack/utils.js.map +1 -1
  269. package/build/higher-order/navigate-regions/index.js +20 -14
  270. package/build/higher-order/navigate-regions/index.js.map +1 -1
  271. package/build/higher-order/with-focus-return/index.js +18 -14
  272. package/build/higher-order/with-focus-return/index.js.map +1 -1
  273. package/build/icon/index.js +7 -5
  274. package/build/icon/index.js.map +1 -1
  275. package/build/index.js +314 -312
  276. package/build/index.js.map +1 -1
  277. package/build/index.native.js +227 -216
  278. package/build/index.native.js.map +1 -1
  279. package/build/input-control/backdrop.js +5 -4
  280. package/build/input-control/backdrop.js.map +1 -1
  281. package/build/input-control/index.js +20 -19
  282. package/build/input-control/index.js.map +1 -1
  283. package/build/input-control/input-base.js +16 -15
  284. package/build/input-control/input-base.js.map +1 -1
  285. package/build/input-control/input-field.js +24 -23
  286. package/build/input-control/input-field.js.map +1 -1
  287. package/build/input-control/label.js +7 -6
  288. package/build/input-control/label.js.map +1 -1
  289. package/build/input-control/reducer/actions.js +1 -1
  290. package/build/input-control/reducer/reducer.js +20 -7
  291. package/build/input-control/reducer/reducer.js.map +1 -1
  292. package/build/input-control/reducer/state.js +1 -1
  293. package/build/input-control/styles/input-control-styles.js +49 -37
  294. package/build/input-control/styles/input-control-styles.js.map +1 -1
  295. package/build/input-control/types.js +4 -0
  296. package/build/isolated-event-container/index.js +5 -4
  297. package/build/isolated-event-container/index.js.map +1 -1
  298. package/build/item-group/item/hook.js +4 -2
  299. package/build/item-group/item/hook.js.map +1 -1
  300. package/build/item-group/item-group/hook.js +4 -2
  301. package/build/item-group/item-group/hook.js.map +1 -1
  302. package/build/item-group/styles.js +1 -1
  303. package/build/item-group/types.js +4 -0
  304. package/build/keyboard-shortcuts/index.js +15 -13
  305. package/build/keyboard-shortcuts/index.js.map +1 -1
  306. package/build/menu-items-choice/index.js +7 -6
  307. package/build/menu-items-choice/index.js.map +1 -1
  308. package/build/mobile/audio-player/index.native.js +8 -7
  309. package/build/mobile/audio-player/index.native.js.map +1 -1
  310. package/build/mobile/badge/index.native.js +6 -5
  311. package/build/mobile/badge/index.native.js.map +1 -1
  312. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +1 -1
  313. package/build/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +1 -1
  314. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
  315. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  316. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
  317. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  318. package/build/mobile/bottom-sheet/button.native.js +21 -18
  319. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  320. package/build/mobile/bottom-sheet/cell.native.js +4 -2
  321. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  322. package/build/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
  323. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  324. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
  325. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  326. package/build/mobile/bottom-sheet/index.native.js +24 -17
  327. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  328. package/build/mobile/bottom-sheet/link-cell.native.js +9 -7
  329. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  330. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
  331. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  332. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
  333. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  334. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
  335. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  336. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
  337. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  338. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
  339. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  340. package/build/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
  341. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  342. package/build/mobile/bottom-sheet/range-text-input.native.js +6 -5
  343. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  344. package/build/mobile/bottom-sheet/ripple.native.js +11 -10
  345. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  346. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
  347. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  348. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
  349. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  350. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
  351. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  352. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
  353. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  354. package/build/mobile/bottom-sheet-select-control/index.native.js +8 -7
  355. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  356. package/build/mobile/bottom-sheet-text-control/index.native.js +9 -8
  357. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  358. package/build/mobile/clipboard/index.native.js +1 -1
  359. package/build/mobile/color-settings/index.native.js +11 -10
  360. package/build/mobile/color-settings/index.native.js.map +1 -1
  361. package/build/mobile/cycle-select-control/index.native.js +12 -11
  362. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  363. package/build/mobile/dashicons/index.native.js +1 -1
  364. package/build/mobile/focal-point-settings-panel/index.native.js +7 -6
  365. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  366. package/build/mobile/global-styles-context/index.native.js +1 -1
  367. package/build/mobile/global-styles-context/utils.native.js +9 -7
  368. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  369. package/build/mobile/gradient/index.native.js +14 -13
  370. package/build/mobile/gradient/index.native.js.map +1 -1
  371. package/build/mobile/gridicons/index.native.js +1 -1
  372. package/build/mobile/html-text-input/container.android.js +12 -9
  373. package/build/mobile/html-text-input/container.android.js.map +1 -1
  374. package/build/mobile/image/image-editing-button.native.js +26 -22
  375. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  376. package/build/mobile/image/index.native.js +23 -22
  377. package/build/mobile/image/index.native.js.map +1 -1
  378. package/build/mobile/keyboard-avoiding-view/index.ios.js +29 -22
  379. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  380. package/build/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
  381. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  382. package/build/mobile/layout-animation/index.native.js +3 -1
  383. package/build/mobile/layout-animation/index.native.js.map +1 -1
  384. package/build/mobile/link-picker/index.native.js +13 -11
  385. package/build/mobile/link-picker/index.native.js.map +1 -1
  386. package/build/mobile/link-picker/link-picker-results.native.js +48 -34
  387. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  388. package/build/mobile/link-picker/link-picker-screen.native.js +9 -7
  389. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  390. package/build/mobile/link-settings/image-link-destinations-screen.native.js +141 -0
  391. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  392. package/build/mobile/link-settings/index.native.js +59 -57
  393. package/build/mobile/link-settings/index.native.js.map +1 -1
  394. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
  395. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  396. package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
  397. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  398. package/build/mobile/media-edit/index.native.js +1 -1
  399. package/build/mobile/picker/index.android.js +4 -2
  400. package/build/mobile/picker/index.android.js.map +1 -1
  401. package/build/mobile/picker/index.ios.js +6 -3
  402. package/build/mobile/picker/index.ios.js.map +1 -1
  403. package/build/mobile/readable-content-view/index.native.js +12 -9
  404. package/build/mobile/readable-content-view/index.native.js.map +1 -1
  405. package/build/mobile/segmented-control/index.native.js +16 -14
  406. package/build/mobile/segmented-control/index.native.js.map +1 -1
  407. package/build/mobile/utils/alignments.native.js +1 -1
  408. package/build/mobile/utils/index.native.js +2 -1
  409. package/build/mobile/utils/index.native.js.map +1 -1
  410. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +5 -4
  411. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  412. package/build/modal/aria-helper.js +1 -1
  413. package/build/modal/index.js +40 -30
  414. package/build/modal/index.js.map +1 -1
  415. package/build/navigable-container/menu.js +7 -5
  416. package/build/navigable-container/menu.js.map +1 -1
  417. package/build/navigable-container/tabbable.js +6 -4
  418. package/build/navigable-container/tabbable.js.map +1 -1
  419. package/build/navigation/back-button/index.js +8 -7
  420. package/build/navigation/back-button/index.js.map +1 -1
  421. package/build/navigation/group/index.js +7 -7
  422. package/build/navigation/group/index.js.map +1 -1
  423. package/build/navigation/index.js +11 -8
  424. package/build/navigation/index.js.map +1 -1
  425. package/build/navigation/menu/menu-title-search.js +16 -34
  426. package/build/navigation/menu/menu-title-search.js.map +1 -1
  427. package/build/navigation/menu/menu-title.js +10 -9
  428. package/build/navigation/menu/menu-title.js.map +1 -1
  429. package/build/navigation/menu/search-no-results-found.js +4 -3
  430. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  431. package/build/navigation/styles/navigation-styles.js +34 -29
  432. package/build/navigation/styles/navigation-styles.js.map +1 -1
  433. package/build/navigator/types.js +4 -0
  434. package/build/notice/index.js +26 -24
  435. package/build/notice/index.js.map +1 -1
  436. package/build/notice/index.native.js +7 -6
  437. package/build/notice/index.native.js.map +1 -1
  438. package/build/notice/list.js +8 -6
  439. package/build/notice/list.js.map +1 -1
  440. package/build/number-control/index.js +22 -19
  441. package/build/number-control/index.js.map +1 -1
  442. package/build/number-control/styles/number-control-styles.js +4 -3
  443. package/build/number-control/styles/number-control-styles.js.map +1 -1
  444. package/build/panel/actions.native.js +10 -8
  445. package/build/panel/actions.native.js.map +1 -1
  446. package/build/panel/body.js +19 -17
  447. package/build/panel/body.js.map +1 -1
  448. package/build/panel/body.native.js +7 -6
  449. package/build/panel/body.native.js.map +1 -1
  450. package/build/panel/bottom-separator-cover.native.js +4 -3
  451. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  452. package/build/panel/header.js +5 -4
  453. package/build/panel/header.js.map +1 -1
  454. package/build/panel/index.js +6 -5
  455. package/build/panel/index.js.map +1 -1
  456. package/build/panel/row.js +10 -7
  457. package/build/panel/row.js.map +1 -1
  458. package/build/placeholder/index.js +12 -11
  459. package/build/placeholder/index.js.map +1 -1
  460. package/build/popover/index.js +49 -39
  461. package/build/popover/index.js.map +1 -1
  462. package/build/popover/utils.js +10 -2
  463. package/build/popover/utils.js.map +1 -1
  464. package/build/query-controls/author-select.js +8 -7
  465. package/build/query-controls/author-select.js.map +1 -1
  466. package/build/query-controls/category-select.js +9 -8
  467. package/build/query-controls/category-select.js.map +1 -1
  468. package/build/query-controls/index.js +19 -18
  469. package/build/query-controls/index.js.map +1 -1
  470. package/build/query-controls/index.native.js +14 -13
  471. package/build/query-controls/index.native.js.map +1 -1
  472. package/build/radio/index.js +6 -5
  473. package/build/radio/index.js.map +1 -1
  474. package/build/radio-control/index.js +11 -10
  475. package/build/radio-control/index.js.map +1 -1
  476. package/build/radio-control/index.native.js +7 -6
  477. package/build/radio-control/index.native.js.map +1 -1
  478. package/build/radio-group/index.js +9 -8
  479. package/build/radio-group/index.js.map +1 -1
  480. package/build/range-control/index.js +33 -32
  481. package/build/range-control/index.js.map +1 -1
  482. package/build/range-control/index.native.js +20 -18
  483. package/build/range-control/index.native.js.map +1 -1
  484. package/build/range-control/input-range.js +11 -10
  485. package/build/range-control/input-range.js.map +1 -1
  486. package/build/range-control/mark.js +8 -7
  487. package/build/range-control/mark.js.map +1 -1
  488. package/build/range-control/rail.js +29 -24
  489. package/build/range-control/rail.js.map +1 -1
  490. package/build/range-control/styles/range-control-styles.js +81 -63
  491. package/build/range-control/styles/range-control-styles.js.map +1 -1
  492. package/build/range-control/tooltip.js +17 -15
  493. package/build/range-control/tooltip.js.map +1 -1
  494. package/build/range-control/utils.js +15 -13
  495. package/build/range-control/utils.js.map +1 -1
  496. package/build/resizable-box/index.js +9 -8
  497. package/build/resizable-box/index.js.map +1 -1
  498. package/build/resizable-box/resize-tooltip/index.js +13 -12
  499. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  500. package/build/resizable-box/resize-tooltip/label.js +7 -6
  501. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  502. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  503. package/build/resizable-box/resize-tooltip/utils.js +20 -17
  504. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  505. package/build/responsive-wrapper/index.js +7 -6
  506. package/build/responsive-wrapper/index.js.map +1 -1
  507. package/build/sandbox/index.js +12 -9
  508. package/build/sandbox/index.js.map +1 -1
  509. package/build/sandbox/index.native.js +15 -13
  510. package/build/sandbox/index.native.js.map +1 -1
  511. package/build/scrollable/hook.js +4 -2
  512. package/build/scrollable/hook.js.map +1 -1
  513. package/build/scrollable/styles.js +1 -1
  514. package/build/scrollable/types.js +4 -0
  515. package/build/search-control/index.js +45 -21
  516. package/build/search-control/index.js.map +1 -1
  517. package/build/search-control/index.native.js +6 -5
  518. package/build/search-control/index.native.js.map +1 -1
  519. package/build/select-control/index.js +33 -26
  520. package/build/select-control/index.js.map +1 -1
  521. package/build/select-control/index.native.js +12 -11
  522. package/build/select-control/index.native.js.map +1 -1
  523. package/build/select-control/styles/select-control-styles.js +13 -10
  524. package/build/select-control/styles/select-control-styles.js.map +1 -1
  525. package/build/select-control/types.js +4 -0
  526. package/build/shortcut/index.js +6 -4
  527. package/build/shortcut/index.js.map +1 -1
  528. package/build/slot-fill/bubbles-virtually/fill.js +5 -4
  529. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  530. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
  531. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  532. package/build/slot-fill/bubbles-virtually/slot.js +7 -6
  533. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  534. package/build/slot-fill/fill.js +17 -13
  535. package/build/slot-fill/fill.js.map +1 -1
  536. package/build/slot-fill/index.js +12 -9
  537. package/build/slot-fill/index.js.map +1 -1
  538. package/build/slot-fill/index.native.js +2 -2
  539. package/build/slot-fill/slot.js +12 -9
  540. package/build/slot-fill/slot.js.map +1 -1
  541. package/build/snackbar/index.js +22 -20
  542. package/build/snackbar/index.js.map +1 -1
  543. package/build/snackbar/list.js +7 -6
  544. package/build/snackbar/list.js.map +1 -1
  545. package/build/spacer/types.js +4 -0
  546. package/build/style-provider/index.js +10 -6
  547. package/build/style-provider/index.js.map +1 -1
  548. package/build/style-provider/index.native.js +4 -3
  549. package/build/style-provider/index.native.js.map +1 -1
  550. package/build/surface/hook.js +4 -2
  551. package/build/surface/hook.js.map +1 -1
  552. package/build/surface/styles.js +9 -7
  553. package/build/surface/styles.js.map +1 -1
  554. package/build/surface/types.js +4 -0
  555. package/build/swatch/index.js +4 -3
  556. package/build/swatch/index.js.map +1 -1
  557. package/build/tab-panel/index.js +27 -23
  558. package/build/tab-panel/index.js.map +1 -1
  559. package/build/text/hook.js +4 -2
  560. package/build/text/hook.js.map +1 -1
  561. package/build/text/styles/text-mixins.native.js +3 -1
  562. package/build/text/styles/text-mixins.native.js.map +1 -1
  563. package/build/text/styles.js +8 -8
  564. package/build/text/styles.js.map +1 -1
  565. package/build/text/types.js +4 -0
  566. package/build/text/utils.js +17 -16
  567. package/build/text/utils.js.map +1 -1
  568. package/build/text-control/index.js +13 -12
  569. package/build/text-control/index.js.map +1 -1
  570. package/build/text-control/index.native.js +13 -12
  571. package/build/text-control/index.native.js.map +1 -1
  572. package/build/text-highlight/index.js +5 -4
  573. package/build/text-highlight/index.js.map +1 -1
  574. package/build/textarea-control/index.js +11 -10
  575. package/build/textarea-control/index.js.map +1 -1
  576. package/build/textarea-control/index.native.js +8 -7
  577. package/build/textarea-control/index.native.js.map +1 -1
  578. package/build/toggle-control/index.js +10 -8
  579. package/build/toggle-control/index.js.map +1 -1
  580. package/build/toggle-control/index.native.js +10 -9
  581. package/build/toggle-control/index.native.js.map +1 -1
  582. package/build/toggle-group-control/context.js +1 -1
  583. package/build/toggle-group-control/toggle-group-control/component.js +4 -2
  584. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  585. package/build/toggle-group-control/toggle-group-control/styles.js +1 -1
  586. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
  587. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  588. package/build/toggle-group-control/toggle-group-control-option/component.js +4 -2
  589. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  590. package/build/toggle-group-control/toggle-group-control-option/styles.js +1 -1
  591. package/build/toggle-group-control/types.js +4 -0
  592. package/build/toolbar/index.js +7 -5
  593. package/build/toolbar/index.js.map +1 -1
  594. package/build/toolbar/toolbar-container.js +5 -4
  595. package/build/toolbar/toolbar-container.js.map +1 -1
  596. package/build/toolbar/toolbar-container.native.js +6 -3
  597. package/build/toolbar/toolbar-container.native.js.map +1 -1
  598. package/build/toolbar-button/index.js +11 -10
  599. package/build/toolbar-button/index.js.map +1 -1
  600. package/build/toolbar-group/index.js +9 -8
  601. package/build/toolbar-group/index.js.map +1 -1
  602. package/build/toolbar-group/toolbar-group-collapsed.js +6 -5
  603. package/build/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  604. package/build/toolbar-group/toolbar-group-collapsed.native.js +7 -6
  605. package/build/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  606. package/build/toolbar-group/toolbar-group-container.js +10 -7
  607. package/build/toolbar-group/toolbar-group-container.js.map +1 -1
  608. package/build/toolbar-group/toolbar-group-container.native.js +10 -7
  609. package/build/toolbar-group/toolbar-group-container.native.js.map +1 -1
  610. package/build/toolbar-item/index.js +6 -5
  611. package/build/toolbar-item/index.js.map +1 -1
  612. package/build/toolbar-item/index.native.js +6 -4
  613. package/build/toolbar-item/index.native.js.map +1 -1
  614. package/build/tools-panel/index.js +4 -4
  615. package/build/tools-panel/styles.js +19 -24
  616. package/build/tools-panel/styles.js.map +1 -1
  617. package/build/tools-panel/tools-panel/component.js +10 -7
  618. package/build/tools-panel/tools-panel/component.js.map +1 -1
  619. package/build/tools-panel/tools-panel/hook.js +24 -14
  620. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  621. package/build/tools-panel/tools-panel-header/component.js +41 -29
  622. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  623. package/build/tools-panel/tools-panel-header/hook.js +4 -2
  624. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  625. package/build/tools-panel/tools-panel-item/hook.js +4 -2
  626. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  627. package/build/tools-panel/types.js +4 -0
  628. package/build/tooltip/index.js +52 -41
  629. package/build/tooltip/index.js.map +1 -1
  630. package/build/tooltip/index.native.js +16 -13
  631. package/build/tooltip/index.native.js.map +1 -1
  632. package/build/tree-grid/cell.js +6 -5
  633. package/build/tree-grid/cell.js.map +1 -1
  634. package/build/tree-grid/index.js +13 -12
  635. package/build/tree-grid/index.js.map +1 -1
  636. package/build/tree-grid/item.js +5 -4
  637. package/build/tree-grid/item.js.map +1 -1
  638. package/build/tree-grid/roving-tab-index-context.js +1 -1
  639. package/build/tree-grid/roving-tab-index-item.js +6 -5
  640. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  641. package/build/tree-grid/roving-tab-index.js +4 -3
  642. package/build/tree-grid/roving-tab-index.js.map +1 -1
  643. package/build/tree-grid/row.js +9 -8
  644. package/build/tree-grid/row.js.map +1 -1
  645. package/build/tree-select/index.js +11 -9
  646. package/build/tree-select/index.js.map +1 -1
  647. package/build/truncate/hook.js +4 -2
  648. package/build/truncate/hook.js.map +1 -1
  649. package/build/truncate/types.js +4 -0
  650. package/build/truncate/utils.js +5 -3
  651. package/build/truncate/utils.js.map +1 -1
  652. package/build/ui/__storybook-utils/example-grid.js +40 -30
  653. package/build/ui/__storybook-utils/example-grid.js.map +1 -1
  654. package/build/ui/__storybook-utils/page.js +5 -4
  655. package/build/ui/__storybook-utils/page.js.map +1 -1
  656. package/build/ui/context/constants.js +1 -1
  657. package/build/ui/context/context-connect.js +3 -1
  658. package/build/ui/context/context-connect.js.map +1 -1
  659. package/build/ui/context/context-system-provider.js +10 -8
  660. package/build/ui/context/context-system-provider.js.map +1 -1
  661. package/build/ui/context/index.js +6 -6
  662. package/build/ui/context/utils.js +1 -1
  663. package/build/ui/context/wordpress-component.js +4 -0
  664. package/build/ui/control-group/hook.js +4 -2
  665. package/build/ui/control-group/hook.js.map +1 -1
  666. package/build/ui/control-group/styles.js +1 -1
  667. package/build/ui/control-group/types.js +4 -0
  668. package/build/ui/control-label/hook.js +4 -2
  669. package/build/ui/control-label/hook.js.map +1 -1
  670. package/build/ui/control-label/styles.js +1 -1
  671. package/build/ui/control-label/types.js +4 -0
  672. package/build/ui/form-group/form-group-content.js +13 -12
  673. package/build/ui/form-group/form-group-content.js.map +1 -1
  674. package/build/ui/form-group/form-group-help.js +4 -3
  675. package/build/ui/form-group/form-group-help.js.map +1 -1
  676. package/build/ui/form-group/form-group-label.js +7 -6
  677. package/build/ui/form-group/form-group-label.js.map +1 -1
  678. package/build/ui/form-group/types.js +4 -0
  679. package/build/ui/form-group/use-form-group.js +4 -2
  680. package/build/ui/form-group/use-form-group.js.map +1 -1
  681. package/build/ui/spinner/styles.js +1 -1
  682. package/build/ui/tooltip/content.js +4 -2
  683. package/build/ui/tooltip/content.js.map +1 -1
  684. package/build/ui/tooltip/styles.js +5 -3
  685. package/build/ui/tooltip/styles.js.map +1 -1
  686. package/build/ui/tooltip/types.js +4 -0
  687. package/build/ui/utils/font-size.js +7 -3
  688. package/build/ui/utils/font-size.js.map +1 -1
  689. package/build/ui/utils/get-high-dpi.js +5 -1
  690. package/build/ui/utils/get-high-dpi.js.map +1 -1
  691. package/build/ui/utils/types.js +4 -0
  692. package/build/ui/utils/use-responsive-value.js +5 -3
  693. package/build/ui/utils/use-responsive-value.js.map +1 -1
  694. package/build/unit-control/index.js +25 -22
  695. package/build/unit-control/index.js.map +1 -1
  696. package/build/unit-control/index.native.js +17 -16
  697. package/build/unit-control/index.native.js.map +1 -1
  698. package/build/unit-control/styles/unit-control-styles.js +13 -10
  699. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  700. package/build/unit-control/types.js +4 -0
  701. package/build/unit-control/unit-select-control.js +11 -9
  702. package/build/unit-control/unit-select-control.js.map +1 -1
  703. package/build/unit-control/utils.js +20 -13
  704. package/build/unit-control/utils.js.map +1 -1
  705. package/build/utils/browsers.js +10 -2
  706. package/build/utils/browsers.js.map +1 -1
  707. package/build/utils/colors-values.js +1 -1
  708. package/build/utils/colors.js +3 -1
  709. package/build/utils/colors.js.map +1 -1
  710. package/build/utils/hooks/emotion.d.js +4 -0
  711. package/build/utils/hooks/index.js +12 -4
  712. package/build/utils/hooks/index.js.map +1 -1
  713. package/build/utils/hooks/use-combined-ref.js +32 -0
  714. package/build/utils/hooks/use-combined-ref.js.map +1 -0
  715. package/build/utils/hooks/use-controlled-state.js +2 -1
  716. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  717. package/build/utils/hooks/use-controlled-value.js +6 -5
  718. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  719. package/build/utils/hooks/use-cx.js +5 -1
  720. package/build/utils/hooks/use-cx.js.map +1 -1
  721. package/build/utils/input/base.js +1 -1
  722. package/build/utils/math.js +19 -7
  723. package/build/utils/math.js.map +1 -1
  724. package/build/utils/reduce-motion.js +2 -1
  725. package/build/utils/reduce-motion.js.map +1 -1
  726. package/build/utils/rtl.js +6 -3
  727. package/build/utils/rtl.js.map +1 -1
  728. package/build/utils/style-mixins.js +12 -12
  729. package/build/utils/types.js +4 -0
  730. package/build/utils/unit-values.js +1 -1
  731. package/build/utils/values.js +10 -6
  732. package/build/utils/values.js.map +1 -1
  733. package/build/v-stack/types.js +4 -0
  734. package/build/z-stack/styles.js +24 -15
  735. package/build/z-stack/styles.js.map +1 -1
  736. package/build-module/alignment-matrix-control/cell.js +6 -5
  737. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  738. package/build-module/alignment-matrix-control/icon.js +9 -8
  739. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  740. package/build-module/alignment-matrix-control/index.js +11 -10
  741. package/build-module/alignment-matrix-control/index.js.map +1 -1
  742. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +8 -6
  743. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  744. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -6
  745. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  746. package/build-module/alignment-matrix-control/utils.js +2 -1
  747. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  748. package/build-module/angle-picker-control/angle-circle.js +6 -5
  749. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  750. package/build-module/angle-picker-control/index.js +11 -7
  751. package/build-module/angle-picker-control/index.js.map +1 -1
  752. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  753. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  754. package/build-module/animate/index.js +6 -5
  755. package/build-module/animate/index.js.map +1 -1
  756. package/build-module/autocomplete/autocompleter-ui.js +13 -12
  757. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  758. package/build-module/autocomplete/autocompleter-ui.native.js +14 -11
  759. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  760. package/build-module/autocomplete/background-view.android.js +4 -3
  761. package/build-module/autocomplete/background-view.android.js.map +1 -1
  762. package/build-module/autocomplete/background-view.ios.js +4 -3
  763. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  764. package/build-module/autocomplete/get-default-use-items.js +3 -1
  765. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  766. package/build-module/autocomplete/index.js +19 -16
  767. package/build-module/autocomplete/index.js.map +1 -1
  768. package/build-module/base-control/index.js +15 -13
  769. package/build-module/base-control/index.js.map +1 -1
  770. package/build-module/base-control/index.native.js +6 -5
  771. package/build-module/base-control/index.native.js.map +1 -1
  772. package/build-module/box-control/all-input-control.js +12 -11
  773. package/build-module/box-control/all-input-control.js.map +1 -1
  774. package/build-module/box-control/axial-input-controls.js +13 -11
  775. package/build-module/box-control/axial-input-controls.js.map +1 -1
  776. package/build-module/box-control/icon.js +8 -6
  777. package/build-module/box-control/icon.js.map +1 -1
  778. package/build-module/box-control/index.js +22 -18
  779. package/build-module/box-control/index.js.map +1 -1
  780. package/build-module/box-control/input-controls.js +17 -14
  781. package/build-module/box-control/input-controls.js.map +1 -1
  782. package/build-module/box-control/linked-button.js +5 -4
  783. package/build-module/box-control/linked-button.js.map +1 -1
  784. package/build-module/box-control/styles/box-control-icon-styles.js +4 -3
  785. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  786. package/build-module/box-control/styles/box-control-styles.js +12 -9
  787. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  788. package/build-module/box-control/styles/box-control-visualizer-styles.js +11 -7
  789. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  790. package/build-module/box-control/unit-control.js +22 -18
  791. package/build-module/box-control/unit-control.js.map +1 -1
  792. package/build-module/box-control/utils.js +6 -2
  793. package/build-module/box-control/utils.js.map +1 -1
  794. package/build-module/box-control/visualizer.js +32 -26
  795. package/build-module/box-control/visualizer.js.map +1 -1
  796. package/build-module/button/deprecated.js +8 -7
  797. package/build-module/button/deprecated.js.map +1 -1
  798. package/build-module/button/index.js +10 -9
  799. package/build-module/button/index.js.map +1 -1
  800. package/build-module/button-group/index.js +5 -4
  801. package/build-module/button-group/index.js.map +1 -1
  802. package/build-module/card/card/hook.js +7 -5
  803. package/build-module/card/card/hook.js.map +1 -1
  804. package/build-module/card/types.js +1 -1
  805. package/build-module/checkbox-control/index.js +11 -9
  806. package/build-module/checkbox-control/index.js.map +1 -1
  807. package/build-module/circular-option-picker/index.js +40 -33
  808. package/build-module/circular-option-picker/index.js.map +1 -1
  809. package/build-module/clipboard-button/index.js +9 -8
  810. package/build-module/clipboard-button/index.js.map +1 -1
  811. package/build-module/color-control/index.native.js +8 -7
  812. package/build-module/color-control/index.native.js.map +1 -1
  813. package/build-module/color-edit/index.js +197 -210
  814. package/build-module/color-edit/index.js.map +1 -1
  815. package/build-module/color-edit/styles.js +90 -0
  816. package/build-module/color-edit/styles.js.map +1 -0
  817. package/build-module/color-indicator/index.js +13 -10
  818. package/build-module/color-indicator/index.js.map +1 -1
  819. package/build-module/color-indicator/index.native.js +12 -10
  820. package/build-module/color-indicator/index.native.js.map +1 -1
  821. package/build-module/color-list-picker/index.js +22 -15
  822. package/build-module/color-list-picker/index.js.map +1 -1
  823. package/build-module/color-palette/index.js +101 -30
  824. package/build-module/color-palette/index.js.map +1 -1
  825. package/build-module/color-palette/index.native.js +23 -20
  826. package/build-module/color-palette/index.native.js.map +1 -1
  827. package/build-module/color-palette/styles.js +27 -0
  828. package/build-module/color-palette/styles.js.map +1 -0
  829. package/build-module/color-picker/color-display.js +35 -27
  830. package/build-module/color-picker/color-display.js.map +1 -1
  831. package/build-module/color-picker/color-input.js +7 -6
  832. package/build-module/color-picker/color-input.js.map +1 -1
  833. package/build-module/color-picker/component.js +7 -16
  834. package/build-module/color-picker/component.js.map +1 -1
  835. package/build-module/color-picker/hex-input.js +7 -5
  836. package/build-module/color-picker/hex-input.js.map +1 -1
  837. package/build-module/color-picker/hsl-input.js +6 -5
  838. package/build-module/color-picker/hsl-input.js.map +1 -1
  839. package/build-module/color-picker/index.native.js +23 -20
  840. package/build-module/color-picker/index.native.js.map +1 -1
  841. package/build-module/color-picker/input-with-slider.js +9 -8
  842. package/build-module/color-picker/input-with-slider.js.map +1 -1
  843. package/build-module/color-picker/picker.js +10 -9
  844. package/build-module/color-picker/picker.js.map +1 -1
  845. package/build-module/color-picker/rgb-input.js +6 -5
  846. package/build-module/color-picker/rgb-input.js.map +1 -1
  847. package/build-module/color-picker/types.js +1 -1
  848. package/build-module/combobox-control/index.js +17 -15
  849. package/build-module/combobox-control/index.js.map +1 -1
  850. package/build-module/custom-gradient-bar/control-points.js +118 -106
  851. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  852. package/build-module/custom-gradient-bar/index.js +13 -11
  853. package/build-module/custom-gradient-bar/index.js.map +1 -1
  854. package/build-module/custom-gradient-bar/utils.js +6 -4
  855. package/build-module/custom-gradient-bar/utils.js.map +1 -1
  856. package/build-module/custom-gradient-picker/index.js +17 -14
  857. package/build-module/custom-gradient-picker/index.js.map +1 -1
  858. package/build-module/custom-gradient-picker/index.native.js +6 -5
  859. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  860. package/build-module/custom-gradient-picker/serializer.js +18 -14
  861. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  862. package/build-module/custom-gradient-picker/utils.js +5 -4
  863. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  864. package/build-module/custom-select-control/index.js +22 -18
  865. package/build-module/custom-select-control/index.js.map +1 -1
  866. package/build-module/dashicon/index.js +6 -5
  867. package/build-module/dashicon/index.js.map +1 -1
  868. package/build-module/dashicon/index.native.js +5 -4
  869. package/build-module/dashicon/index.native.js.map +1 -1
  870. package/build-module/dashicon/types.js +1 -1
  871. package/build-module/date-time/date.js +5 -4
  872. package/build-module/date-time/date.js.map +1 -1
  873. package/build-module/date-time/index.js +9 -8
  874. package/build-module/date-time/index.js.map +1 -1
  875. package/build-module/date-time/time.js +14 -11
  876. package/build-module/date-time/time.js.map +1 -1
  877. package/build-module/dimension-control/index.js +10 -7
  878. package/build-module/dimension-control/index.js.map +1 -1
  879. package/build-module/disabled/index.js +8 -6
  880. package/build-module/disabled/index.js.map +1 -1
  881. package/build-module/disabled/index.native.js +4 -3
  882. package/build-module/disabled/index.native.js.map +1 -1
  883. package/build-module/divider/styles.js +7 -5
  884. package/build-module/divider/styles.js.map +1 -1
  885. package/build-module/divider/types.js +1 -1
  886. package/build-module/draggable/index.js +13 -11
  887. package/build-module/draggable/index.js.map +1 -1
  888. package/build-module/drop-zone/index.js +8 -7
  889. package/build-module/drop-zone/index.js.map +1 -1
  890. package/build-module/drop-zone/provider.js +4 -3
  891. package/build-module/drop-zone/provider.js.map +1 -1
  892. package/build-module/dropdown/index.js +14 -13
  893. package/build-module/dropdown/index.js.map +1 -1
  894. package/build-module/dropdown-menu/index.js +9 -5
  895. package/build-module/dropdown-menu/index.js.map +1 -1
  896. package/build-module/dropdown-menu/index.native.js +26 -19
  897. package/build-module/dropdown-menu/index.native.js.map +1 -1
  898. package/build-module/duotone-picker/custom-duotone-bar.js +5 -5
  899. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  900. package/build-module/duotone-picker/duotone-picker.js +16 -13
  901. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  902. package/build-module/duotone-picker/duotone-swatch.js +4 -3
  903. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  904. package/build-module/duotone-picker/utils.js +27 -14
  905. package/build-module/duotone-picker/utils.js.map +1 -1
  906. package/build-module/elevation/types.js +1 -1
  907. package/build-module/external-link/index.js +8 -7
  908. package/build-module/external-link/index.js.map +1 -1
  909. package/build-module/external-link/index.native.js +5 -4
  910. package/build-module/external-link/index.native.js.map +1 -1
  911. package/build-module/flex/flex/hook.js +6 -4
  912. package/build-module/flex/flex/hook.js.map +1 -1
  913. package/build-module/flex/types.js +1 -1
  914. package/build-module/flyout/types.js +1 -1
  915. package/build-module/flyout/utils.js +4 -3
  916. package/build-module/flyout/utils.js.map +1 -1
  917. package/build-module/focal-point-picker/controls.js +8 -7
  918. package/build-module/focal-point-picker/controls.js.map +1 -1
  919. package/build-module/focal-point-picker/focal-point.js +8 -7
  920. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  921. package/build-module/focal-point-picker/focal-point.native.js +6 -5
  922. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  923. package/build-module/focal-point-picker/grid.js +6 -5
  924. package/build-module/focal-point-picker/grid.js.map +1 -1
  925. package/build-module/focal-point-picker/index.js +2 -1
  926. package/build-module/focal-point-picker/index.js.map +1 -1
  927. package/build-module/focal-point-picker/media.js +19 -16
  928. package/build-module/focal-point-picker/media.js.map +1 -1
  929. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +7 -4
  930. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  931. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -3
  932. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  933. package/build-module/focal-point-picker/tooltip/index.native.js +18 -15
  934. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  935. package/build-module/focal-point-picker/utils.js +4 -2
  936. package/build-module/focal-point-picker/utils.js.map +1 -1
  937. package/build-module/focusable-iframe/index.js +5 -4
  938. package/build-module/focusable-iframe/index.js.map +1 -1
  939. package/build-module/font-size-picker/index.js +20 -15
  940. package/build-module/font-size-picker/index.js.map +1 -1
  941. package/build-module/font-size-picker/index.native.js +7 -6
  942. package/build-module/font-size-picker/index.native.js.map +1 -1
  943. package/build-module/font-size-picker/utils.js +19 -15
  944. package/build-module/font-size-picker/utils.js.map +1 -1
  945. package/build-module/footer-message-control/index.native.js +3 -2
  946. package/build-module/footer-message-control/index.native.js.map +1 -1
  947. package/build-module/form-file-upload/index.js +9 -8
  948. package/build-module/form-file-upload/index.js.map +1 -1
  949. package/build-module/form-toggle/index.js +9 -8
  950. package/build-module/form-toggle/index.js.map +1 -1
  951. package/build-module/form-token-field/index.js +8 -2
  952. package/build-module/form-token-field/index.js.map +1 -1
  953. package/build-module/form-token-field/token.js +15 -14
  954. package/build-module/form-token-field/token.js.map +1 -1
  955. package/build-module/gradient-picker/index.js +97 -32
  956. package/build-module/gradient-picker/index.js.map +1 -1
  957. package/build-module/grid/types.js +1 -1
  958. package/build-module/guide/icons.js +16 -13
  959. package/build-module/guide/icons.js.map +1 -1
  960. package/build-module/guide/index.js +9 -8
  961. package/build-module/guide/index.js.map +1 -1
  962. package/build-module/guide/page-control.js +6 -5
  963. package/build-module/guide/page-control.js.map +1 -1
  964. package/build-module/h-stack/types.js +1 -1
  965. package/build-module/h-stack/utils.js +3 -1
  966. package/build-module/h-stack/utils.js.map +1 -1
  967. package/build-module/higher-order/navigate-regions/index.js +19 -13
  968. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  969. package/build-module/higher-order/with-focus-return/index.js +17 -13
  970. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  971. package/build-module/icon/index.js +7 -5
  972. package/build-module/icon/index.js.map +1 -1
  973. package/build-module/index.native.js +1 -0
  974. package/build-module/index.native.js.map +1 -1
  975. package/build-module/input-control/backdrop.js +5 -4
  976. package/build-module/input-control/backdrop.js.map +1 -1
  977. package/build-module/input-control/index.js +20 -19
  978. package/build-module/input-control/index.js.map +1 -1
  979. package/build-module/input-control/input-base.js +16 -15
  980. package/build-module/input-control/input-base.js.map +1 -1
  981. package/build-module/input-control/input-field.js +24 -23
  982. package/build-module/input-control/input-field.js.map +1 -1
  983. package/build-module/input-control/label.js +7 -6
  984. package/build-module/input-control/label.js.map +1 -1
  985. package/build-module/input-control/reducer/reducer.js +15 -4
  986. package/build-module/input-control/reducer/reducer.js.map +1 -1
  987. package/build-module/input-control/styles/input-control-styles.js +48 -36
  988. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  989. package/build-module/input-control/types.js +1 -1
  990. package/build-module/isolated-event-container/index.js +5 -4
  991. package/build-module/isolated-event-container/index.js.map +1 -1
  992. package/build-module/item-group/types.js +1 -1
  993. package/build-module/keyboard-shortcuts/index.js +15 -13
  994. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  995. package/build-module/menu-items-choice/index.js +7 -6
  996. package/build-module/menu-items-choice/index.js.map +1 -1
  997. package/build-module/mobile/audio-player/index.native.js +8 -7
  998. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  999. package/build-module/mobile/badge/index.native.js +6 -5
  1000. package/build-module/mobile/badge/index.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
  1002. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
  1004. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/button.native.js +21 -18
  1006. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
  1008. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
  1010. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
  1012. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/index.native.js +24 -17
  1014. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet/link-cell.native.js +9 -7
  1016. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
  1018. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  1019. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
  1020. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  1021. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
  1022. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  1023. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
  1024. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  1025. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
  1026. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  1027. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
  1028. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  1029. package/build-module/mobile/bottom-sheet/range-text-input.native.js +6 -5
  1030. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1031. package/build-module/mobile/bottom-sheet/ripple.native.js +11 -10
  1032. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1033. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
  1034. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1035. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
  1036. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1037. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
  1038. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1039. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
  1040. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1041. package/build-module/mobile/bottom-sheet-select-control/index.native.js +8 -7
  1042. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1043. package/build-module/mobile/bottom-sheet-text-control/index.native.js +9 -8
  1044. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1045. package/build-module/mobile/color-settings/index.native.js +11 -10
  1046. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1047. package/build-module/mobile/cycle-select-control/index.native.js +12 -11
  1048. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1049. package/build-module/mobile/focal-point-settings-panel/index.native.js +7 -6
  1050. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1051. package/build-module/mobile/global-styles-context/utils.native.js +5 -3
  1052. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1053. package/build-module/mobile/gradient/index.native.js +11 -10
  1054. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1055. package/build-module/mobile/html-text-input/container.android.js +12 -9
  1056. package/build-module/mobile/html-text-input/container.android.js.map +1 -1
  1057. package/build-module/mobile/image/image-editing-button.native.js +26 -22
  1058. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1059. package/build-module/mobile/image/index.native.js +23 -22
  1060. package/build-module/mobile/image/index.native.js.map +1 -1
  1061. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +29 -22
  1062. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1063. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
  1064. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1065. package/build-module/mobile/layout-animation/index.native.js +2 -1
  1066. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1067. package/build-module/mobile/link-picker/index.native.js +12 -10
  1068. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1069. package/build-module/mobile/link-picker/link-picker-results.native.js +48 -34
  1070. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1071. package/build-module/mobile/link-picker/link-picker-screen.native.js +9 -7
  1072. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1073. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +122 -0
  1074. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  1075. package/build-module/mobile/link-settings/index.native.js +59 -57
  1076. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1077. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1078. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  1079. package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
  1080. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  1081. package/build-module/mobile/picker/index.android.js +4 -2
  1082. package/build-module/mobile/picker/index.android.js.map +1 -1
  1083. package/build-module/mobile/picker/index.ios.js +6 -3
  1084. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1085. package/build-module/mobile/readable-content-view/index.native.js +11 -9
  1086. package/build-module/mobile/readable-content-view/index.native.js.map +1 -1
  1087. package/build-module/mobile/segmented-control/index.native.js +16 -14
  1088. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1089. package/build-module/mobile/utils/index.native.js +2 -1
  1090. package/build-module/mobile/utils/index.native.js.map +1 -1
  1091. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -3
  1092. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1093. package/build-module/modal/index.js +35 -28
  1094. package/build-module/modal/index.js.map +1 -1
  1095. package/build-module/navigable-container/menu.js +7 -5
  1096. package/build-module/navigable-container/menu.js.map +1 -1
  1097. package/build-module/navigable-container/tabbable.js +6 -4
  1098. package/build-module/navigable-container/tabbable.js.map +1 -1
  1099. package/build-module/navigation/back-button/index.js +8 -7
  1100. package/build-module/navigation/back-button/index.js.map +1 -1
  1101. package/build-module/navigation/group/index.js +7 -7
  1102. package/build-module/navigation/group/index.js.map +1 -1
  1103. package/build-module/navigation/index.js +11 -8
  1104. package/build-module/navigation/index.js.map +1 -1
  1105. package/build-module/navigation/menu/menu-title-search.js +16 -31
  1106. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1107. package/build-module/navigation/menu/menu-title.js +11 -10
  1108. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1109. package/build-module/navigation/menu/search-no-results-found.js +4 -3
  1110. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1111. package/build-module/navigation/styles/navigation-styles.js +31 -27
  1112. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  1113. package/build-module/navigator/types.js +1 -1
  1114. package/build-module/notice/index.js +26 -24
  1115. package/build-module/notice/index.js.map +1 -1
  1116. package/build-module/notice/index.native.js +7 -6
  1117. package/build-module/notice/index.native.js.map +1 -1
  1118. package/build-module/notice/list.js +8 -6
  1119. package/build-module/notice/list.js.map +1 -1
  1120. package/build-module/number-control/index.js +18 -17
  1121. package/build-module/number-control/index.js.map +1 -1
  1122. package/build-module/number-control/styles/number-control-styles.js +4 -3
  1123. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1124. package/build-module/panel/actions.native.js +10 -8
  1125. package/build-module/panel/actions.native.js.map +1 -1
  1126. package/build-module/panel/body.js +19 -17
  1127. package/build-module/panel/body.js.map +1 -1
  1128. package/build-module/panel/body.native.js +7 -6
  1129. package/build-module/panel/body.native.js.map +1 -1
  1130. package/build-module/panel/bottom-separator-cover.native.js +4 -3
  1131. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1132. package/build-module/panel/header.js +5 -4
  1133. package/build-module/panel/header.js.map +1 -1
  1134. package/build-module/panel/index.js +6 -5
  1135. package/build-module/panel/index.js.map +1 -1
  1136. package/build-module/panel/row.js +10 -7
  1137. package/build-module/panel/row.js.map +1 -1
  1138. package/build-module/placeholder/index.js +12 -11
  1139. package/build-module/placeholder/index.js.map +1 -1
  1140. package/build-module/popover/index.js +49 -39
  1141. package/build-module/popover/index.js.map +1 -1
  1142. package/build-module/popover/utils.js +9 -1
  1143. package/build-module/popover/utils.js.map +1 -1
  1144. package/build-module/query-controls/author-select.js +8 -7
  1145. package/build-module/query-controls/author-select.js.map +1 -1
  1146. package/build-module/query-controls/category-select.js +9 -8
  1147. package/build-module/query-controls/category-select.js.map +1 -1
  1148. package/build-module/query-controls/index.js +19 -18
  1149. package/build-module/query-controls/index.js.map +1 -1
  1150. package/build-module/query-controls/index.native.js +14 -13
  1151. package/build-module/query-controls/index.native.js.map +1 -1
  1152. package/build-module/radio/index.js +6 -5
  1153. package/build-module/radio/index.js.map +1 -1
  1154. package/build-module/radio-control/index.js +11 -10
  1155. package/build-module/radio-control/index.js.map +1 -1
  1156. package/build-module/radio-control/index.native.js +7 -6
  1157. package/build-module/radio-control/index.native.js.map +1 -1
  1158. package/build-module/radio-group/index.js +9 -8
  1159. package/build-module/radio-group/index.js.map +1 -1
  1160. package/build-module/range-control/index.js +33 -32
  1161. package/build-module/range-control/index.js.map +1 -1
  1162. package/build-module/range-control/index.native.js +20 -18
  1163. package/build-module/range-control/index.native.js.map +1 -1
  1164. package/build-module/range-control/input-range.js +11 -10
  1165. package/build-module/range-control/input-range.js.map +1 -1
  1166. package/build-module/range-control/mark.js +8 -7
  1167. package/build-module/range-control/mark.js.map +1 -1
  1168. package/build-module/range-control/rail.js +29 -24
  1169. package/build-module/range-control/rail.js.map +1 -1
  1170. package/build-module/range-control/styles/range-control-styles.js +81 -63
  1171. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1172. package/build-module/range-control/tooltip.js +17 -15
  1173. package/build-module/range-control/tooltip.js.map +1 -1
  1174. package/build-module/range-control/utils.js +15 -13
  1175. package/build-module/range-control/utils.js.map +1 -1
  1176. package/build-module/resizable-box/index.js +9 -8
  1177. package/build-module/resizable-box/index.js.map +1 -1
  1178. package/build-module/resizable-box/resize-tooltip/index.js +13 -12
  1179. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1180. package/build-module/resizable-box/resize-tooltip/label.js +7 -6
  1181. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1182. package/build-module/resizable-box/resize-tooltip/utils.js +19 -16
  1183. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1184. package/build-module/responsive-wrapper/index.js +7 -6
  1185. package/build-module/responsive-wrapper/index.js.map +1 -1
  1186. package/build-module/sandbox/index.js +12 -9
  1187. package/build-module/sandbox/index.js.map +1 -1
  1188. package/build-module/sandbox/index.native.js +15 -13
  1189. package/build-module/sandbox/index.native.js.map +1 -1
  1190. package/build-module/scrollable/types.js +1 -1
  1191. package/build-module/search-control/index.js +44 -22
  1192. package/build-module/search-control/index.js.map +1 -1
  1193. package/build-module/search-control/index.native.js +6 -5
  1194. package/build-module/search-control/index.native.js.map +1 -1
  1195. package/build-module/select-control/index.js +33 -26
  1196. package/build-module/select-control/index.js.map +1 -1
  1197. package/build-module/select-control/index.native.js +12 -11
  1198. package/build-module/select-control/index.native.js.map +1 -1
  1199. package/build-module/select-control/styles/select-control-styles.js +12 -9
  1200. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1201. package/build-module/select-control/types.js +1 -1
  1202. package/build-module/shortcut/index.js +6 -4
  1203. package/build-module/shortcut/index.js.map +1 -1
  1204. package/build-module/slot-fill/bubbles-virtually/fill.js +5 -4
  1205. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1206. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
  1207. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1208. package/build-module/slot-fill/bubbles-virtually/slot.js +7 -6
  1209. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1210. package/build-module/slot-fill/fill.js +17 -13
  1211. package/build-module/slot-fill/fill.js.map +1 -1
  1212. package/build-module/slot-fill/index.js +11 -8
  1213. package/build-module/slot-fill/index.js.map +1 -1
  1214. package/build-module/slot-fill/slot.js +12 -9
  1215. package/build-module/slot-fill/slot.js.map +1 -1
  1216. package/build-module/snackbar/index.js +22 -20
  1217. package/build-module/snackbar/index.js.map +1 -1
  1218. package/build-module/snackbar/list.js +7 -6
  1219. package/build-module/snackbar/list.js.map +1 -1
  1220. package/build-module/spacer/types.js +1 -1
  1221. package/build-module/style-provider/index.js +6 -4
  1222. package/build-module/style-provider/index.js.map +1 -1
  1223. package/build-module/style-provider/index.native.js +4 -3
  1224. package/build-module/style-provider/index.native.js.map +1 -1
  1225. package/build-module/surface/styles.js +7 -6
  1226. package/build-module/surface/styles.js.map +1 -1
  1227. package/build-module/surface/types.js +1 -1
  1228. package/build-module/swatch/index.js +4 -3
  1229. package/build-module/swatch/index.js.map +1 -1
  1230. package/build-module/tab-panel/index.js +26 -22
  1231. package/build-module/tab-panel/index.js.map +1 -1
  1232. package/build-module/text/styles/text-mixins.native.js +3 -1
  1233. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1234. package/build-module/text/styles.js +7 -7
  1235. package/build-module/text/styles.js.map +1 -1
  1236. package/build-module/text/types.js +1 -1
  1237. package/build-module/text/utils.js +17 -16
  1238. package/build-module/text/utils.js.map +1 -1
  1239. package/build-module/text-control/index.js +13 -12
  1240. package/build-module/text-control/index.js.map +1 -1
  1241. package/build-module/text-control/index.native.js +13 -12
  1242. package/build-module/text-control/index.native.js.map +1 -1
  1243. package/build-module/text-highlight/index.js +5 -4
  1244. package/build-module/text-highlight/index.js.map +1 -1
  1245. package/build-module/textarea-control/index.js +11 -10
  1246. package/build-module/textarea-control/index.js.map +1 -1
  1247. package/build-module/textarea-control/index.native.js +8 -7
  1248. package/build-module/textarea-control/index.native.js.map +1 -1
  1249. package/build-module/toggle-control/index.js +10 -8
  1250. package/build-module/toggle-control/index.js.map +1 -1
  1251. package/build-module/toggle-control/index.native.js +10 -9
  1252. package/build-module/toggle-control/index.native.js.map +1 -1
  1253. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
  1254. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1255. package/build-module/toggle-group-control/types.js +1 -1
  1256. package/build-module/toolbar/index.js +7 -5
  1257. package/build-module/toolbar/index.js.map +1 -1
  1258. package/build-module/toolbar/toolbar-container.js +5 -4
  1259. package/build-module/toolbar/toolbar-container.js.map +1 -1
  1260. package/build-module/toolbar/toolbar-container.native.js +6 -3
  1261. package/build-module/toolbar/toolbar-container.native.js.map +1 -1
  1262. package/build-module/toolbar-button/index.js +11 -10
  1263. package/build-module/toolbar-button/index.js.map +1 -1
  1264. package/build-module/toolbar-group/index.js +9 -8
  1265. package/build-module/toolbar-group/index.js.map +1 -1
  1266. package/build-module/toolbar-group/toolbar-group-collapsed.js +6 -5
  1267. package/build-module/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1268. package/build-module/toolbar-group/toolbar-group-collapsed.native.js +7 -6
  1269. package/build-module/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1270. package/build-module/toolbar-group/toolbar-group-container.js +10 -7
  1271. package/build-module/toolbar-group/toolbar-group-container.js.map +1 -1
  1272. package/build-module/toolbar-group/toolbar-group-container.native.js +10 -7
  1273. package/build-module/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1274. package/build-module/toolbar-item/index.js +6 -5
  1275. package/build-module/toolbar-item/index.js.map +1 -1
  1276. package/build-module/toolbar-item/index.native.js +6 -4
  1277. package/build-module/toolbar-item/index.native.js.map +1 -1
  1278. package/build-module/tools-panel/styles.js +16 -23
  1279. package/build-module/tools-panel/styles.js.map +1 -1
  1280. package/build-module/tools-panel/tools-panel/component.js +10 -6
  1281. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  1282. package/build-module/tools-panel/tools-panel/hook.js +19 -12
  1283. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1284. package/build-module/tools-panel/tools-panel-header/component.js +41 -29
  1285. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1286. package/build-module/tools-panel/types.js +1 -1
  1287. package/build-module/tooltip/index.js +52 -41
  1288. package/build-module/tooltip/index.js.map +1 -1
  1289. package/build-module/tooltip/index.native.js +16 -13
  1290. package/build-module/tooltip/index.native.js.map +1 -1
  1291. package/build-module/tree-grid/cell.js +6 -5
  1292. package/build-module/tree-grid/cell.js.map +1 -1
  1293. package/build-module/tree-grid/index.js +7 -6
  1294. package/build-module/tree-grid/index.js.map +1 -1
  1295. package/build-module/tree-grid/item.js +5 -4
  1296. package/build-module/tree-grid/item.js.map +1 -1
  1297. package/build-module/tree-grid/roving-tab-index-item.js +6 -5
  1298. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1299. package/build-module/tree-grid/roving-tab-index.js +4 -3
  1300. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1301. package/build-module/tree-grid/row.js +9 -8
  1302. package/build-module/tree-grid/row.js.map +1 -1
  1303. package/build-module/tree-select/index.js +11 -9
  1304. package/build-module/tree-select/index.js.map +1 -1
  1305. package/build-module/truncate/types.js +1 -1
  1306. package/build-module/truncate/utils.js +3 -1
  1307. package/build-module/truncate/utils.js.map +1 -1
  1308. package/build-module/ui/__storybook-utils/example-grid.js +40 -30
  1309. package/build-module/ui/__storybook-utils/example-grid.js.map +1 -1
  1310. package/build-module/ui/__storybook-utils/page.js +5 -4
  1311. package/build-module/ui/__storybook-utils/page.js.map +1 -1
  1312. package/build-module/ui/context/context-connect.js +3 -1
  1313. package/build-module/ui/context/context-connect.js.map +1 -1
  1314. package/build-module/ui/context/context-system-provider.js +9 -7
  1315. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1316. package/build-module/ui/context/wordpress-component.js +1 -1
  1317. package/build-module/ui/control-group/types.js +1 -1
  1318. package/build-module/ui/control-label/types.js +1 -1
  1319. package/build-module/ui/form-group/form-group-content.js +13 -12
  1320. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1321. package/build-module/ui/form-group/form-group-help.js +4 -3
  1322. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1323. package/build-module/ui/form-group/form-group-label.js +7 -6
  1324. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1325. package/build-module/ui/form-group/types.js +1 -1
  1326. package/build-module/ui/tooltip/types.js +1 -1
  1327. package/build-module/ui/utils/font-size.js +6 -2
  1328. package/build-module/ui/utils/font-size.js.map +1 -1
  1329. package/build-module/ui/utils/get-high-dpi.js +5 -1
  1330. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1331. package/build-module/ui/utils/types.js +1 -1
  1332. package/build-module/ui/utils/use-responsive-value.js +4 -2
  1333. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1334. package/build-module/unit-control/index.js +20 -19
  1335. package/build-module/unit-control/index.js.map +1 -1
  1336. package/build-module/unit-control/index.native.js +16 -15
  1337. package/build-module/unit-control/index.native.js.map +1 -1
  1338. package/build-module/unit-control/styles/unit-control-styles.js +12 -9
  1339. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1340. package/build-module/unit-control/types.js +1 -1
  1341. package/build-module/unit-control/unit-select-control.js +11 -9
  1342. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1343. package/build-module/unit-control/utils.js +14 -8
  1344. package/build-module/unit-control/utils.js.map +1 -1
  1345. package/build-module/utils/browsers.js +10 -2
  1346. package/build-module/utils/browsers.js.map +1 -1
  1347. package/build-module/utils/colors.js +3 -1
  1348. package/build-module/utils/colors.js.map +1 -1
  1349. package/build-module/utils/hooks/emotion.d.js +1 -1
  1350. package/build-module/utils/hooks/index.js +1 -0
  1351. package/build-module/utils/hooks/index.js.map +1 -1
  1352. package/build-module/utils/hooks/use-combined-ref.js +29 -0
  1353. package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
  1354. package/build-module/utils/hooks/use-controlled-state.js +2 -1
  1355. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1356. package/build-module/utils/hooks/use-controlled-value.js +6 -5
  1357. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1358. package/build-module/utils/hooks/use-cx.js +5 -1
  1359. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1360. package/build-module/utils/math.js +17 -5
  1361. package/build-module/utils/math.js.map +1 -1
  1362. package/build-module/utils/reduce-motion.js +2 -1
  1363. package/build-module/utils/reduce-motion.js.map +1 -1
  1364. package/build-module/utils/rtl.js +5 -2
  1365. package/build-module/utils/rtl.js.map +1 -1
  1366. package/build-module/utils/types.js +1 -1
  1367. package/build-module/utils/values.js +9 -5
  1368. package/build-module/utils/values.js.map +1 -1
  1369. package/build-module/v-stack/types.js +1 -1
  1370. package/build-module/z-stack/styles.js +23 -14
  1371. package/build-module/z-stack/styles.js.map +1 -1
  1372. package/build-style/style-rtl.css +39 -51
  1373. package/build-style/style.css +39 -51
  1374. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  1375. package/build-types/tools-panel/styles.d.ts +1 -1
  1376. package/build-types/tools-panel/styles.d.ts.map +1 -1
  1377. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  1378. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  1379. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  1380. package/build-types/utils/hooks/index.d.ts +1 -0
  1381. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  1382. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  1383. package/package.json +16 -16
  1384. package/src/angle-picker-control/index.js +3 -1
  1385. package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
  1386. package/src/base-control/index.js +1 -1
  1387. package/src/circular-option-picker/style.scss +3 -5
  1388. package/src/color-edit/index.js +248 -274
  1389. package/src/color-edit/style.scss +4 -45
  1390. package/src/color-edit/styles.js +97 -0
  1391. package/src/color-list-picker/index.js +5 -0
  1392. package/src/color-list-picker/style.scss +4 -0
  1393. package/src/color-palette/index.js +90 -26
  1394. package/src/color-palette/style.scss +18 -0
  1395. package/src/color-palette/styles.js +19 -0
  1396. package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
  1397. package/src/color-picker/component.tsx +6 -17
  1398. package/src/color-picker/picker.tsx +6 -4
  1399. package/src/color-picker/test/index.js +0 -15
  1400. package/src/duotone-picker/custom-duotone-bar.js +0 -1
  1401. package/src/duotone-picker/duotone-picker.js +1 -0
  1402. package/src/gradient-picker/index.js +79 -11
  1403. package/src/heading/test/__snapshots__/index.js.snap +1 -1
  1404. package/src/index.native.js +1 -0
  1405. package/src/mobile/bottom-sheet/cell.native.js +7 -2
  1406. package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
  1407. package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
  1408. package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
  1409. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +4 -4
  1410. package/src/mobile/global-styles-context/utils.native.js +1 -1
  1411. package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
  1412. package/src/mobile/link-settings/index.native.js +3 -2
  1413. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1414. package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
  1415. package/src/mobile/link-settings/style.native.scss +17 -0
  1416. package/src/mobile/picker/index.android.js +2 -1
  1417. package/src/modal/README.md +8 -0
  1418. package/src/modal/index.js +60 -45
  1419. package/src/modal/style.scss +5 -0
  1420. package/src/navigation/group/index.js +1 -2
  1421. package/src/navigation/menu/menu-title-search.js +11 -26
  1422. package/src/navigation/menu/menu-title.js +4 -4
  1423. package/src/navigation/styles/navigation-styles.js +29 -52
  1424. package/src/popover/index.js +2 -2
  1425. package/src/range-control/styles/range-control-styles.js +4 -1
  1426. package/src/resizable-box/style.scss +5 -0
  1427. package/src/search-control/index.js +47 -23
  1428. package/src/style.scss +1 -0
  1429. package/src/text/styles.js +1 -1
  1430. package/src/text/test/__snapshots__/index.js.snap +2 -2
  1431. package/src/tools-panel/stories/index.js +21 -19
  1432. package/src/tools-panel/styles.ts +18 -26
  1433. package/src/tools-panel/tools-panel/component.tsx +7 -4
  1434. package/src/tools-panel/tools-panel/hook.ts +4 -1
  1435. package/src/tools-panel/tools-panel-header/component.tsx +1 -0
  1436. package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
  1437. package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
  1438. package/src/utils/hooks/index.js +1 -0
  1439. package/src/utils/hooks/use-combined-ref.ts +29 -0
  1440. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["FontSizePicker","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","value","withSlider","withReset","ref","hasUnits","size","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","shouldUseSelectControl","length","some","options","selectedOption","isCustomValue","slug","CUSTOM_FONT_SIZE","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","settings","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t// The main font size UI displays a toggle group when the presets are less\n\t// than six and a select control when they are more.\n\t//\n\t// A select control is also used when the value of a preset cannot be\n\t// immediately computed (eg. 'calc', 'var').\n\tconst shouldUseSelectControl =\n\t\tfontSizes.length > 5 ||\n\t\tfontSizes.some( ( { size } ) => ! isSimpleCssValue( size ) );\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes\n\t\t\t),\n\t\t[ shouldUseSelectControl, fontSizes, disableCustomFontSizes ]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif ( typeof selectedOption.size === 'string' ) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [ showCustomValueControl, selectedOption?.slug, value, isCustomValue ] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<Flex\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName={ `${ baseClassName }__header` }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t<span className={ `${ baseClassName }__header__hint` }>\n\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t<div className={ `${ baseClassName }__controls` }>\n\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t( option ) => option.key === selectedOption.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( selectedItem.key === CUSTOM_FONT_SIZE ) {\n\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t{ withReset && (\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["FontSizePicker","ref","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","value","withSlider","withReset","hasUnits","size","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","shouldUseSelectControl","length","some","options","selectedOption","isCustomValue","slug","CUSTOM_FONT_SIZE","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","settings","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t// The main font size UI displays a toggle group when the presets are less\n\t// than six and a select control when they are more.\n\t//\n\t// A select control is also used when the value of a preset cannot be\n\t// immediately computed (eg. 'calc', 'var').\n\tconst shouldUseSelectControl =\n\t\tfontSizes.length > 5 ||\n\t\tfontSizes.some( ( { size } ) => ! isSimpleCssValue( size ) );\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes\n\t\t\t),\n\t\t[ shouldUseSelectControl, fontSizes, disableCustomFontSizes ]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif ( typeof selectedOption.size === 'string' ) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [ showCustomValueControl, selectedOption?.slug, value, isCustomValue ] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<Flex\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName={ `${ baseClassName }__header` }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t<span className={ `${ baseClassName }__header__hint` }>\n\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t<div className={ `${ baseClassName }__controls` }>\n\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t( option ) => option.key === selectedOption.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( selectedItem.key === CUSTOM_FONT_SIZE ) {\n\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t{ withReset && (\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -27,6 +25,10 @@ var _unitControl = _interopRequireWildcard(require("../unit-control"));
27
25
 
28
26
  var _style = _interopRequireDefault(require("./style.scss"));
29
27
 
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
30
32
  /**
31
33
  * External dependencies
32
34
  */
@@ -40,14 +42,15 @@ var _style = _interopRequireDefault(require("./style.scss"));
40
42
  */
41
43
  const DEFAULT_FONT_SIZE = 16;
42
44
 
43
- function FontSizePicker({
44
- fontSizes = [],
45
- disableCustomFontSizes = false,
46
- onChange,
47
- value: selectedValue
48
- }) {
45
+ function FontSizePicker(_ref) {
49
46
  var _fontSizes$find;
50
47
 
48
+ let {
49
+ fontSizes = [],
50
+ disableCustomFontSizes = false,
51
+ onChange,
52
+ value: selectedValue
53
+ } = _ref;
51
54
  const [showSubSheet, setShowSubSheet] = (0, _element.useState)(false);
52
55
  const navigation = (0, _native.useNavigation)();
53
56
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.native.js"],"names":["DEFAULT_FONT_SIZE","FontSizePicker","fontSizes","disableCustomFontSizes","onChange","value","selectedValue","showSubSheet","setShowSubSheet","navigation","height","width","cssUnitOptions","fontSize","selectedPxValue","onChangeValue","goBack","selectedOption","find","option","sizePx","name","openSubSheet","navigate","BottomSheet","SubSheet","screenName","label","units","availableUnits","chevronRight","styles","undefined","check","map","item","index","parseFloat","nextSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\nimport { getPxFromCssUnit } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport styles from './style.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nfunction FontSizePicker( {\n\tfontSizes = [],\n\tdisableCustomFontSizes = false,\n\tonChange,\n\tvalue: selectedValue,\n} ) {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst { height, width } = useWindowDimensions();\n\tconst cssUnitOptions = { height, width, fontSize: DEFAULT_FONT_SIZE };\n\t// We need to always convert to px units because the selected value\n\t// could be coming from the web where it could be stored as a different unit.\n\tconst selectedPxValue = getPxFromCssUnit( selectedValue, cssUnitOptions );\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = fontSizes.find(\n\t\t( option ) => option.sizePx === selectedPxValue\n\t) ?? { name: 'Custom' };\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\tconst label = __( 'Font Size' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tselectedValue\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %1$s: Select control font size name e.g. Small, %2$s: Select control font size e.g. 12px\n\t\t\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\t\t\tselectedOption.name,\n\t\t\t\t\t\t\t\t\tselectedPxValue\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Default' )\n\t\t\t\t\t}\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ selectedOption.name }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. Small\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles[ 'components-font-size-picker' ] }>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\tonPress={ onChangeValue( undefined ) }\n\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\tkey={ 'default' }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Selected: Default' ) }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to select default font size'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t{ selectedValue === undefined && (\n\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t{ fontSizes.map( ( item, index ) => {\n\t\t\t\t\t\t// Only display a choice that we can currenly select.\n\t\t\t\t\t\tif ( ! parseFloat( item.sizePx ) ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\t\tlabel={ item.name }\n\t\t\t\t\t\t\t\tsubLabel={ item.sizePx }\n\t\t\t\t\t\t\t\tonPress={ onChangeValue( item.sizePx ) }\n\t\t\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\titem.sizePx === selectedValue\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Select font size option value e.g: \"Selected: Large\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Selected: %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t\t'Double tap to select font size'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t{ item.sizePx === selectedPxValue && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 200 }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( nextSize );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</>\n\t\t</BottomSheet.SubSheet>\n\t);\n}\n\nexport default FontSizePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.native.js"],"names":["DEFAULT_FONT_SIZE","FontSizePicker","fontSizes","disableCustomFontSizes","onChange","value","selectedValue","showSubSheet","setShowSubSheet","navigation","height","width","cssUnitOptions","fontSize","selectedPxValue","onChangeValue","goBack","selectedOption","find","option","sizePx","name","openSubSheet","navigate","BottomSheet","SubSheet","screenName","label","units","availableUnits","chevronRight","styles","undefined","check","map","item","index","parseFloat","nextSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\nimport { getPxFromCssUnit } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport styles from './style.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nfunction FontSizePicker( {\n\tfontSizes = [],\n\tdisableCustomFontSizes = false,\n\tonChange,\n\tvalue: selectedValue,\n} ) {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst { height, width } = useWindowDimensions();\n\tconst cssUnitOptions = { height, width, fontSize: DEFAULT_FONT_SIZE };\n\t// We need to always convert to px units because the selected value\n\t// could be coming from the web where it could be stored as a different unit.\n\tconst selectedPxValue = getPxFromCssUnit( selectedValue, cssUnitOptions );\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = fontSizes.find(\n\t\t( option ) => option.sizePx === selectedPxValue\n\t) ?? { name: 'Custom' };\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\tconst label = __( 'Font Size' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tselectedValue\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %1$s: Select control font size name e.g. Small, %2$s: Select control font size e.g. 12px\n\t\t\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\t\t\tselectedOption.name,\n\t\t\t\t\t\t\t\t\tselectedPxValue\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Default' )\n\t\t\t\t\t}\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ selectedOption.name }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. Small\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles[ 'components-font-size-picker' ] }>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\tonPress={ onChangeValue( undefined ) }\n\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\tkey={ 'default' }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Selected: Default' ) }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to select default font size'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t{ selectedValue === undefined && (\n\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t{ fontSizes.map( ( item, index ) => {\n\t\t\t\t\t\t// Only display a choice that we can currenly select.\n\t\t\t\t\t\tif ( ! parseFloat( item.sizePx ) ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\t\tlabel={ item.name }\n\t\t\t\t\t\t\t\tsubLabel={ item.sizePx }\n\t\t\t\t\t\t\t\tonPress={ onChangeValue( item.sizePx ) }\n\t\t\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\titem.sizePx === selectedValue\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Select font size option value e.g: \"Selected: Large\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Selected: %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t\t'Double tap to select font size'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t{ item.sizePx === selectedPxValue && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 200 }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( nextSize );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</>\n\t\t</BottomSheet.SubSheet>\n\t);\n}\n\nexport default FontSizePicker;\n"]}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.splitValueAndUnitFromSize = splitValueAndUnitFromSize;
7
- exports.isSimpleCssValue = isSimpleCssValue;
6
+ exports.CUSTOM_FONT_SIZE = void 0;
8
7
  exports.getFontSizeOptions = getFontSizeOptions;
9
8
  exports.getSelectedOption = getSelectedOption;
10
- exports.CUSTOM_FONT_SIZE = void 0;
9
+ exports.isSimpleCssValue = isSimpleCssValue;
10
+ exports.splitValueAndUnitFromSize = splitValueAndUnitFromSize;
11
11
 
12
12
  var _i18n = require("@wordpress/i18n");
13
13
 
@@ -75,24 +75,28 @@ function getFontSizeOptions(useSelectControl, optionsArray, disableCustomFontSiz
75
75
 
76
76
  function getSelectOptions(optionsArray, disableCustomFontSizes) {
77
77
  const options = [DEFAULT_FONT_SIZE_OPTION, ...optionsArray, ...(disableCustomFontSizes ? [] : [CUSTOM_FONT_SIZE_OPTION])];
78
- return options.map(({
79
- slug,
80
- name,
81
- size
82
- }) => ({
83
- key: slug,
84
- name,
85
- size,
86
- __experimentalHint: size && isSimpleCssValue(size) && parseInt(size)
87
- }));
78
+ return options.map(_ref => {
79
+ let {
80
+ slug,
81
+ name,
82
+ size
83
+ } = _ref;
84
+ return {
85
+ key: slug,
86
+ name,
87
+ size,
88
+ __experimentalHint: size && isSimpleCssValue(size) && parseInt(size)
89
+ };
90
+ });
88
91
  }
89
92
 
90
93
  function getToggleGroupOptions(optionsArray) {
91
- return optionsArray.map(({
92
- slug,
93
- size,
94
- name
95
- }) => {
94
+ return optionsArray.map(_ref2 => {
95
+ let {
96
+ slug,
97
+ size,
98
+ name
99
+ } = _ref2;
96
100
  let label = size;
97
101
 
98
102
  if (typeof size === 'string') {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/font-size-picker/utils.js"],"names":["DEFAULT_FONT_SIZE","DEFAULT_FONT_SIZE_OPTION","slug","name","CUSTOM_FONT_SIZE","CUSTOM_FONT_SIZE_OPTION","splitValueAndUnitFromSize","size","numericValue","unit","split","isSimpleCssValue","value","sizeRegex","test","getFontSizeOptions","useSelectControl","optionsArray","disableCustomFontSizes","length","getSelectOptions","getToggleGroupOptions","options","map","key","__experimentalHint","parseInt","label","getSelectedOption","fontSizes","find","font"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nconst DEFAULT_FONT_SIZE = 'default';\nconst DEFAULT_FONT_SIZE_OPTION = {\n\tslug: DEFAULT_FONT_SIZE,\n\tname: __( 'Default' ),\n};\nexport const CUSTOM_FONT_SIZE = 'custom';\nconst CUSTOM_FONT_SIZE_OPTION = {\n\tslug: CUSTOM_FONT_SIZE,\n\tname: __( 'Custom' ),\n};\n\n/**\n * Helper util to split a font size to its numeric value\n * and its `unit`, if exists.\n *\n * @param {string|number} size Font size.\n * @return {[number, string]} An array with the numeric value and the unit if exists.\n */\nexport function splitValueAndUnitFromSize( size ) {\n\t/**\n\t * The first matched result is ignored as it's the left\n\t * hand side of the capturing group in the regex.\n\t */\n\tconst [ , numericValue, unit ] = size.split( /(\\d+)/ );\n\treturn [ numericValue, unit ];\n}\n\n/**\n * Some themes use css vars for their font sizes, so until we\n * have the way of calculating them don't display them.\n *\n * @param {string|number} value The value that is checked.\n * @return {boolean} Whether the value is a simple css value.\n */\nexport function isSimpleCssValue( value ) {\n\tconst sizeRegex = /^(?!0)\\d+(px|em|rem|vw|vh|%)?$/i;\n\treturn sizeRegex.test( value );\n}\n\n/**\n * Return font size options in the proper format depending\n * on the currently used control (select, toggle group).\n *\n * @param {boolean} useSelectControl Whether to use a select control.\n * @param {Object[]} optionsArray Array of available font sizes objects.\n * @param {*} disableCustomFontSizes Flag that indicates if custom font sizes are disabled.\n * @return {Object[]|null} Array of font sizes in proper format for the used control.\n */\nexport function getFontSizeOptions(\n\tuseSelectControl,\n\toptionsArray,\n\tdisableCustomFontSizes\n) {\n\tif ( disableCustomFontSizes && ! optionsArray.length ) {\n\t\treturn null;\n\t}\n\treturn useSelectControl\n\t\t? getSelectOptions( optionsArray, disableCustomFontSizes )\n\t\t: getToggleGroupOptions( optionsArray );\n}\n\nfunction getSelectOptions( optionsArray, disableCustomFontSizes ) {\n\tconst options = [\n\t\tDEFAULT_FONT_SIZE_OPTION,\n\t\t...optionsArray,\n\t\t...( disableCustomFontSizes ? [] : [ CUSTOM_FONT_SIZE_OPTION ] ),\n\t];\n\treturn options.map( ( { slug, name, size } ) => ( {\n\t\tkey: slug,\n\t\tname,\n\t\tsize,\n\t\t__experimentalHint:\n\t\t\tsize && isSimpleCssValue( size ) && parseInt( size ),\n\t} ) );\n}\n\nfunction getToggleGroupOptions( optionsArray ) {\n\treturn optionsArray.map( ( { slug, size, name } ) => {\n\t\tlet label = size;\n\t\tif ( typeof size === 'string' ) {\n\t\t\tconst [ numericValue ] = splitValueAndUnitFromSize( size );\n\t\t\tlabel = numericValue;\n\t\t}\n\t\treturn { key: slug, value: size, label, name };\n\t} );\n}\n\nexport function getSelectedOption( fontSizes, value ) {\n\tif ( ! value ) {\n\t\treturn DEFAULT_FONT_SIZE_OPTION;\n\t}\n\treturn (\n\t\tfontSizes.find( ( font ) => font.size === value ) ||\n\t\tCUSTOM_FONT_SIZE_OPTION\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/utils.js"],"names":["DEFAULT_FONT_SIZE","DEFAULT_FONT_SIZE_OPTION","slug","name","CUSTOM_FONT_SIZE","CUSTOM_FONT_SIZE_OPTION","splitValueAndUnitFromSize","size","numericValue","unit","split","isSimpleCssValue","value","sizeRegex","test","getFontSizeOptions","useSelectControl","optionsArray","disableCustomFontSizes","length","getSelectOptions","getToggleGroupOptions","options","map","key","__experimentalHint","parseInt","label","getSelectedOption","fontSizes","find","font"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nconst DEFAULT_FONT_SIZE = 'default';\nconst DEFAULT_FONT_SIZE_OPTION = {\n\tslug: DEFAULT_FONT_SIZE,\n\tname: __( 'Default' ),\n};\nexport const CUSTOM_FONT_SIZE = 'custom';\nconst CUSTOM_FONT_SIZE_OPTION = {\n\tslug: CUSTOM_FONT_SIZE,\n\tname: __( 'Custom' ),\n};\n\n/**\n * Helper util to split a font size to its numeric value\n * and its `unit`, if exists.\n *\n * @param {string|number} size Font size.\n * @return {[number, string]} An array with the numeric value and the unit if exists.\n */\nexport function splitValueAndUnitFromSize( size ) {\n\t/**\n\t * The first matched result is ignored as it's the left\n\t * hand side of the capturing group in the regex.\n\t */\n\tconst [ , numericValue, unit ] = size.split( /(\\d+)/ );\n\treturn [ numericValue, unit ];\n}\n\n/**\n * Some themes use css vars for their font sizes, so until we\n * have the way of calculating them don't display them.\n *\n * @param {string|number} value The value that is checked.\n * @return {boolean} Whether the value is a simple css value.\n */\nexport function isSimpleCssValue( value ) {\n\tconst sizeRegex = /^(?!0)\\d+(px|em|rem|vw|vh|%)?$/i;\n\treturn sizeRegex.test( value );\n}\n\n/**\n * Return font size options in the proper format depending\n * on the currently used control (select, toggle group).\n *\n * @param {boolean} useSelectControl Whether to use a select control.\n * @param {Object[]} optionsArray Array of available font sizes objects.\n * @param {*} disableCustomFontSizes Flag that indicates if custom font sizes are disabled.\n * @return {Object[]|null} Array of font sizes in proper format for the used control.\n */\nexport function getFontSizeOptions(\n\tuseSelectControl,\n\toptionsArray,\n\tdisableCustomFontSizes\n) {\n\tif ( disableCustomFontSizes && ! optionsArray.length ) {\n\t\treturn null;\n\t}\n\treturn useSelectControl\n\t\t? getSelectOptions( optionsArray, disableCustomFontSizes )\n\t\t: getToggleGroupOptions( optionsArray );\n}\n\nfunction getSelectOptions( optionsArray, disableCustomFontSizes ) {\n\tconst options = [\n\t\tDEFAULT_FONT_SIZE_OPTION,\n\t\t...optionsArray,\n\t\t...( disableCustomFontSizes ? [] : [ CUSTOM_FONT_SIZE_OPTION ] ),\n\t];\n\treturn options.map( ( { slug, name, size } ) => ( {\n\t\tkey: slug,\n\t\tname,\n\t\tsize,\n\t\t__experimentalHint:\n\t\t\tsize && isSimpleCssValue( size ) && parseInt( size ),\n\t} ) );\n}\n\nfunction getToggleGroupOptions( optionsArray ) {\n\treturn optionsArray.map( ( { slug, size, name } ) => {\n\t\tlet label = size;\n\t\tif ( typeof size === 'string' ) {\n\t\t\tconst [ numericValue ] = splitValueAndUnitFromSize( size );\n\t\t\tlabel = numericValue;\n\t\t}\n\t\treturn { key: slug, value: size, label, name };\n\t} );\n}\n\nexport function getSelectedOption( fontSizes, value ) {\n\tif ( ! value ) {\n\t\treturn DEFAULT_FONT_SIZE_OPTION;\n\t}\n\treturn (\n\t\tfontSizes.find( ( font ) => font.size === value ) ||\n\t\tCUSTOM_FONT_SIZE_OPTION\n\t);\n}\n"]}
@@ -18,8 +18,9 @@ var _footerMessageCell = _interopRequireDefault(require("../mobile/bottom-sheet/
18
18
  /**
19
19
  * Internal dependencies
20
20
  */
21
- function FooterMessageControl({ ...props
22
- }) {
21
+ function FooterMessageControl(_ref) {
22
+ let { ...props
23
+ } = _ref;
23
24
  return (0, _element.createElement)(_footerMessageCell.default, props);
24
25
  }
25
26
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/footer-message-control/index.native.js"],"names":["FooterMessageControl","props"],"mappings":";;;;;;;;;AAGA;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,SAASA,oBAAT,CAA+B,EAAE,GAAGC;AAAL,CAA/B,EAA8C;AAC7C,SAAO,4BAAC,0BAAD,EAAwBA,KAAxB,CAAP;AACA;;eAEc,mBAAMD,oBAAN,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport FooterMessageCell from '../mobile/bottom-sheet/footer-message-cell';\n\nfunction FooterMessageControl( { ...props } ) {\n\treturn <FooterMessageCell { ...props } />;\n}\n\nexport default memo( FooterMessageControl );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/footer-message-control/index.native.js"],"names":["FooterMessageControl","props"],"mappings":";;;;;;;;;AAGA;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,SAASA,oBAAT,OAA8C;AAAA,MAAf,EAAE,GAAGC;AAAL,GAAe;AAC7C,SAAO,4BAAC,0BAAD,EAAwBA,KAAxB,CAAP;AACA;;eAEc,mBAAMD,oBAAN,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport FooterMessageCell from '../mobile/bottom-sheet/footer-message-cell';\n\nfunction FooterMessageControl( { ...props } ) {\n\treturn <FooterMessageCell { ...props } />;\n}\n\nexport default memo( FooterMessageControl );\n"]}
@@ -20,14 +20,15 @@ var _button = _interopRequireDefault(require("../button"));
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- function FormFileUpload({
24
- accept,
25
- children,
26
- multiple = false,
27
- onChange,
28
- render,
29
- ...props
30
- }) {
23
+ function FormFileUpload(_ref) {
24
+ let {
25
+ accept,
26
+ children,
27
+ multiple = false,
28
+ onChange,
29
+ render,
30
+ ...props
31
+ } = _ref;
31
32
  const ref = (0, _element.useRef)();
32
33
 
33
34
  const openFileDialog = () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/form-file-upload/index.js"],"names":["FormFileUpload","accept","children","multiple","onChange","render","props","ref","openFileDialog","current","click","ui","display"],"mappings":";;;;;;;;;AAGA;;;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,cAAT,CAAyB;AACxBC,EAAAA,MADwB;AAExBC,EAAAA,QAFwB;AAGxBC,EAAAA,QAAQ,GAAG,KAHa;AAIxBC,EAAAA,QAJwB;AAKxBC,EAAAA,MALwB;AAMxB,KAAGC;AANqB,CAAzB,EAOI;AACH,QAAMC,GAAG,GAAG,sBAAZ;;AACA,QAAMC,cAAc,GAAG,MAAM;AAC5BD,IAAAA,GAAG,CAACE,OAAJ,CAAYC,KAAZ;AACA,GAFD;;AAIA,QAAMC,EAAE,GAAGN,MAAM,GAChBA,MAAM,CAAE;AAAEG,IAAAA;AAAF,GAAF,CADU,GAGhB,4BAAC,eAAD;AAAQ,IAAA,OAAO,EAAGA;AAAlB,KAAwCF,KAAxC,GACGJ,QADH,CAHD;AAOA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGS,EADH,EAEC;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,GAAG,EAAGJ,GAFP;AAGC,IAAA,QAAQ,EAAGJ,QAHZ;AAIC,IAAA,KAAK,EAAG;AAAES,MAAAA,OAAO,EAAE;AAAX,KAJT;AAKC,IAAA,MAAM,EAAGX,MALV;AAMC,IAAA,QAAQ,EAAGG;AANZ,IAFD,CADD;AAaA;;eAEcJ,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\n\nfunction FormFileUpload( {\n\taccept,\n\tchildren,\n\tmultiple = false,\n\tonChange,\n\trender,\n\t...props\n} ) {\n\tconst ref = useRef();\n\tconst openFileDialog = () => {\n\t\tref.current.click();\n\t};\n\n\tconst ui = render ? (\n\t\trender( { openFileDialog } )\n\t) : (\n\t\t<Button onClick={ openFileDialog } { ...props }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n\treturn (\n\t\t<div className=\"components-form-file-upload\">\n\t\t\t{ ui }\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={ ref }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\taccept={ accept }\n\t\t\t\tonChange={ onChange }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default FormFileUpload;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/form-file-upload/index.js"],"names":["FormFileUpload","accept","children","multiple","onChange","render","props","ref","openFileDialog","current","click","ui","display"],"mappings":";;;;;;;;;AAGA;;;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,cAAT,OAOI;AAAA,MAPqB;AACxBC,IAAAA,MADwB;AAExBC,IAAAA,QAFwB;AAGxBC,IAAAA,QAAQ,GAAG,KAHa;AAIxBC,IAAAA,QAJwB;AAKxBC,IAAAA,MALwB;AAMxB,OAAGC;AANqB,GAOrB;AACH,QAAMC,GAAG,GAAG,sBAAZ;;AACA,QAAMC,cAAc,GAAG,MAAM;AAC5BD,IAAAA,GAAG,CAACE,OAAJ,CAAYC,KAAZ;AACA,GAFD;;AAIA,QAAMC,EAAE,GAAGN,MAAM,GAChBA,MAAM,CAAE;AAAEG,IAAAA;AAAF,GAAF,CADU,GAGhB,4BAAC,eAAD;AAAQ,IAAA,OAAO,EAAGA;AAAlB,KAAwCF,KAAxC,GACGJ,QADH,CAHD;AAOA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGS,EADH,EAEC;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,GAAG,EAAGJ,GAFP;AAGC,IAAA,QAAQ,EAAGJ,QAHZ;AAIC,IAAA,KAAK,EAAG;AAAES,MAAAA,OAAO,EAAE;AAAX,KAJT;AAKC,IAAA,MAAM,EAAGX,MALV;AAMC,IAAA,QAAQ,EAAGG;AANZ,IAFD,CADD;AAaA;;eAEcJ,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\n\nfunction FormFileUpload( {\n\taccept,\n\tchildren,\n\tmultiple = false,\n\tonChange,\n\trender,\n\t...props\n} ) {\n\tconst ref = useRef();\n\tconst openFileDialog = () => {\n\t\tref.current.click();\n\t};\n\n\tconst ui = render ? (\n\t\trender( { openFileDialog } )\n\t) : (\n\t\t<Button onClick={ openFileDialog } { ...props }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n\treturn (\n\t\t<div className=\"components-form-file-upload\">\n\t\t\t{ ui }\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={ ref }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\taccept={ accept }\n\t\t\t\tonChange={ onChange }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default FormFileUpload;\n"]}
@@ -18,14 +18,15 @@ var _lodash = require("lodash");
18
18
  /**
19
19
  * External dependencies
20
20
  */
21
- function FormToggle({
22
- className,
23
- checked,
24
- id,
25
- disabled,
26
- onChange = _lodash.noop,
27
- ...props
28
- }) {
21
+ function FormToggle(_ref) {
22
+ let {
23
+ className,
24
+ checked,
25
+ id,
26
+ disabled,
27
+ onChange = _lodash.noop,
28
+ ...props
29
+ } = _ref;
29
30
  const wrapperClasses = (0, _classnames.default)('components-form-toggle', className, {
30
31
  'is-checked': checked,
31
32
  'is-disabled': disabled
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/form-toggle/index.js"],"names":["FormToggle","className","checked","id","disabled","onChange","noop","props","wrapperClasses"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,SAASA,UAAT,CAAqB;AACpBC,EAAAA,SADoB;AAEpBC,EAAAA,OAFoB;AAGpBC,EAAAA,EAHoB;AAIpBC,EAAAA,QAJoB;AAKpBC,EAAAA,QAAQ,GAAGC,YALS;AAMpB,KAAGC;AANiB,CAArB,EAOI;AACH,QAAMC,cAAc,GAAG,yBAAY,wBAAZ,EAAsCP,SAAtC,EAAiD;AACvE,kBAAcC,OADyD;AAEvE,mBAAeE;AAFwD,GAAjD,CAAvB;AAKA,SACC;AAAM,IAAA,SAAS,EAAGI;AAAlB,KACC;AACC,IAAA,SAAS,EAAC,+BADX;AAEC,IAAA,EAAE,EAAGL,EAFN;AAGC,IAAA,IAAI,EAAC,UAHN;AAIC,IAAA,OAAO,EAAGD,OAJX;AAKC,IAAA,QAAQ,EAAGG,QALZ;AAMC,IAAA,QAAQ,EAAGD;AANZ,KAOMG,KAPN,EADD,EAUC;AAAM,IAAA,SAAS,EAAC;AAAhB,IAVD,EAWC;AAAM,IAAA,SAAS,EAAC;AAAhB,IAXD,CADD;AAeA;;eAEcP,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\nfunction FormToggle( {\n\tclassName,\n\tchecked,\n\tid,\n\tdisabled,\n\tonChange = noop,\n\t...props\n} ) {\n\tconst wrapperClasses = classnames( 'components-form-toggle', className, {\n\t\t'is-checked': checked,\n\t\t'is-disabled': disabled,\n\t} );\n\n\treturn (\n\t\t<span className={ wrapperClasses }>\n\t\t\t<input\n\t\t\t\tclassName=\"components-form-toggle__input\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={ checked }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<span className=\"components-form-toggle__track\"></span>\n\t\t\t<span className=\"components-form-toggle__thumb\"></span>\n\t\t</span>\n\t);\n}\n\nexport default FormToggle;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/form-toggle/index.js"],"names":["FormToggle","className","checked","id","disabled","onChange","noop","props","wrapperClasses"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,SAASA,UAAT,OAOI;AAAA,MAPiB;AACpBC,IAAAA,SADoB;AAEpBC,IAAAA,OAFoB;AAGpBC,IAAAA,EAHoB;AAIpBC,IAAAA,QAJoB;AAKpBC,IAAAA,QAAQ,GAAGC,YALS;AAMpB,OAAGC;AANiB,GAOjB;AACH,QAAMC,cAAc,GAAG,yBAAY,wBAAZ,EAAsCP,SAAtC,EAAiD;AACvE,kBAAcC,OADyD;AAEvE,mBAAeE;AAFwD,GAAjD,CAAvB;AAKA,SACC;AAAM,IAAA,SAAS,EAAGI;AAAlB,KACC;AACC,IAAA,SAAS,EAAC,+BADX;AAEC,IAAA,EAAE,EAAGL,EAFN;AAGC,IAAA,IAAI,EAAC,UAHN;AAIC,IAAA,OAAO,EAAGD,OAJX;AAKC,IAAA,QAAQ,EAAGG,QALZ;AAMC,IAAA,QAAQ,EAAGD;AANZ,KAOMG,KAPN,EADD,EAUC;AAAM,IAAA,SAAS,EAAC;AAAhB,IAVD,EAWC;AAAM,IAAA,SAAS,EAAC;AAAhB,IAXD,CADD;AAeA;;eAEcP,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\nfunction FormToggle( {\n\tclassName,\n\tchecked,\n\tid,\n\tdisabled,\n\tonChange = noop,\n\t...props\n} ) {\n\tconst wrapperClasses = classnames( 'components-form-toggle', className, {\n\t\t'is-checked': checked,\n\t\t'is-disabled': disabled,\n\t} );\n\n\treturn (\n\t\t<span className={ wrapperClasses }>\n\t\t\t<input\n\t\t\t\tclassName=\"components-form-toggle__input\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={ checked }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<span className=\"components-form-toggle__track\"></span>\n\t\t\t<span className=\"components-form-toggle__thumb\"></span>\n\t\t</span>\n\t);\n}\n\nexport default FormToggle;\n"]}
@@ -430,7 +430,12 @@ class FormTokenField extends _element.Component {
430
430
  return token;
431
431
  }
432
432
 
433
- getMatchingSuggestions(searchValue = this.state.incompleteTokenValue, suggestions = this.props.suggestions, value = this.props.value, maxSuggestions = this.props.maxSuggestions, saveTransform = this.props.saveTransform) {
433
+ getMatchingSuggestions() {
434
+ let searchValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.incompleteTokenValue;
435
+ let suggestions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.suggestions;
436
+ let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.value;
437
+ let maxSuggestions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props.maxSuggestions;
438
+ let saveTransform = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.props.saveTransform;
434
439
  let match = saveTransform(searchValue);
435
440
  const startsWithMatch = [];
436
441
  const containsMatch = [];
@@ -480,7 +485,8 @@ class FormTokenField extends _element.Component {
480
485
  return this.props.saveTransform(this.state.incompleteTokenValue).length > 0;
481
486
  }
482
487
 
483
- updateSuggestions(resetSelectedSuggestion = true) {
488
+ updateSuggestions() {
489
+ let resetSelectedSuggestion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
484
490
  const {
485
491
  __experimentalExpandOnFocus
486
492
  } = this.props;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/form-token-field/index.js"],"names":["initialState","incompleteTokenValue","inputOffsetFromEnd","isActive","isExpanded","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","Component","constructor","arguments","state","onKeyDown","bind","onKeyPress","onFocus","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindInput","bindTokensAndInput","updateSuggestions","componentDidUpdate","prevProps","input","hasFocus","focus","suggestions","value","props","suggestionsDidUpdate","getDerivedStateFromProps","disabled","ref","tokensAndInput","event","__experimentalExpandOnFocus","target","setState","inputHasValidValue","preventDefault","defaultPrevented","keyCode","BACKSPACE","handleDeleteKey","ENTER","LEFT","handleLeftArrowKey","UP","handleUpArrowKey","RIGHT","handleRightArrowKey","DOWN","handleDownArrowKey","DELETE","SPACE","tokenizeOnSpace","ESCAPE","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","index","getMatchingSuggestions","indexOf","addNewToken","text","separator","items","split","tokenValue","length","addNewTokens","slice","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","maxSuggestions","saveTransform","moveInputToIndex","Math","max","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","map","filter","Boolean","token","valueContainsToken","newValue","splice","apply","concat","onChange","__experimentalValidateInput","speak","messages","__experimentalInvalid","added","newTokens","item","getTokenValue","removed","searchValue","match","startsWithMatch","containsMatch","toLocaleLowerCase","push","resetSelectedSuggestion","inputHasMinimumChars","trim","matchingSuggestions","hasMatchingSuggestions","newState","debouncedSpeak","message","renderTokensAndInput","components","renderInput","status","undefined","termPosition","termsCount","title","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","placeholder","instanceId","key","render","label","className","__experimentalShowHowTo","classes","tokenFieldProps","tabIndex","Object","assign","defaultProps","freeze","identity","remove"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tlast,\n\ttake,\n\tclone,\n\tuniq,\n\tmap,\n\tdifference,\n\teach,\n\tidentity,\n\tsome,\n} from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport {\n\tBACKSPACE,\n\tENTER,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tSPACE,\n\tDELETE,\n\tESCAPE,\n} from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t\tthis.updateSuggestions = this.updateSuggestions.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\n\t\tconst { suggestions, value } = this.props;\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevProps.suggestions\n\t\t);\n\t\tif ( suggestionsDidUpdate || value !== prevProps.value ) {\n\t\t\tthis.updateSuggestions( suggestionsDidUpdate );\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( {\n\t\t\t\tisActive: true,\n\t\t\t\tisExpanded:\n\t\t\t\t\t!! __experimentalExpandOnFocus || this.state.isExpanded,\n\t\t\t} );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenBeforeInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenAfterInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // comma\n\t\t\t\tpreventDefault = this.handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonContainerTouched( event ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState(\n\t\t\t{ incompleteTokenValue: tokenValue },\n\t\t\tthis.updateSuggestions\n\t\t);\n\n\t\tthis.props.onInputChange( tokenValue );\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex === 0\n\t\t\t\t\t? this.getMatchingSuggestions(\n\t\t\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\t\t\tprops.suggestions,\n\t\t\t\t\t\t\tprops.value,\n\t\t\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\t\t\tprops.saveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: state.selectedSuggestionIndex ) - 1,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) %\n\t\t\t\tthis.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // preventDefault\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // preventDefault\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min(\n\t\t\t\tstate.inputOffsetFromEnd + 1,\n\t\t\t\tprops.value.length\n\t\t\t),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// update input offset since it's the offset from the last token\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tconst {\n\t\t\t__experimentalExpandOnFocus,\n\t\t\t__experimentalValidateInput,\n\t\t} = this.props;\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tthis.props.speak(\n\t\t\t\tthis.props.messages.__experimentalInvalid,\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: ! __experimentalExpandOnFocus,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[\n\t\t\t\tthis.state.selectedSuggestionIndex\n\t\t\t];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn (\n\t\t\tthis.props.saveTransform( this.state.incompleteTokenValue ).length >\n\t\t\t0\n\t\t);\n\t}\n\n\tupdateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\tconst { incompleteTokenValue } = this.state;\n\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions(\n\t\t\tincompleteTokenValue\n\t\t);\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst newState = {\n\t\t\tisExpanded:\n\t\t\t\t__experimentalExpandOnFocus ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions ),\n\t\t};\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tnewState.selectedSuggestionIndex = -1;\n\t\t\tnewState.selectedSuggestionScroll = false;\n\t\t}\n\n\t\tthis.setState( newState );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst { debouncedSpeak } = this.props;\n\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst {\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tmaxLength,\n\t\t\tplaceholder,\n\t\t\tvalue,\n\t\t\tinstanceId,\n\t\t} = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn <TokenInput { ...props } />;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tlabel = __( 'Add item' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t\t__experimentalShowHowTo,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames(\n\t\t\tclassName,\n\t\t\t'components-form-token-field__input-container',\n\t\t\t{\n\t\t\t\t'is-active': this.state.isActive,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t}\n\t\t);\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: 'components-form-token-field',\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps }>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ this.props.saveTransform(\n\t\t\t\t\t\t\t\tthis.state.incompleteTokenValue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\t\tscrollIntoView={\n\t\t\t\t\t\t\t\tthis.state.selectedSuggestionScroll\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t\t<p\n\t\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.tokenizeOnSpace\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t},\n\t__experimentalExpandOnFocus: false,\n\t__experimentalValidateInput: () => true,\n\t__experimentalShowHowTo: true,\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/form-token-field/index.js"],"names":["initialState","incompleteTokenValue","inputOffsetFromEnd","isActive","isExpanded","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","Component","constructor","arguments","state","onKeyDown","bind","onKeyPress","onFocus","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindInput","bindTokensAndInput","updateSuggestions","componentDidUpdate","prevProps","input","hasFocus","focus","suggestions","value","props","suggestionsDidUpdate","getDerivedStateFromProps","disabled","ref","tokensAndInput","event","__experimentalExpandOnFocus","target","setState","inputHasValidValue","preventDefault","defaultPrevented","keyCode","BACKSPACE","handleDeleteKey","ENTER","LEFT","handleLeftArrowKey","UP","handleUpArrowKey","RIGHT","handleRightArrowKey","DOWN","handleDownArrowKey","DELETE","SPACE","tokenizeOnSpace","ESCAPE","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","index","getMatchingSuggestions","indexOf","addNewToken","text","separator","items","split","tokenValue","length","addNewTokens","slice","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","maxSuggestions","saveTransform","moveInputToIndex","Math","max","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","map","filter","Boolean","token","valueContainsToken","newValue","splice","apply","concat","onChange","__experimentalValidateInput","speak","messages","__experimentalInvalid","added","newTokens","item","getTokenValue","removed","searchValue","match","startsWithMatch","containsMatch","toLocaleLowerCase","push","resetSelectedSuggestion","inputHasMinimumChars","trim","matchingSuggestions","hasMatchingSuggestions","newState","debouncedSpeak","message","renderTokensAndInput","components","renderInput","status","undefined","termPosition","termsCount","title","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","placeholder","instanceId","key","render","label","className","__experimentalShowHowTo","classes","tokenFieldProps","tabIndex","Object","assign","defaultProps","freeze","identity","remove"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tlast,\n\ttake,\n\tclone,\n\tuniq,\n\tmap,\n\tdifference,\n\teach,\n\tidentity,\n\tsome,\n} from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport {\n\tBACKSPACE,\n\tENTER,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tSPACE,\n\tDELETE,\n\tESCAPE,\n} from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t\tthis.updateSuggestions = this.updateSuggestions.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\n\t\tconst { suggestions, value } = this.props;\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevProps.suggestions\n\t\t);\n\t\tif ( suggestionsDidUpdate || value !== prevProps.value ) {\n\t\t\tthis.updateSuggestions( suggestionsDidUpdate );\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( {\n\t\t\t\tisActive: true,\n\t\t\t\tisExpanded:\n\t\t\t\t\t!! __experimentalExpandOnFocus || this.state.isExpanded,\n\t\t\t} );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenBeforeInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenAfterInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // comma\n\t\t\t\tpreventDefault = this.handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonContainerTouched( event ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState(\n\t\t\t{ incompleteTokenValue: tokenValue },\n\t\t\tthis.updateSuggestions\n\t\t);\n\n\t\tthis.props.onInputChange( tokenValue );\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex === 0\n\t\t\t\t\t? this.getMatchingSuggestions(\n\t\t\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\t\t\tprops.suggestions,\n\t\t\t\t\t\t\tprops.value,\n\t\t\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\t\t\tprops.saveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: state.selectedSuggestionIndex ) - 1,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) %\n\t\t\t\tthis.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // preventDefault\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // preventDefault\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min(\n\t\t\t\tstate.inputOffsetFromEnd + 1,\n\t\t\t\tprops.value.length\n\t\t\t),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// update input offset since it's the offset from the last token\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tconst {\n\t\t\t__experimentalExpandOnFocus,\n\t\t\t__experimentalValidateInput,\n\t\t} = this.props;\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tthis.props.speak(\n\t\t\t\tthis.props.messages.__experimentalInvalid,\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: ! __experimentalExpandOnFocus,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[\n\t\t\t\tthis.state.selectedSuggestionIndex\n\t\t\t];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn (\n\t\t\tthis.props.saveTransform( this.state.incompleteTokenValue ).length >\n\t\t\t0\n\t\t);\n\t}\n\n\tupdateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\tconst { incompleteTokenValue } = this.state;\n\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions(\n\t\t\tincompleteTokenValue\n\t\t);\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst newState = {\n\t\t\tisExpanded:\n\t\t\t\t__experimentalExpandOnFocus ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions ),\n\t\t};\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tnewState.selectedSuggestionIndex = -1;\n\t\t\tnewState.selectedSuggestionScroll = false;\n\t\t}\n\n\t\tthis.setState( newState );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst { debouncedSpeak } = this.props;\n\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst {\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tmaxLength,\n\t\t\tplaceholder,\n\t\t\tvalue,\n\t\t\tinstanceId,\n\t\t} = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn <TokenInput { ...props } />;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tlabel = __( 'Add item' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t\t__experimentalShowHowTo,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames(\n\t\t\tclassName,\n\t\t\t'components-form-token-field__input-container',\n\t\t\t{\n\t\t\t\t'is-active': this.state.isActive,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t}\n\t\t);\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: 'components-form-token-field',\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps }>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ this.props.saveTransform(\n\t\t\t\t\t\t\t\tthis.state.incompleteTokenValue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\t\tscrollIntoView={\n\t\t\t\t\t\t\t\tthis.state.selectedSuggestionScroll\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t\t<p\n\t\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.tokenizeOnSpace\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t},\n\t__experimentalExpandOnFocus: false,\n\t__experimentalValidateInput: () => true,\n\t__experimentalShowHowTo: true,\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n"]}