@wordpress/components 24.0.0 → 25.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1491) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/CONTRIBUTING.md +10 -0
  3. package/build/alignment-matrix-control/cell.js +5 -6
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +8 -9
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +10 -11
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  13. package/build/alignment-matrix-control/utils.js +1 -2
  14. package/build/alignment-matrix-control/utils.js.map +1 -1
  15. package/build/angle-picker-control/angle-circle.js +6 -9
  16. package/build/angle-picker-control/angle-circle.js.map +1 -1
  17. package/build/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  18. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  19. package/build/animate/index.js +5 -6
  20. package/build/animate/index.js.map +1 -1
  21. package/build/autocomplete/autocompleter-ui.js +29 -33
  22. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  23. package/build/autocomplete/autocompleter-ui.native.js +15 -22
  24. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  25. package/build/autocomplete/background-view.android.js +3 -4
  26. package/build/autocomplete/background-view.android.js.map +1 -1
  27. package/build/autocomplete/background-view.ios.js +3 -4
  28. package/build/autocomplete/background-view.ios.js.map +1 -1
  29. package/build/autocomplete/get-default-use-items.js +1 -3
  30. package/build/autocomplete/get-default-use-items.js.map +1 -1
  31. package/build/autocomplete/index.js +18 -23
  32. package/build/autocomplete/index.js.map +1 -1
  33. package/build/base-control/index.js +14 -16
  34. package/build/base-control/index.js.map +1 -1
  35. package/build/base-control/index.native.js +5 -6
  36. package/build/base-control/index.native.js.map +1 -1
  37. package/build/base-control/styles/base-control-styles.js +6 -8
  38. package/build/base-control/styles/base-control-styles.js.map +1 -1
  39. package/build/border-box-control/border-box-control/hook.js +5 -5
  40. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  41. package/build/border-box-control/border-box-control-split-controls/component.js +4 -4
  42. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  43. package/build/border-box-control/styles.js +3 -3
  44. package/build/border-box-control/styles.js.map +1 -1
  45. package/build/border-box-control/utils.js +5 -8
  46. package/build/border-box-control/utils.js.map +1 -1
  47. package/build/border-control/border-control/component.js +1 -1
  48. package/build/border-control/border-control/component.js.map +1 -1
  49. package/build/border-control/border-control/hook.js +5 -5
  50. package/build/border-control/border-control/hook.js.map +1 -1
  51. package/build/border-control/border-control-dropdown/component.js +70 -67
  52. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  53. package/build/border-control/border-control-dropdown/hook.js +4 -4
  54. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  55. package/build/box-control/all-input-control.js +11 -12
  56. package/build/box-control/all-input-control.js.map +1 -1
  57. package/build/box-control/axial-input-controls.js +12 -14
  58. package/build/box-control/axial-input-controls.js.map +1 -1
  59. package/build/box-control/icon.js +7 -9
  60. package/build/box-control/icon.js.map +1 -1
  61. package/build/box-control/index.js +22 -24
  62. package/build/box-control/index.js.map +1 -1
  63. package/build/box-control/input-controls.js +15 -18
  64. package/build/box-control/input-controls.js.map +1 -1
  65. package/build/box-control/linked-button.js +4 -5
  66. package/build/box-control/linked-button.js.map +1 -1
  67. package/build/box-control/styles/box-control-icon-styles.js +3 -4
  68. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  69. package/build/box-control/styles/box-control-styles.js +9 -12
  70. package/build/box-control/styles/box-control-styles.js.map +1 -1
  71. package/build/box-control/styles/box-control-visualizer-styles.js +7 -11
  72. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  73. package/build/box-control/unit-control.js +18 -22
  74. package/build/box-control/unit-control.js.map +1 -1
  75. package/build/box-control/utils.js +4 -10
  76. package/build/box-control/utils.js.map +1 -1
  77. package/build/button/deprecated.js +7 -8
  78. package/build/button/deprecated.js.map +1 -1
  79. package/build/button/index.js +15 -16
  80. package/build/button/index.js.map +1 -1
  81. package/build/button/index.native.js +5 -7
  82. package/build/button/index.native.js.map +1 -1
  83. package/build/card/card/hook.js +5 -6
  84. package/build/card/card/hook.js.map +1 -1
  85. package/build/circular-option-picker/index.js +27 -33
  86. package/build/circular-option-picker/index.js.map +1 -1
  87. package/build/clipboard-button/index.js +8 -9
  88. package/build/clipboard-button/index.js.map +1 -1
  89. package/build/color-control/index.native.js +7 -8
  90. package/build/color-control/index.native.js.map +1 -1
  91. package/build/color-indicator/index.native.js +10 -12
  92. package/build/color-indicator/index.native.js.map +1 -1
  93. package/build/color-palette/index.js +63 -72
  94. package/build/color-palette/index.js.map +1 -1
  95. package/build/color-palette/index.native.js +33 -47
  96. package/build/color-palette/index.native.js.map +1 -1
  97. package/build/color-palette/utils.js +2 -5
  98. package/build/color-palette/utils.js.map +1 -1
  99. package/build/color-picker/color-input.js +6 -7
  100. package/build/color-picker/color-input.js.map +1 -1
  101. package/build/color-picker/hex-input.js +8 -12
  102. package/build/color-picker/hex-input.js.map +1 -1
  103. package/build/color-picker/hsl-input.js +5 -6
  104. package/build/color-picker/hsl-input.js.map +1 -1
  105. package/build/color-picker/index.native.js +23 -30
  106. package/build/color-picker/index.native.js.map +1 -1
  107. package/build/color-picker/input-with-slider.js +8 -10
  108. package/build/color-picker/input-with-slider.js.map +1 -1
  109. package/build/color-picker/picker.js +5 -6
  110. package/build/color-picker/picker.js.map +1 -1
  111. package/build/color-picker/rgb-input.js +5 -6
  112. package/build/color-picker/rgb-input.js.map +1 -1
  113. package/build/color-picker/styles.js +8 -8
  114. package/build/color-picker/styles.js.map +1 -1
  115. package/build/color-picker/use-deprecated-props.js +1 -3
  116. package/build/color-picker/use-deprecated-props.js.map +1 -1
  117. package/build/combobox-control/index.js +3 -6
  118. package/build/combobox-control/index.js.map +1 -1
  119. package/build/combobox-control/styles.js +3 -6
  120. package/build/combobox-control/styles.js.map +1 -1
  121. package/build/confirm-dialog/component.js +1 -1
  122. package/build/confirm-dialog/component.js.map +1 -1
  123. package/build/custom-gradient-picker/gradient-bar/control-points.js +116 -131
  124. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  125. package/build/custom-gradient-picker/gradient-bar/index.js +12 -14
  126. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  127. package/build/custom-gradient-picker/gradient-bar/utils.js +4 -6
  128. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  129. package/build/custom-gradient-picker/index.js +19 -22
  130. package/build/custom-gradient-picker/index.js.map +1 -1
  131. package/build/custom-gradient-picker/index.native.js +7 -8
  132. package/build/custom-gradient-picker/index.native.js.map +1 -1
  133. package/build/custom-gradient-picker/serializer.js +15 -21
  134. package/build/custom-gradient-picker/serializer.js.map +1 -1
  135. package/build/custom-gradient-picker/utils.js +6 -9
  136. package/build/custom-gradient-picker/utils.js.map +1 -1
  137. package/build/custom-select-control/index.js +14 -21
  138. package/build/custom-select-control/index.js.map +1 -1
  139. package/build/dashicon/index.js +7 -8
  140. package/build/dashicon/index.js.map +1 -1
  141. package/build/dashicon/index.native.js +4 -5
  142. package/build/dashicon/index.native.js.map +1 -1
  143. package/build/date-time/date/index.js +24 -26
  144. package/build/date-time/date/index.js.map +1 -1
  145. package/build/date-time/date-time/index.js +11 -93
  146. package/build/date-time/date-time/index.js.map +1 -1
  147. package/build/date-time/date-time/styles.js +4 -19
  148. package/build/date-time/date-time/styles.js.map +1 -1
  149. package/build/date-time/time/index.js +11 -14
  150. package/build/date-time/time/index.js.map +1 -1
  151. package/build/dimension-control/index.js +8 -11
  152. package/build/dimension-control/index.js.map +1 -1
  153. package/build/disabled/index.js +6 -7
  154. package/build/disabled/index.js.map +1 -1
  155. package/build/disabled/index.native.js +3 -4
  156. package/build/disabled/index.native.js.map +1 -1
  157. package/build/divider/styles.js +21 -29
  158. package/build/divider/styles.js.map +1 -1
  159. package/build/draggable/index.js +14 -19
  160. package/build/draggable/index.js.map +1 -1
  161. package/build/draggable/index.native.js +17 -19
  162. package/build/draggable/index.native.js.map +1 -1
  163. package/build/drop-zone/index.js +11 -16
  164. package/build/drop-zone/index.js.map +1 -1
  165. package/build/drop-zone/provider.js +3 -4
  166. package/build/drop-zone/provider.js.map +1 -1
  167. package/build/dropdown/index.js +19 -23
  168. package/build/dropdown/index.js.map +1 -1
  169. package/build/dropdown/styles.js +3 -4
  170. package/build/dropdown/styles.js.map +1 -1
  171. package/build/dropdown-menu/index.js +96 -26
  172. package/build/dropdown-menu/index.js.map +1 -1
  173. package/build/dropdown-menu/index.native.js +22 -30
  174. package/build/dropdown-menu/index.native.js.map +1 -1
  175. package/build/dropdown-menu/types.js +6 -0
  176. package/build/dropdown-menu/types.js.map +1 -0
  177. package/build/dropdown-menu-v2/index.js +230 -0
  178. package/build/dropdown-menu-v2/index.js.map +1 -0
  179. package/build/dropdown-menu-v2/styles.js +184 -0
  180. package/build/dropdown-menu-v2/styles.js.map +1 -0
  181. package/build/dropdown-menu-v2/types.js +6 -0
  182. package/build/dropdown-menu-v2/types.js.map +1 -0
  183. package/build/duotone-picker/color-list-picker/index.js +16 -18
  184. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  185. package/build/duotone-picker/custom-duotone-bar.js +4 -5
  186. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  187. package/build/duotone-picker/duotone-picker.js +15 -17
  188. package/build/duotone-picker/duotone-picker.js.map +1 -1
  189. package/build/duotone-picker/duotone-swatch.js +3 -4
  190. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  191. package/build/duotone-picker/utils.js +14 -27
  192. package/build/duotone-picker/utils.js.map +1 -1
  193. package/build/external-link/index.js +1 -1
  194. package/build/external-link/index.js.map +1 -1
  195. package/build/external-link/index.native.js +4 -5
  196. package/build/external-link/index.native.js.map +1 -1
  197. package/build/focal-point-picker/controls.js +11 -10
  198. package/build/focal-point-picker/controls.js.map +1 -1
  199. package/build/focal-point-picker/focal-point.js +5 -6
  200. package/build/focal-point-picker/focal-point.js.map +1 -1
  201. package/build/focal-point-picker/focal-point.native.js +5 -6
  202. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  203. package/build/focal-point-picker/grid.js +4 -5
  204. package/build/focal-point-picker/grid.js.map +1 -1
  205. package/build/focal-point-picker/index.js +33 -37
  206. package/build/focal-point-picker/index.js.map +1 -1
  207. package/build/focal-point-picker/index.native.js +10 -12
  208. package/build/focal-point-picker/index.native.js.map +1 -1
  209. package/build/focal-point-picker/media.js +11 -13
  210. package/build/focal-point-picker/media.js.map +1 -1
  211. package/build/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  212. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  213. package/build/focal-point-picker/styles/focal-point-style.js +3 -6
  214. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  215. package/build/focal-point-picker/tooltip/index.native.js +16 -21
  216. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  217. package/build/focal-point-picker/utils.js +2 -4
  218. package/build/focal-point-picker/utils.js.map +1 -1
  219. package/build/focusable-iframe/index.js +4 -5
  220. package/build/focusable-iframe/index.js.map +1 -1
  221. package/build/font-size-picker/font-size-picker-select.js +3 -5
  222. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  223. package/build/font-size-picker/index.js +13 -19
  224. package/build/font-size-picker/index.js.map +1 -1
  225. package/build/font-size-picker/index.native.js +6 -7
  226. package/build/font-size-picker/index.native.js.map +1 -1
  227. package/build/font-size-picker/styles.js +24 -8
  228. package/build/font-size-picker/styles.js.map +1 -1
  229. package/build/footer-message-control/index.native.js +2 -3
  230. package/build/footer-message-control/index.native.js.map +1 -1
  231. package/build/form-file-upload/index.js +10 -13
  232. package/build/form-file-upload/index.js.map +1 -1
  233. package/build/form-token-field/index.js +4 -19
  234. package/build/form-token-field/index.js.map +1 -1
  235. package/build/form-token-field/styles.js +4 -7
  236. package/build/form-token-field/styles.js.map +1 -1
  237. package/build/form-token-field/suggestions-list.js +14 -15
  238. package/build/form-token-field/suggestions-list.js.map +1 -1
  239. package/build/form-token-field/token-input.js +2 -2
  240. package/build/form-token-field/token-input.js.map +1 -1
  241. package/build/form-token-field/token.js +14 -15
  242. package/build/form-token-field/token.js.map +1 -1
  243. package/build/gradient-picker/index.js +51 -58
  244. package/build/gradient-picker/index.js.map +1 -1
  245. package/build/guide/icons.js +13 -16
  246. package/build/guide/icons.js.map +1 -1
  247. package/build/guide/index.js +9 -12
  248. package/build/guide/index.js.map +1 -1
  249. package/build/guide/page-control.js +5 -6
  250. package/build/guide/page-control.js.map +1 -1
  251. package/build/h-stack/utils.js +1 -3
  252. package/build/h-stack/utils.js.map +1 -1
  253. package/build/higher-order/navigate-regions/index.js +16 -22
  254. package/build/higher-order/navigate-regions/index.js.map +1 -1
  255. package/build/higher-order/with-focus-outside/index.js +1 -1
  256. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  257. package/build/higher-order/with-focus-outside/index.native.js +1 -1
  258. package/build/higher-order/with-focus-outside/index.native.js.map +1 -1
  259. package/build/higher-order/with-focus-return/index.js +13 -17
  260. package/build/higher-order/with-focus-return/index.js.map +1 -1
  261. package/build/icon/index.js +5 -7
  262. package/build/icon/index.js.map +1 -1
  263. package/build/index.native.js +0 -9
  264. package/build/index.native.js.map +1 -1
  265. package/build/input-control/backdrop.js +4 -5
  266. package/build/input-control/backdrop.js.map +1 -1
  267. package/build/input-control/index.js +22 -23
  268. package/build/input-control/index.js.map +1 -1
  269. package/build/input-control/input-base.js +16 -17
  270. package/build/input-control/input-base.js.map +1 -1
  271. package/build/input-control/input-field.js +26 -29
  272. package/build/input-control/input-field.js.map +1 -1
  273. package/build/input-control/label.js +6 -7
  274. package/build/input-control/label.js.map +1 -1
  275. package/build/input-control/reducer/reducer.js +2 -6
  276. package/build/input-control/reducer/reducer.js.map +1 -1
  277. package/build/input-control/styles/input-control-styles.js +62 -64
  278. package/build/input-control/styles/input-control-styles.js.map +1 -1
  279. package/build/input-control/utils.js +1 -3
  280. package/build/input-control/utils.js.map +1 -1
  281. package/build/keyboard-shortcuts/index.js +21 -26
  282. package/build/keyboard-shortcuts/index.js.map +1 -1
  283. package/build/menu-items-choice/index.js +6 -7
  284. package/build/menu-items-choice/index.js.map +1 -1
  285. package/build/mobile/audio-player/index.native.js +7 -8
  286. package/build/mobile/audio-player/index.native.js.map +1 -1
  287. package/build/mobile/badge/index.native.js +5 -6
  288. package/build/mobile/badge/index.native.js.map +1 -1
  289. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  290. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  291. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  292. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  293. package/build/mobile/bottom-sheet/button.native.js +18 -21
  294. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  295. package/build/mobile/bottom-sheet/cell.native.js +23 -11
  296. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  297. package/build/mobile/bottom-sheet/color-cell.native.js +3 -1
  298. package/build/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  299. package/build/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  300. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  301. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  302. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  303. package/build/mobile/bottom-sheet/index.native.js +19 -30
  304. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  305. package/build/mobile/bottom-sheet/link-cell.native.js +6 -7
  306. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  307. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  308. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  309. package/build/mobile/bottom-sheet/lock-icon/index.native.js +33 -0
  310. package/build/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  311. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  312. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  313. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  314. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  315. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  316. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  317. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  318. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  319. package/build/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  320. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  321. package/build/mobile/bottom-sheet/radio-cell.native.js +4 -3
  322. package/build/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  323. package/build/mobile/bottom-sheet/range-cell.native.js +7 -3
  324. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  325. package/build/mobile/bottom-sheet/range-text-input.native.js +5 -6
  326. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  327. package/build/mobile/bottom-sheet/ripple.native.js +10 -11
  328. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  329. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  330. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  331. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  332. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  333. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  334. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  335. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  336. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  337. package/build/mobile/bottom-sheet/switch-cell.native.js +8 -2
  338. package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  339. package/build/mobile/bottom-sheet-select-control/index.native.js +11 -10
  340. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  341. package/build/mobile/bottom-sheet-text-control/index.native.js +13 -12
  342. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  343. package/build/mobile/color-settings/index.native.js +12 -13
  344. package/build/mobile/color-settings/index.native.js.map +1 -1
  345. package/build/mobile/color-settings/utils.native.js +2 -2
  346. package/build/mobile/color-settings/utils.native.js.map +1 -1
  347. package/build/mobile/cycle-select-control/index.native.js +11 -12
  348. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  349. package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
  350. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  351. package/build/mobile/global-styles-context/index.native.js +6 -14
  352. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  353. package/build/mobile/global-styles-context/utils.native.js +69 -112
  354. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  355. package/build/mobile/gradient/index.native.js +26 -33
  356. package/build/mobile/gradient/index.native.js.map +1 -1
  357. package/build/mobile/html-text-input/index.native.js +3 -3
  358. package/build/mobile/html-text-input/index.native.js.map +1 -1
  359. package/build/mobile/image/image-editing-button.native.js +22 -26
  360. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  361. package/build/mobile/image/index.native.js +31 -34
  362. package/build/mobile/image/index.native.js.map +1 -1
  363. package/build/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  364. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  365. package/build/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  366. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  367. package/build/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  368. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  369. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  370. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  371. package/build/mobile/layout-animation/index.native.js +1 -3
  372. package/build/mobile/layout-animation/index.native.js.map +1 -1
  373. package/build/mobile/link-picker/index.native.js +12 -16
  374. package/build/mobile/link-picker/index.native.js.map +1 -1
  375. package/build/mobile/link-picker/link-picker-results.native.js +34 -48
  376. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  377. package/build/mobile/link-picker/link-picker-screen.native.js +7 -10
  378. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  379. package/build/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  380. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  381. package/build/mobile/link-settings/index.native.js +57 -58
  382. package/build/mobile/link-settings/index.native.js.map +1 -1
  383. package/build/mobile/media-edit/index.native.js +2 -2
  384. package/build/mobile/media-edit/index.native.js.map +1 -1
  385. package/build/mobile/picker/index.ios.js +3 -6
  386. package/build/mobile/picker/index.ios.js.map +1 -1
  387. package/build/mobile/segmented-control/index.native.js +16 -20
  388. package/build/mobile/segmented-control/index.native.js.map +1 -1
  389. package/build/mobile/utils/alignments.native.js +2 -6
  390. package/build/mobile/utils/alignments.native.js.map +1 -1
  391. package/build/mobile/utils/index.native.js +1 -2
  392. package/build/mobile/utils/index.native.js.map +1 -1
  393. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  394. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  395. package/build/modal/index.js +3 -4
  396. package/build/modal/index.js.map +1 -1
  397. package/build/navigable-container/container.js +2 -6
  398. package/build/navigable-container/container.js.map +1 -1
  399. package/build/navigable-container/menu.js +5 -7
  400. package/build/navigable-container/menu.js.map +1 -1
  401. package/build/navigable-container/tabbable.js +4 -6
  402. package/build/navigable-container/tabbable.js.map +1 -1
  403. package/build/navigation/back-button/index.js +8 -11
  404. package/build/navigation/back-button/index.js.map +1 -1
  405. package/build/navigation/group/index.js +5 -6
  406. package/build/navigation/group/index.js.map +1 -1
  407. package/build/navigation/index.js +8 -11
  408. package/build/navigation/index.js.map +1 -1
  409. package/build/navigation/item/base.js +1 -3
  410. package/build/navigation/item/base.js.map +1 -1
  411. package/build/navigation/menu/menu-title-search.js +11 -14
  412. package/build/navigation/menu/menu-title-search.js.map +1 -1
  413. package/build/navigation/menu/menu-title.js +8 -11
  414. package/build/navigation/menu/menu-title.js.map +1 -1
  415. package/build/navigation/menu/search-no-results-found.js +3 -4
  416. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  417. package/build/navigator/navigator-back-button/hook.js +1 -1
  418. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  419. package/build/navigator/navigator-button/hook.js +1 -1
  420. package/build/navigator/navigator-button/hook.js.map +1 -1
  421. package/build/navigator/navigator-provider/component.js +2 -6
  422. package/build/navigator/navigator-provider/component.js.map +1 -1
  423. package/build/navigator/navigator-screen/component.js +1 -1
  424. package/build/navigator/navigator-screen/component.js.map +1 -1
  425. package/build/notice/index.js +25 -29
  426. package/build/notice/index.js.map +1 -1
  427. package/build/notice/index.native.js +13 -18
  428. package/build/notice/index.native.js.map +1 -1
  429. package/build/notice/list.js +6 -8
  430. package/build/notice/list.js.map +1 -1
  431. package/build/number-control/index.js +24 -26
  432. package/build/number-control/index.js.map +1 -1
  433. package/build/number-control/styles/number-control-styles.js +6 -10
  434. package/build/number-control/styles/number-control-styles.js.map +1 -1
  435. package/build/palette-edit/index.js +83 -94
  436. package/build/palette-edit/index.js.map +1 -1
  437. package/build/panel/actions.native.js +8 -10
  438. package/build/panel/actions.native.js.map +1 -1
  439. package/build/panel/body.js +7 -10
  440. package/build/panel/body.js.map +1 -1
  441. package/build/panel/body.native.js +6 -7
  442. package/build/panel/body.native.js.map +1 -1
  443. package/build/panel/bottom-separator-cover.native.js +3 -4
  444. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  445. package/build/panel/header.js +4 -5
  446. package/build/panel/header.js.map +1 -1
  447. package/build/panel/index.js +5 -6
  448. package/build/panel/index.js.map +1 -1
  449. package/build/panel/row.js +4 -5
  450. package/build/panel/row.js.map +1 -1
  451. package/build/popover/index.js +27 -31
  452. package/build/popover/index.js.map +1 -1
  453. package/build/popover/limit-shift.js +70 -75
  454. package/build/popover/limit-shift.js.map +1 -1
  455. package/build/popover/overlay-middlewares.js +7 -9
  456. package/build/popover/overlay-middlewares.js.map +1 -1
  457. package/build/popover/utils.js +26 -34
  458. package/build/popover/utils.js.map +1 -1
  459. package/build/private-apis.js +16 -1
  460. package/build/private-apis.js.map +1 -1
  461. package/build/query-controls/author-select.js +7 -8
  462. package/build/query-controls/author-select.js.map +1 -1
  463. package/build/query-controls/category-select.js +8 -9
  464. package/build/query-controls/category-select.js.map +1 -1
  465. package/build/query-controls/index.js +16 -17
  466. package/build/query-controls/index.js.map +1 -1
  467. package/build/query-controls/index.native.js +13 -14
  468. package/build/query-controls/index.native.js.map +1 -1
  469. package/build/radio-control/index.js +1 -1
  470. package/build/radio-control/index.js.map +1 -1
  471. package/build/radio-control/index.native.js +6 -7
  472. package/build/radio-control/index.native.js.map +1 -1
  473. package/build/radio-group/index.js +8 -9
  474. package/build/radio-group/index.js.map +1 -1
  475. package/build/radio-group/radio/index.js +5 -6
  476. package/build/radio-group/radio/index.js.map +1 -1
  477. package/build/range-control/index.js +1 -3
  478. package/build/range-control/index.js.map +1 -1
  479. package/build/range-control/index.native.js +23 -22
  480. package/build/range-control/index.native.js.map +1 -1
  481. package/build/range-control/rail.js +7 -9
  482. package/build/range-control/rail.js.map +1 -1
  483. package/build/range-control/styles/range-control-styles.js +37 -52
  484. package/build/range-control/styles/range-control-styles.js.map +1 -1
  485. package/build/range-control/tooltip.js +4 -5
  486. package/build/range-control/tooltip.js.map +1 -1
  487. package/build/resizable-box/index.js +8 -9
  488. package/build/resizable-box/index.js.map +1 -1
  489. package/build/resizable-box/resize-tooltip/index.js +12 -13
  490. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  491. package/build/resizable-box/resize-tooltip/label.js +6 -7
  492. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  493. package/build/resizable-box/resize-tooltip/utils.js +16 -19
  494. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  495. package/build/responsive-wrapper/index.js +6 -8
  496. package/build/responsive-wrapper/index.js.map +1 -1
  497. package/build/sandbox/index.js +16 -23
  498. package/build/sandbox/index.js.map +1 -1
  499. package/build/sandbox/index.native.js +20 -26
  500. package/build/sandbox/index.native.js.map +1 -1
  501. package/build/search-control/index.js +14 -17
  502. package/build/search-control/index.js.map +1 -1
  503. package/build/search-control/index.native.js +7 -8
  504. package/build/search-control/index.native.js.map +1 -1
  505. package/build/select-control/index.js +9 -19
  506. package/build/select-control/index.js.map +1 -1
  507. package/build/select-control/index.native.js +11 -12
  508. package/build/select-control/index.native.js.map +1 -1
  509. package/build/select-control/styles/select-control-styles.js +19 -25
  510. package/build/select-control/styles/select-control-styles.js.map +1 -1
  511. package/build/slot-fill/bubbles-virtually/fill.js +4 -5
  512. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  513. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  514. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  515. package/build/slot-fill/bubbles-virtually/slot.js +6 -7
  516. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  517. package/build/slot-fill/fill.js +4 -5
  518. package/build/slot-fill/fill.js.map +1 -1
  519. package/build/slot-fill/index.js +8 -11
  520. package/build/slot-fill/index.js.map +1 -1
  521. package/build/slot-fill/index.native.js +4 -5
  522. package/build/slot-fill/index.native.js.map +1 -1
  523. package/build/slot-fill/provider.js +2 -2
  524. package/build/slot-fill/provider.js.map +1 -1
  525. package/build/slot-fill/slot.js +9 -12
  526. package/build/slot-fill/slot.js.map +1 -1
  527. package/build/snackbar/index.js +26 -31
  528. package/build/snackbar/index.js.map +1 -1
  529. package/build/snackbar/list.js +7 -8
  530. package/build/snackbar/list.js.map +1 -1
  531. package/build/spinner/index.js +4 -5
  532. package/build/spinner/index.js.map +1 -1
  533. package/build/style-provider/index.native.js +3 -4
  534. package/build/style-provider/index.native.js.map +1 -1
  535. package/build/surface/styles.js +6 -7
  536. package/build/surface/styles.js.map +1 -1
  537. package/build/tab-panel/index.js +35 -40
  538. package/build/tab-panel/index.js.map +1 -1
  539. package/build/text/styles/text-mixins.native.js +1 -3
  540. package/build/text/styles/text-mixins.native.js.map +1 -1
  541. package/build/text/utils.js +16 -17
  542. package/build/text/utils.js.map +1 -1
  543. package/build/text-control/index.native.js +12 -13
  544. package/build/text-control/index.native.js.map +1 -1
  545. package/build/textarea-control/index.native.js +7 -8
  546. package/build/textarea-control/index.native.js.map +1 -1
  547. package/build/theme/color-algorithms.js +1 -2
  548. package/build/theme/color-algorithms.js.map +1 -1
  549. package/build/theme/index.js +6 -7
  550. package/build/theme/index.js.map +1 -1
  551. package/build/theme/styles.js +4 -8
  552. package/build/theme/styles.js.map +1 -1
  553. package/build/toggle-control/index.js +9 -11
  554. package/build/toggle-control/index.js.map +1 -1
  555. package/build/toggle-control/index.native.js +9 -10
  556. package/build/toggle-control/index.native.js.map +1 -1
  557. package/build/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  558. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  559. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  560. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  561. package/build/toggle-group-control/toggle-group-control/styles.js +11 -14
  562. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  563. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  564. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  565. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  566. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  567. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  568. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  569. package/build/toolbar/toolbar/index.js +23 -9
  570. package/build/toolbar/toolbar/index.js.map +1 -1
  571. package/build/toolbar/toolbar/toolbar-container.js +4 -5
  572. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  573. package/build/toolbar/toolbar/toolbar-container.native.js +3 -6
  574. package/build/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  575. package/build/toolbar/toolbar-button/index.js +10 -11
  576. package/build/toolbar/toolbar-button/index.js.map +1 -1
  577. package/build/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  578. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  579. package/build/toolbar/toolbar-group/index.js +9 -12
  580. package/build/toolbar/toolbar-group/index.js.map +1 -1
  581. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  582. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  583. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  584. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  585. package/build/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  586. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  587. package/build/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  588. package/build/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  589. package/build/toolbar/toolbar-item/index.js +5 -6
  590. package/build/toolbar/toolbar-item/index.js.map +1 -1
  591. package/build/toolbar/toolbar-item/index.native.js +4 -6
  592. package/build/toolbar/toolbar-item/index.native.js.map +1 -1
  593. package/build/tools-panel/tools-panel/hook.js +17 -25
  594. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  595. package/build/tools-panel/tools-panel-header/component.js +14 -24
  596. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  597. package/build/tools-panel/tools-panel-item/hook.js +5 -7
  598. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  599. package/build/tooltip/index.js +36 -43
  600. package/build/tooltip/index.js.map +1 -1
  601. package/build/tooltip/index.native.js +14 -19
  602. package/build/tooltip/index.native.js.map +1 -1
  603. package/build/tree-grid/cell.js +5 -6
  604. package/build/tree-grid/cell.js.map +1 -1
  605. package/build/tree-grid/index.js +12 -15
  606. package/build/tree-grid/index.js.map +1 -1
  607. package/build/tree-grid/item.js +4 -5
  608. package/build/tree-grid/item.js.map +1 -1
  609. package/build/tree-grid/roving-tab-index-item.js +6 -7
  610. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  611. package/build/tree-grid/roving-tab-index.js +3 -4
  612. package/build/tree-grid/roving-tab-index.js.map +1 -1
  613. package/build/tree-grid/row.js +8 -9
  614. package/build/tree-grid/row.js.map +1 -1
  615. package/build/tree-select/index.js +9 -11
  616. package/build/tree-select/index.js.map +1 -1
  617. package/build/truncate/utils.js +1 -3
  618. package/build/truncate/utils.js.map +1 -1
  619. package/build/ui/context/context-connect.js +1 -1
  620. package/build/ui/context/context-connect.js.map +1 -1
  621. package/build/ui/context/context-system-provider.js +7 -9
  622. package/build/ui/context/context-system-provider.js.map +1 -1
  623. package/build/ui/context/index.js +7 -0
  624. package/build/ui/context/index.js.map +1 -1
  625. package/build/ui/context/use-context-system.js +1 -1
  626. package/build/ui/context/use-context-system.js.map +1 -1
  627. package/build/ui/control-group/hook.js +1 -1
  628. package/build/ui/control-group/hook.js.map +1 -1
  629. package/build/ui/form-group/form-group-content.js +12 -13
  630. package/build/ui/form-group/form-group-content.js.map +1 -1
  631. package/build/ui/form-group/form-group-help.js +3 -4
  632. package/build/ui/form-group/form-group-help.js.map +1 -1
  633. package/build/ui/form-group/form-group-label.js +7 -8
  634. package/build/ui/form-group/form-group-label.js.map +1 -1
  635. package/build/ui/tooltip/component.js +1 -1
  636. package/build/ui/tooltip/component.js.map +1 -1
  637. package/build/ui/utils/colors.js +1 -3
  638. package/build/ui/utils/colors.js.map +1 -1
  639. package/build/ui/utils/font-size.js +2 -6
  640. package/build/ui/utils/font-size.js.map +1 -1
  641. package/build/ui/utils/get-high-dpi.js +1 -5
  642. package/build/ui/utils/get-high-dpi.js.map +1 -1
  643. package/build/ui/utils/space.js +1 -3
  644. package/build/ui/utils/space.js.map +1 -1
  645. package/build/ui/utils/use-responsive-value.js +2 -4
  646. package/build/ui/utils/use-responsive-value.js.map +1 -1
  647. package/build/unit-control/index.js +8 -8
  648. package/build/unit-control/index.js.map +1 -1
  649. package/build/unit-control/index.native.js +22 -23
  650. package/build/unit-control/index.native.js.map +1 -1
  651. package/build/unit-control/styles/unit-control-styles.js +6 -8
  652. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  653. package/build/unit-control/unit-select-control.js +11 -13
  654. package/build/unit-control/unit-select-control.js.map +1 -1
  655. package/build/unit-control/utils.js +12 -19
  656. package/build/unit-control/utils.js.map +1 -1
  657. package/build/utils/browsers.js +2 -10
  658. package/build/utils/browsers.js.map +1 -1
  659. package/build/utils/colors.js +1 -3
  660. package/build/utils/colors.js.map +1 -1
  661. package/build/utils/config-values.js +1 -0
  662. package/build/utils/config-values.js.map +1 -1
  663. package/build/utils/hooks/use-controlled-state.js +1 -2
  664. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  665. package/build/utils/hooks/use-controlled-value.js +5 -6
  666. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  667. package/build/utils/hooks/use-cx.js +1 -5
  668. package/build/utils/hooks/use-cx.js.map +1 -1
  669. package/build/utils/math.js +5 -17
  670. package/build/utils/math.js.map +1 -1
  671. package/build/utils/reduce-motion.js +1 -2
  672. package/build/utils/reduce-motion.js.map +1 -1
  673. package/build/utils/rtl.js +3 -9
  674. package/build/utils/rtl.js.map +1 -1
  675. package/build/utils/values.js +2 -6
  676. package/build/utils/values.js.map +1 -1
  677. package/build/z-stack/styles.js +14 -23
  678. package/build/z-stack/styles.js.map +1 -1
  679. package/build-module/alignment-matrix-control/cell.js +5 -6
  680. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  681. package/build-module/alignment-matrix-control/icon.js +8 -9
  682. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  683. package/build-module/alignment-matrix-control/index.js +10 -11
  684. package/build-module/alignment-matrix-control/index.js.map +1 -1
  685. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  686. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  687. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  688. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  689. package/build-module/alignment-matrix-control/utils.js +1 -2
  690. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  691. package/build-module/angle-picker-control/angle-circle.js +6 -9
  692. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  693. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  694. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  695. package/build-module/animate/index.js +5 -6
  696. package/build-module/animate/index.js.map +1 -1
  697. package/build-module/autocomplete/autocompleter-ui.js +29 -33
  698. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  699. package/build-module/autocomplete/autocompleter-ui.native.js +15 -22
  700. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  701. package/build-module/autocomplete/background-view.android.js +3 -4
  702. package/build-module/autocomplete/background-view.android.js.map +1 -1
  703. package/build-module/autocomplete/background-view.ios.js +3 -4
  704. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  705. package/build-module/autocomplete/get-default-use-items.js +1 -3
  706. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  707. package/build-module/autocomplete/index.js +18 -23
  708. package/build-module/autocomplete/index.js.map +1 -1
  709. package/build-module/base-control/index.js +14 -16
  710. package/build-module/base-control/index.js.map +1 -1
  711. package/build-module/base-control/index.native.js +5 -6
  712. package/build-module/base-control/index.native.js.map +1 -1
  713. package/build-module/base-control/styles/base-control-styles.js +6 -8
  714. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  715. package/build-module/border-box-control/border-box-control/hook.js +5 -5
  716. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  717. package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -4
  718. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  719. package/build-module/border-box-control/styles.js +3 -3
  720. package/build-module/border-box-control/styles.js.map +1 -1
  721. package/build-module/border-box-control/utils.js +5 -8
  722. package/build-module/border-box-control/utils.js.map +1 -1
  723. package/build-module/border-control/border-control/component.js +1 -1
  724. package/build-module/border-control/border-control/component.js.map +1 -1
  725. package/build-module/border-control/border-control/hook.js +5 -5
  726. package/build-module/border-control/border-control/hook.js.map +1 -1
  727. package/build-module/border-control/border-control-dropdown/component.js +70 -67
  728. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  729. package/build-module/border-control/border-control-dropdown/hook.js +4 -4
  730. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  731. package/build-module/box-control/all-input-control.js +11 -12
  732. package/build-module/box-control/all-input-control.js.map +1 -1
  733. package/build-module/box-control/axial-input-controls.js +12 -14
  734. package/build-module/box-control/axial-input-controls.js.map +1 -1
  735. package/build-module/box-control/icon.js +7 -9
  736. package/build-module/box-control/icon.js.map +1 -1
  737. package/build-module/box-control/index.js +22 -24
  738. package/build-module/box-control/index.js.map +1 -1
  739. package/build-module/box-control/input-controls.js +15 -18
  740. package/build-module/box-control/input-controls.js.map +1 -1
  741. package/build-module/box-control/linked-button.js +4 -5
  742. package/build-module/box-control/linked-button.js.map +1 -1
  743. package/build-module/box-control/styles/box-control-icon-styles.js +3 -4
  744. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  745. package/build-module/box-control/styles/box-control-styles.js +9 -12
  746. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  747. package/build-module/box-control/styles/box-control-visualizer-styles.js +7 -11
  748. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  749. package/build-module/box-control/unit-control.js +18 -22
  750. package/build-module/box-control/unit-control.js.map +1 -1
  751. package/build-module/box-control/utils.js +4 -10
  752. package/build-module/box-control/utils.js.map +1 -1
  753. package/build-module/button/deprecated.js +7 -8
  754. package/build-module/button/deprecated.js.map +1 -1
  755. package/build-module/button/index.js +15 -16
  756. package/build-module/button/index.js.map +1 -1
  757. package/build-module/button/index.native.js +5 -7
  758. package/build-module/button/index.native.js.map +1 -1
  759. package/build-module/card/card/hook.js +5 -6
  760. package/build-module/card/card/hook.js.map +1 -1
  761. package/build-module/circular-option-picker/index.js +27 -33
  762. package/build-module/circular-option-picker/index.js.map +1 -1
  763. package/build-module/clipboard-button/index.js +8 -9
  764. package/build-module/clipboard-button/index.js.map +1 -1
  765. package/build-module/color-control/index.native.js +7 -8
  766. package/build-module/color-control/index.native.js.map +1 -1
  767. package/build-module/color-indicator/index.native.js +10 -12
  768. package/build-module/color-indicator/index.native.js.map +1 -1
  769. package/build-module/color-palette/index.js +63 -72
  770. package/build-module/color-palette/index.js.map +1 -1
  771. package/build-module/color-palette/index.native.js +33 -47
  772. package/build-module/color-palette/index.native.js.map +1 -1
  773. package/build-module/color-palette/utils.js +2 -5
  774. package/build-module/color-palette/utils.js.map +1 -1
  775. package/build-module/color-picker/color-input.js +6 -7
  776. package/build-module/color-picker/color-input.js.map +1 -1
  777. package/build-module/color-picker/hex-input.js +8 -12
  778. package/build-module/color-picker/hex-input.js.map +1 -1
  779. package/build-module/color-picker/hsl-input.js +5 -6
  780. package/build-module/color-picker/hsl-input.js.map +1 -1
  781. package/build-module/color-picker/index.native.js +23 -30
  782. package/build-module/color-picker/index.native.js.map +1 -1
  783. package/build-module/color-picker/input-with-slider.js +8 -10
  784. package/build-module/color-picker/input-with-slider.js.map +1 -1
  785. package/build-module/color-picker/picker.js +5 -6
  786. package/build-module/color-picker/picker.js.map +1 -1
  787. package/build-module/color-picker/rgb-input.js +5 -6
  788. package/build-module/color-picker/rgb-input.js.map +1 -1
  789. package/build-module/color-picker/styles.js +8 -8
  790. package/build-module/color-picker/styles.js.map +1 -1
  791. package/build-module/color-picker/use-deprecated-props.js +1 -3
  792. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  793. package/build-module/combobox-control/index.js +3 -6
  794. package/build-module/combobox-control/index.js.map +1 -1
  795. package/build-module/combobox-control/styles.js +3 -6
  796. package/build-module/combobox-control/styles.js.map +1 -1
  797. package/build-module/confirm-dialog/component.js +1 -1
  798. package/build-module/confirm-dialog/component.js.map +1 -1
  799. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +114 -129
  800. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  801. package/build-module/custom-gradient-picker/gradient-bar/index.js +12 -14
  802. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  803. package/build-module/custom-gradient-picker/gradient-bar/utils.js +4 -6
  804. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  805. package/build-module/custom-gradient-picker/index.js +19 -22
  806. package/build-module/custom-gradient-picker/index.js.map +1 -1
  807. package/build-module/custom-gradient-picker/index.native.js +7 -8
  808. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  809. package/build-module/custom-gradient-picker/serializer.js +15 -21
  810. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  811. package/build-module/custom-gradient-picker/utils.js +6 -9
  812. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  813. package/build-module/custom-select-control/index.js +14 -21
  814. package/build-module/custom-select-control/index.js.map +1 -1
  815. package/build-module/dashicon/index.js +7 -8
  816. package/build-module/dashicon/index.js.map +1 -1
  817. package/build-module/dashicon/index.native.js +4 -5
  818. package/build-module/dashicon/index.native.js.map +1 -1
  819. package/build-module/date-time/date/index.js +24 -26
  820. package/build-module/date-time/date/index.js.map +1 -1
  821. package/build-module/date-time/date-time/index.js +14 -90
  822. package/build-module/date-time/date-time/index.js.map +1 -1
  823. package/build-module/date-time/date-time/styles.js +3 -17
  824. package/build-module/date-time/date-time/styles.js.map +1 -1
  825. package/build-module/date-time/time/index.js +11 -14
  826. package/build-module/date-time/time/index.js.map +1 -1
  827. package/build-module/dimension-control/index.js +8 -11
  828. package/build-module/dimension-control/index.js.map +1 -1
  829. package/build-module/disabled/index.js +6 -7
  830. package/build-module/disabled/index.js.map +1 -1
  831. package/build-module/disabled/index.native.js +3 -4
  832. package/build-module/disabled/index.native.js.map +1 -1
  833. package/build-module/divider/styles.js +21 -29
  834. package/build-module/divider/styles.js.map +1 -1
  835. package/build-module/draggable/index.js +14 -19
  836. package/build-module/draggable/index.js.map +1 -1
  837. package/build-module/draggable/index.native.js +17 -19
  838. package/build-module/draggable/index.native.js.map +1 -1
  839. package/build-module/drop-zone/index.js +11 -16
  840. package/build-module/drop-zone/index.js.map +1 -1
  841. package/build-module/drop-zone/provider.js +3 -4
  842. package/build-module/drop-zone/provider.js.map +1 -1
  843. package/build-module/dropdown/index.js +19 -23
  844. package/build-module/dropdown/index.js.map +1 -1
  845. package/build-module/dropdown/styles.js +3 -4
  846. package/build-module/dropdown/styles.js.map +1 -1
  847. package/build-module/dropdown-menu/index.js +96 -25
  848. package/build-module/dropdown-menu/index.js.map +1 -1
  849. package/build-module/dropdown-menu/index.native.js +22 -30
  850. package/build-module/dropdown-menu/index.native.js.map +1 -1
  851. package/build-module/dropdown-menu/types.js +2 -0
  852. package/build-module/dropdown-menu/types.js.map +1 -0
  853. package/build-module/dropdown-menu-v2/index.js +182 -0
  854. package/build-module/dropdown-menu-v2/index.js.map +1 -0
  855. package/build-module/dropdown-menu-v2/styles.js +161 -0
  856. package/build-module/dropdown-menu-v2/styles.js.map +1 -0
  857. package/build-module/dropdown-menu-v2/types.js +2 -0
  858. package/build-module/dropdown-menu-v2/types.js.map +1 -0
  859. package/build-module/duotone-picker/color-list-picker/index.js +16 -18
  860. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  861. package/build-module/duotone-picker/custom-duotone-bar.js +4 -5
  862. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  863. package/build-module/duotone-picker/duotone-picker.js +15 -17
  864. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  865. package/build-module/duotone-picker/duotone-swatch.js +3 -4
  866. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  867. package/build-module/duotone-picker/utils.js +14 -27
  868. package/build-module/duotone-picker/utils.js.map +1 -1
  869. package/build-module/external-link/index.js +1 -1
  870. package/build-module/external-link/index.js.map +1 -1
  871. package/build-module/external-link/index.native.js +4 -5
  872. package/build-module/external-link/index.native.js.map +1 -1
  873. package/build-module/focal-point-picker/controls.js +11 -10
  874. package/build-module/focal-point-picker/controls.js.map +1 -1
  875. package/build-module/focal-point-picker/focal-point.js +5 -6
  876. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  877. package/build-module/focal-point-picker/focal-point.native.js +5 -6
  878. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  879. package/build-module/focal-point-picker/grid.js +4 -5
  880. package/build-module/focal-point-picker/grid.js.map +1 -1
  881. package/build-module/focal-point-picker/index.js +33 -37
  882. package/build-module/focal-point-picker/index.js.map +1 -1
  883. package/build-module/focal-point-picker/index.native.js +10 -12
  884. package/build-module/focal-point-picker/index.native.js.map +1 -1
  885. package/build-module/focal-point-picker/media.js +11 -13
  886. package/build-module/focal-point-picker/media.js.map +1 -1
  887. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  888. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  889. package/build-module/focal-point-picker/styles/focal-point-style.js +3 -6
  890. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  891. package/build-module/focal-point-picker/tooltip/index.native.js +16 -21
  892. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  893. package/build-module/focal-point-picker/utils.js +2 -4
  894. package/build-module/focal-point-picker/utils.js.map +1 -1
  895. package/build-module/focusable-iframe/index.js +4 -5
  896. package/build-module/focusable-iframe/index.js.map +1 -1
  897. package/build-module/font-size-picker/font-size-picker-select.js +3 -5
  898. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  899. package/build-module/font-size-picker/index.js +14 -18
  900. package/build-module/font-size-picker/index.js.map +1 -1
  901. package/build-module/font-size-picker/index.native.js +6 -7
  902. package/build-module/font-size-picker/index.native.js.map +1 -1
  903. package/build-module/font-size-picker/styles.js +20 -7
  904. package/build-module/font-size-picker/styles.js.map +1 -1
  905. package/build-module/footer-message-control/index.native.js +2 -3
  906. package/build-module/footer-message-control/index.native.js.map +1 -1
  907. package/build-module/form-file-upload/index.js +10 -13
  908. package/build-module/form-file-upload/index.js.map +1 -1
  909. package/build-module/form-token-field/index.js +4 -19
  910. package/build-module/form-token-field/index.js.map +1 -1
  911. package/build-module/form-token-field/styles.js +4 -7
  912. package/build-module/form-token-field/styles.js.map +1 -1
  913. package/build-module/form-token-field/suggestions-list.js +14 -15
  914. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  915. package/build-module/form-token-field/token-input.js +2 -2
  916. package/build-module/form-token-field/token-input.js.map +1 -1
  917. package/build-module/form-token-field/token.js +14 -15
  918. package/build-module/form-token-field/token.js.map +1 -1
  919. package/build-module/gradient-picker/index.js +51 -58
  920. package/build-module/gradient-picker/index.js.map +1 -1
  921. package/build-module/guide/icons.js +13 -16
  922. package/build-module/guide/icons.js.map +1 -1
  923. package/build-module/guide/index.js +9 -12
  924. package/build-module/guide/index.js.map +1 -1
  925. package/build-module/guide/page-control.js +5 -6
  926. package/build-module/guide/page-control.js.map +1 -1
  927. package/build-module/h-stack/utils.js +1 -3
  928. package/build-module/h-stack/utils.js.map +1 -1
  929. package/build-module/higher-order/navigate-regions/index.js +16 -22
  930. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  931. package/build-module/higher-order/with-focus-outside/index.js +1 -1
  932. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  933. package/build-module/higher-order/with-focus-outside/index.native.js +1 -1
  934. package/build-module/higher-order/with-focus-outside/index.native.js.map +1 -1
  935. package/build-module/higher-order/with-focus-return/index.js +13 -17
  936. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  937. package/build-module/icon/index.js +5 -7
  938. package/build-module/icon/index.js.map +1 -1
  939. package/build-module/index.native.js +0 -1
  940. package/build-module/index.native.js.map +1 -1
  941. package/build-module/input-control/backdrop.js +4 -5
  942. package/build-module/input-control/backdrop.js.map +1 -1
  943. package/build-module/input-control/index.js +22 -23
  944. package/build-module/input-control/index.js.map +1 -1
  945. package/build-module/input-control/input-base.js +16 -17
  946. package/build-module/input-control/input-base.js.map +1 -1
  947. package/build-module/input-control/input-field.js +26 -29
  948. package/build-module/input-control/input-field.js.map +1 -1
  949. package/build-module/input-control/label.js +6 -7
  950. package/build-module/input-control/label.js.map +1 -1
  951. package/build-module/input-control/reducer/reducer.js +2 -6
  952. package/build-module/input-control/reducer/reducer.js.map +1 -1
  953. package/build-module/input-control/styles/input-control-styles.js +62 -64
  954. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  955. package/build-module/input-control/utils.js +1 -3
  956. package/build-module/input-control/utils.js.map +1 -1
  957. package/build-module/keyboard-shortcuts/index.js +21 -26
  958. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  959. package/build-module/menu-items-choice/index.js +6 -7
  960. package/build-module/menu-items-choice/index.js.map +1 -1
  961. package/build-module/mobile/audio-player/index.native.js +7 -8
  962. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  963. package/build-module/mobile/badge/index.native.js +5 -6
  964. package/build-module/mobile/badge/index.native.js.map +1 -1
  965. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  966. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  967. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  968. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  969. package/build-module/mobile/bottom-sheet/button.native.js +18 -21
  970. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  971. package/build-module/mobile/bottom-sheet/cell.native.js +22 -11
  972. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  973. package/build-module/mobile/bottom-sheet/color-cell.native.js +3 -1
  974. package/build-module/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  975. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  976. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  977. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  978. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  979. package/build-module/mobile/bottom-sheet/index.native.js +19 -30
  980. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  981. package/build-module/mobile/bottom-sheet/link-cell.native.js +6 -7
  982. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  983. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  984. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  985. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js +21 -0
  986. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  987. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  988. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  989. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  990. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  991. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  992. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  993. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  994. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  995. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  996. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  997. package/build-module/mobile/bottom-sheet/radio-cell.native.js +3 -2
  998. package/build-module/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  999. package/build-module/mobile/bottom-sheet/range-cell.native.js +6 -3
  1000. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/range-text-input.native.js +5 -6
  1002. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/ripple.native.js +10 -11
  1004. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  1006. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  1008. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  1010. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  1012. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/switch-cell.native.js +7 -2
  1014. package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet-select-control/index.native.js +11 -10
  1016. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet-text-control/index.native.js +13 -12
  1018. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1019. package/build-module/mobile/color-settings/index.native.js +12 -13
  1020. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1021. package/build-module/mobile/color-settings/utils.native.js +2 -2
  1022. package/build-module/mobile/color-settings/utils.native.js.map +1 -1
  1023. package/build-module/mobile/cycle-select-control/index.native.js +11 -12
  1024. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1025. package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
  1026. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1027. package/build-module/mobile/global-styles-context/index.native.js +6 -14
  1028. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  1029. package/build-module/mobile/global-styles-context/utils.native.js +69 -112
  1030. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1031. package/build-module/mobile/gradient/index.native.js +26 -33
  1032. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1033. package/build-module/mobile/html-text-input/index.native.js +3 -3
  1034. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  1035. package/build-module/mobile/image/image-editing-button.native.js +22 -26
  1036. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1037. package/build-module/mobile/image/index.native.js +31 -34
  1038. package/build-module/mobile/image/index.native.js.map +1 -1
  1039. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  1040. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1041. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  1042. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  1043. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  1044. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1045. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  1046. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  1047. package/build-module/mobile/layout-animation/index.native.js +1 -2
  1048. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1049. package/build-module/mobile/link-picker/index.native.js +12 -16
  1050. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1051. package/build-module/mobile/link-picker/link-picker-results.native.js +34 -48
  1052. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1053. package/build-module/mobile/link-picker/link-picker-screen.native.js +7 -9
  1054. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1055. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  1056. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  1057. package/build-module/mobile/link-settings/index.native.js +57 -58
  1058. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1059. package/build-module/mobile/media-edit/index.native.js +2 -2
  1060. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  1061. package/build-module/mobile/picker/index.ios.js +3 -6
  1062. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1063. package/build-module/mobile/segmented-control/index.native.js +16 -20
  1064. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1065. package/build-module/mobile/utils/alignments.native.js +2 -6
  1066. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  1067. package/build-module/mobile/utils/index.native.js +1 -2
  1068. package/build-module/mobile/utils/index.native.js.map +1 -1
  1069. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  1070. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1071. package/build-module/modal/index.js +3 -4
  1072. package/build-module/modal/index.js.map +1 -1
  1073. package/build-module/navigable-container/container.js +2 -6
  1074. package/build-module/navigable-container/container.js.map +1 -1
  1075. package/build-module/navigable-container/menu.js +5 -7
  1076. package/build-module/navigable-container/menu.js.map +1 -1
  1077. package/build-module/navigable-container/tabbable.js +4 -6
  1078. package/build-module/navigable-container/tabbable.js.map +1 -1
  1079. package/build-module/navigation/back-button/index.js +8 -11
  1080. package/build-module/navigation/back-button/index.js.map +1 -1
  1081. package/build-module/navigation/group/index.js +5 -6
  1082. package/build-module/navigation/group/index.js.map +1 -1
  1083. package/build-module/navigation/index.js +8 -11
  1084. package/build-module/navigation/index.js.map +1 -1
  1085. package/build-module/navigation/item/base.js +1 -3
  1086. package/build-module/navigation/item/base.js.map +1 -1
  1087. package/build-module/navigation/menu/menu-title-search.js +11 -14
  1088. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1089. package/build-module/navigation/menu/menu-title.js +8 -11
  1090. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1091. package/build-module/navigation/menu/search-no-results-found.js +3 -4
  1092. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1093. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  1094. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  1095. package/build-module/navigator/navigator-button/hook.js +1 -1
  1096. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  1097. package/build-module/navigator/navigator-provider/component.js +2 -6
  1098. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  1099. package/build-module/navigator/navigator-screen/component.js +1 -1
  1100. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  1101. package/build-module/notice/index.js +25 -29
  1102. package/build-module/notice/index.js.map +1 -1
  1103. package/build-module/notice/index.native.js +13 -18
  1104. package/build-module/notice/index.native.js.map +1 -1
  1105. package/build-module/notice/list.js +6 -8
  1106. package/build-module/notice/list.js.map +1 -1
  1107. package/build-module/number-control/index.js +24 -26
  1108. package/build-module/number-control/index.js.map +1 -1
  1109. package/build-module/number-control/styles/number-control-styles.js +6 -10
  1110. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1111. package/build-module/palette-edit/index.js +83 -94
  1112. package/build-module/palette-edit/index.js.map +1 -1
  1113. package/build-module/panel/actions.native.js +8 -10
  1114. package/build-module/panel/actions.native.js.map +1 -1
  1115. package/build-module/panel/body.js +7 -10
  1116. package/build-module/panel/body.js.map +1 -1
  1117. package/build-module/panel/body.native.js +6 -7
  1118. package/build-module/panel/body.native.js.map +1 -1
  1119. package/build-module/panel/bottom-separator-cover.native.js +3 -4
  1120. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1121. package/build-module/panel/header.js +4 -5
  1122. package/build-module/panel/header.js.map +1 -1
  1123. package/build-module/panel/index.js +5 -6
  1124. package/build-module/panel/index.js.map +1 -1
  1125. package/build-module/panel/row.js +4 -5
  1126. package/build-module/panel/row.js.map +1 -1
  1127. package/build-module/popover/index.js +25 -31
  1128. package/build-module/popover/index.js.map +1 -1
  1129. package/build-module/popover/limit-shift.js +66 -71
  1130. package/build-module/popover/limit-shift.js.map +1 -1
  1131. package/build-module/popover/overlay-middlewares.js +7 -9
  1132. package/build-module/popover/overlay-middlewares.js.map +1 -1
  1133. package/build-module/popover/utils.js +26 -34
  1134. package/build-module/popover/utils.js.map +1 -1
  1135. package/build-module/private-apis.js +14 -1
  1136. package/build-module/private-apis.js.map +1 -1
  1137. package/build-module/query-controls/author-select.js +7 -8
  1138. package/build-module/query-controls/author-select.js.map +1 -1
  1139. package/build-module/query-controls/category-select.js +8 -9
  1140. package/build-module/query-controls/category-select.js.map +1 -1
  1141. package/build-module/query-controls/index.js +16 -17
  1142. package/build-module/query-controls/index.js.map +1 -1
  1143. package/build-module/query-controls/index.native.js +13 -14
  1144. package/build-module/query-controls/index.native.js.map +1 -1
  1145. package/build-module/radio-control/index.js +1 -1
  1146. package/build-module/radio-control/index.js.map +1 -1
  1147. package/build-module/radio-control/index.native.js +6 -7
  1148. package/build-module/radio-control/index.native.js.map +1 -1
  1149. package/build-module/radio-group/index.js +8 -9
  1150. package/build-module/radio-group/index.js.map +1 -1
  1151. package/build-module/radio-group/radio/index.js +5 -6
  1152. package/build-module/radio-group/radio/index.js.map +1 -1
  1153. package/build-module/range-control/index.js +1 -3
  1154. package/build-module/range-control/index.js.map +1 -1
  1155. package/build-module/range-control/index.native.js +23 -22
  1156. package/build-module/range-control/index.native.js.map +1 -1
  1157. package/build-module/range-control/rail.js +7 -9
  1158. package/build-module/range-control/rail.js.map +1 -1
  1159. package/build-module/range-control/styles/range-control-styles.js +37 -52
  1160. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1161. package/build-module/range-control/tooltip.js +4 -5
  1162. package/build-module/range-control/tooltip.js.map +1 -1
  1163. package/build-module/resizable-box/index.js +8 -9
  1164. package/build-module/resizable-box/index.js.map +1 -1
  1165. package/build-module/resizable-box/resize-tooltip/index.js +12 -13
  1166. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1167. package/build-module/resizable-box/resize-tooltip/label.js +6 -7
  1168. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1169. package/build-module/resizable-box/resize-tooltip/utils.js +16 -19
  1170. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1171. package/build-module/responsive-wrapper/index.js +6 -8
  1172. package/build-module/responsive-wrapper/index.js.map +1 -1
  1173. package/build-module/sandbox/index.js +16 -23
  1174. package/build-module/sandbox/index.js.map +1 -1
  1175. package/build-module/sandbox/index.native.js +20 -26
  1176. package/build-module/sandbox/index.native.js.map +1 -1
  1177. package/build-module/search-control/index.js +14 -17
  1178. package/build-module/search-control/index.js.map +1 -1
  1179. package/build-module/search-control/index.native.js +7 -8
  1180. package/build-module/search-control/index.native.js.map +1 -1
  1181. package/build-module/select-control/index.js +9 -19
  1182. package/build-module/select-control/index.js.map +1 -1
  1183. package/build-module/select-control/index.native.js +11 -12
  1184. package/build-module/select-control/index.native.js.map +1 -1
  1185. package/build-module/select-control/styles/select-control-styles.js +19 -25
  1186. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1187. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -5
  1188. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1189. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  1190. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1191. package/build-module/slot-fill/bubbles-virtually/slot.js +6 -7
  1192. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1193. package/build-module/slot-fill/fill.js +4 -5
  1194. package/build-module/slot-fill/fill.js.map +1 -1
  1195. package/build-module/slot-fill/index.js +8 -11
  1196. package/build-module/slot-fill/index.js.map +1 -1
  1197. package/build-module/slot-fill/index.native.js +4 -5
  1198. package/build-module/slot-fill/index.native.js.map +1 -1
  1199. package/build-module/slot-fill/provider.js +2 -2
  1200. package/build-module/slot-fill/provider.js.map +1 -1
  1201. package/build-module/slot-fill/slot.js +9 -12
  1202. package/build-module/slot-fill/slot.js.map +1 -1
  1203. package/build-module/snackbar/index.js +26 -31
  1204. package/build-module/snackbar/index.js.map +1 -1
  1205. package/build-module/snackbar/list.js +7 -8
  1206. package/build-module/snackbar/list.js.map +1 -1
  1207. package/build-module/spinner/index.js +4 -5
  1208. package/build-module/spinner/index.js.map +1 -1
  1209. package/build-module/style-provider/index.native.js +3 -4
  1210. package/build-module/style-provider/index.native.js.map +1 -1
  1211. package/build-module/surface/styles.js +6 -7
  1212. package/build-module/surface/styles.js.map +1 -1
  1213. package/build-module/tab-panel/index.js +36 -40
  1214. package/build-module/tab-panel/index.js.map +1 -1
  1215. package/build-module/text/styles/text-mixins.native.js +1 -3
  1216. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1217. package/build-module/text/utils.js +16 -17
  1218. package/build-module/text/utils.js.map +1 -1
  1219. package/build-module/text-control/index.native.js +12 -13
  1220. package/build-module/text-control/index.native.js.map +1 -1
  1221. package/build-module/textarea-control/index.native.js +7 -8
  1222. package/build-module/textarea-control/index.native.js.map +1 -1
  1223. package/build-module/theme/color-algorithms.js +1 -2
  1224. package/build-module/theme/color-algorithms.js.map +1 -1
  1225. package/build-module/theme/index.js +6 -7
  1226. package/build-module/theme/index.js.map +1 -1
  1227. package/build-module/theme/styles.js +4 -8
  1228. package/build-module/theme/styles.js.map +1 -1
  1229. package/build-module/toggle-control/index.js +9 -11
  1230. package/build-module/toggle-control/index.js.map +1 -1
  1231. package/build-module/toggle-control/index.native.js +9 -10
  1232. package/build-module/toggle-control/index.native.js.map +1 -1
  1233. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  1234. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  1235. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  1236. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  1237. package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -14
  1238. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  1239. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  1240. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1241. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  1242. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  1243. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  1244. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  1245. package/build-module/toolbar/toolbar/index.js +20 -8
  1246. package/build-module/toolbar/toolbar/index.js.map +1 -1
  1247. package/build-module/toolbar/toolbar/toolbar-container.js +4 -5
  1248. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  1249. package/build-module/toolbar/toolbar/toolbar-container.native.js +3 -6
  1250. package/build-module/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  1251. package/build-module/toolbar/toolbar-button/index.js +10 -11
  1252. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  1253. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  1254. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  1255. package/build-module/toolbar/toolbar-group/index.js +9 -12
  1256. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  1257. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  1258. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1259. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  1260. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1261. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  1262. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  1263. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  1264. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1265. package/build-module/toolbar/toolbar-item/index.js +5 -6
  1266. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  1267. package/build-module/toolbar/toolbar-item/index.native.js +4 -6
  1268. package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
  1269. package/build-module/tools-panel/tools-panel/hook.js +17 -25
  1270. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1271. package/build-module/tools-panel/tools-panel-header/component.js +14 -24
  1272. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1273. package/build-module/tools-panel/tools-panel-item/hook.js +5 -7
  1274. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  1275. package/build-module/tooltip/index.js +36 -43
  1276. package/build-module/tooltip/index.js.map +1 -1
  1277. package/build-module/tooltip/index.native.js +14 -19
  1278. package/build-module/tooltip/index.native.js.map +1 -1
  1279. package/build-module/tree-grid/cell.js +5 -6
  1280. package/build-module/tree-grid/cell.js.map +1 -1
  1281. package/build-module/tree-grid/index.js +12 -15
  1282. package/build-module/tree-grid/index.js.map +1 -1
  1283. package/build-module/tree-grid/item.js +4 -5
  1284. package/build-module/tree-grid/item.js.map +1 -1
  1285. package/build-module/tree-grid/roving-tab-index-item.js +6 -7
  1286. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1287. package/build-module/tree-grid/roving-tab-index.js +3 -4
  1288. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1289. package/build-module/tree-grid/row.js +8 -9
  1290. package/build-module/tree-grid/row.js.map +1 -1
  1291. package/build-module/tree-select/index.js +9 -11
  1292. package/build-module/tree-select/index.js.map +1 -1
  1293. package/build-module/truncate/utils.js +1 -3
  1294. package/build-module/truncate/utils.js.map +1 -1
  1295. package/build-module/ui/context/context-connect.js +1 -1
  1296. package/build-module/ui/context/context-connect.js.map +1 -1
  1297. package/build-module/ui/context/context-system-provider.js +7 -9
  1298. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1299. package/build-module/ui/context/index.js +1 -1
  1300. package/build-module/ui/context/index.js.map +1 -1
  1301. package/build-module/ui/context/use-context-system.js +1 -1
  1302. package/build-module/ui/context/use-context-system.js.map +1 -1
  1303. package/build-module/ui/control-group/hook.js +1 -1
  1304. package/build-module/ui/control-group/hook.js.map +1 -1
  1305. package/build-module/ui/form-group/form-group-content.js +12 -13
  1306. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1307. package/build-module/ui/form-group/form-group-help.js +3 -4
  1308. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1309. package/build-module/ui/form-group/form-group-label.js +7 -8
  1310. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1311. package/build-module/ui/tooltip/component.js +1 -1
  1312. package/build-module/ui/tooltip/component.js.map +1 -1
  1313. package/build-module/ui/utils/colors.js +1 -3
  1314. package/build-module/ui/utils/colors.js.map +1 -1
  1315. package/build-module/ui/utils/font-size.js +2 -6
  1316. package/build-module/ui/utils/font-size.js.map +1 -1
  1317. package/build-module/ui/utils/get-high-dpi.js +1 -5
  1318. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1319. package/build-module/ui/utils/space.js +1 -3
  1320. package/build-module/ui/utils/space.js.map +1 -1
  1321. package/build-module/ui/utils/use-responsive-value.js +2 -4
  1322. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1323. package/build-module/unit-control/index.js +8 -8
  1324. package/build-module/unit-control/index.js.map +1 -1
  1325. package/build-module/unit-control/index.native.js +22 -23
  1326. package/build-module/unit-control/index.native.js.map +1 -1
  1327. package/build-module/unit-control/styles/unit-control-styles.js +6 -8
  1328. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1329. package/build-module/unit-control/unit-select-control.js +11 -13
  1330. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1331. package/build-module/unit-control/utils.js +12 -19
  1332. package/build-module/unit-control/utils.js.map +1 -1
  1333. package/build-module/utils/browsers.js +2 -10
  1334. package/build-module/utils/browsers.js.map +1 -1
  1335. package/build-module/utils/colors.js +1 -3
  1336. package/build-module/utils/colors.js.map +1 -1
  1337. package/build-module/utils/config-values.js +1 -0
  1338. package/build-module/utils/config-values.js.map +1 -1
  1339. package/build-module/utils/hooks/use-controlled-state.js +1 -2
  1340. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1341. package/build-module/utils/hooks/use-controlled-value.js +5 -6
  1342. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1343. package/build-module/utils/hooks/use-cx.js +1 -5
  1344. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1345. package/build-module/utils/math.js +5 -17
  1346. package/build-module/utils/math.js.map +1 -1
  1347. package/build-module/utils/reduce-motion.js +1 -2
  1348. package/build-module/utils/reduce-motion.js.map +1 -1
  1349. package/build-module/utils/rtl.js +3 -9
  1350. package/build-module/utils/rtl.js.map +1 -1
  1351. package/build-module/utils/values.js +2 -6
  1352. package/build-module/utils/values.js.map +1 -1
  1353. package/build-module/z-stack/styles.js +14 -23
  1354. package/build-module/z-stack/styles.js.map +1 -1
  1355. package/build-style/style-rtl.css +57 -27
  1356. package/build-style/style.css +59 -29
  1357. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  1358. package/build-types/button/deprecated.d.ts +6 -0
  1359. package/build-types/button/deprecated.d.ts.map +1 -1
  1360. package/build-types/button/index.d.ts.map +1 -1
  1361. package/build-types/button/stories/e2e/index.d.ts +14 -0
  1362. package/build-types/button/stories/e2e/index.d.ts.map +1 -0
  1363. package/build-types/button/types.d.ts +9 -0
  1364. package/build-types/button/types.d.ts.map +1 -1
  1365. package/build-types/color-palette/index.d.ts.map +1 -1
  1366. package/build-types/color-picker/styles.d.ts.map +1 -1
  1367. package/build-types/date-time/date-time/index.d.ts +3 -4
  1368. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  1369. package/build-types/date-time/date-time/styles.d.ts +0 -4
  1370. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  1371. package/build-types/date-time/stories/date-time.d.ts.map +1 -1
  1372. package/build-types/date-time/types.d.ts +0 -14
  1373. package/build-types/date-time/types.d.ts.map +1 -1
  1374. package/build-types/dropdown-menu/index.d.ts +83 -1
  1375. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  1376. package/build-types/dropdown-menu/stories/index.d.ts +13 -0
  1377. package/build-types/dropdown-menu/stories/index.d.ts.map +1 -0
  1378. package/build-types/dropdown-menu/test/index.d.ts +2 -0
  1379. package/build-types/dropdown-menu/test/index.d.ts.map +1 -0
  1380. package/build-types/dropdown-menu/types.d.ts +134 -0
  1381. package/build-types/dropdown-menu/types.d.ts.map +1 -0
  1382. package/build-types/dropdown-menu-v2/index.d.ts +17 -0
  1383. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -0
  1384. package/build-types/dropdown-menu-v2/stories/index.d.ts +11 -0
  1385. package/build-types/dropdown-menu-v2/stories/index.d.ts.map +1 -0
  1386. package/build-types/dropdown-menu-v2/styles.d.ts +42 -0
  1387. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -0
  1388. package/build-types/dropdown-menu-v2/test/index.d.ts +2 -0
  1389. package/build-types/dropdown-menu-v2/test/index.d.ts.map +1 -0
  1390. package/build-types/dropdown-menu-v2/types.d.ts +252 -0
  1391. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -0
  1392. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  1393. package/build-types/font-size-picker/index.d.ts.map +1 -1
  1394. package/build-types/font-size-picker/styles.d.ts +11 -0
  1395. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  1396. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  1397. package/build-types/modal/index.d.ts.map +1 -1
  1398. package/build-types/navigator/navigator-back-button/component.d.ts +1 -0
  1399. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  1400. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -0
  1401. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  1402. package/build-types/navigator/navigator-button/component.d.ts +1 -0
  1403. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  1404. package/build-types/navigator/navigator-button/hook.d.ts +1 -0
  1405. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  1406. package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -0
  1407. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  1408. package/build-types/popover/index.d.ts +6 -0
  1409. package/build-types/popover/index.d.ts.map +1 -1
  1410. package/build-types/private-apis.d.ts.map +1 -1
  1411. package/build-types/tab-panel/index.d.ts +1 -38
  1412. package/build-types/tab-panel/index.d.ts.map +1 -1
  1413. package/build-types/tab-panel/stories/index.d.ts +4 -3
  1414. package/build-types/tab-panel/stories/index.d.ts.map +1 -1
  1415. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  1416. package/build-types/toolbar/stories/index.d.ts.map +1 -1
  1417. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  1418. package/build-types/toolbar/toolbar-button/index.d.ts +6 -0
  1419. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  1420. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -10
  1421. package/build-types/ui/context/get-styled-class-name-from-key.d.ts.map +1 -1
  1422. package/build-types/ui/context/index.d.ts +1 -1
  1423. package/build-types/ui/context/index.d.ts.map +1 -1
  1424. package/build-types/utils/config-values.d.ts +1 -0
  1425. package/package.json +21 -20
  1426. package/src/border-control/border-control-dropdown/component.tsx +23 -12
  1427. package/src/border-control/test/index.js +6 -6
  1428. package/src/button/index.tsx +2 -0
  1429. package/src/button/stories/e2e/index.tsx +58 -0
  1430. package/src/button/style.scss +17 -15
  1431. package/src/button/types.ts +9 -0
  1432. package/src/color-palette/index.tsx +47 -46
  1433. package/src/color-palette/style.scss +57 -19
  1434. package/src/color-palette/test/__snapshots__/index.tsx.snap +66 -50
  1435. package/src/color-palette/test/index.tsx +76 -13
  1436. package/src/color-picker/styles.ts +7 -2
  1437. package/src/date-time/README.md +0 -16
  1438. package/src/date-time/date-time/index.tsx +17 -155
  1439. package/src/date-time/date-time/styles.ts +0 -4
  1440. package/src/date-time/stories/date-time.tsx +0 -4
  1441. package/src/date-time/types.ts +0 -16
  1442. package/src/dropdown-menu/README.md +12 -22
  1443. package/src/dropdown-menu/{index.js → index.tsx} +111 -25
  1444. package/src/dropdown-menu/stories/{index.js → index.tsx} +14 -22
  1445. package/src/dropdown-menu/test/{index.js → index.tsx} +6 -5
  1446. package/src/dropdown-menu/types.ts +143 -0
  1447. package/src/dropdown-menu-v2/README.md +392 -0
  1448. package/src/dropdown-menu-v2/index.tsx +293 -0
  1449. package/src/dropdown-menu-v2/stories/index.tsx +217 -0
  1450. package/src/dropdown-menu-v2/styles.ts +276 -0
  1451. package/src/dropdown-menu-v2/test/index.tsx +816 -0
  1452. package/src/dropdown-menu-v2/types.ts +265 -0
  1453. package/src/focal-point-picker/controls.tsx +2 -0
  1454. package/src/focal-point-picker/test/index.js +9 -3
  1455. package/src/font-size-picker/index.tsx +5 -5
  1456. package/src/font-size-picker/styles.ts +9 -0
  1457. package/src/index.native.js +0 -1
  1458. package/src/input-control/styles/input-control-styles.tsx +7 -0
  1459. package/src/mobile/bottom-sheet/cell.native.js +34 -5
  1460. package/src/mobile/bottom-sheet/color-cell.native.js +3 -2
  1461. package/src/mobile/bottom-sheet/lock-icon/index.native.js +19 -0
  1462. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +8 -0
  1463. package/src/mobile/bottom-sheet/radio-cell.native.js +2 -1
  1464. package/src/mobile/bottom-sheet/range-cell.native.js +5 -1
  1465. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -0
  1466. package/src/mobile/bottom-sheet/styles.native.scss +15 -1
  1467. package/src/mobile/bottom-sheet/switch-cell.native.js +10 -2
  1468. package/src/mobile/bottom-sheet-select-control/index.native.js +3 -1
  1469. package/src/mobile/bottom-sheet-text-control/index.native.js +3 -1
  1470. package/src/modal/index.tsx +1 -6
  1471. package/src/popover/index.tsx +1 -1
  1472. package/src/private-apis.ts +24 -0
  1473. package/src/range-control/index.native.js +3 -0
  1474. package/src/search-control/style.scss +2 -0
  1475. package/src/slot-fill/README.md +26 -1
  1476. package/src/tab-panel/index.tsx +18 -12
  1477. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -2
  1478. package/src/toggle-group-control/toggle-group-control/styles.ts +6 -1
  1479. package/src/toolbar/stories/index.tsx +25 -28
  1480. package/src/toolbar/toolbar/index.tsx +24 -7
  1481. package/src/tooltip/style.scss +2 -2
  1482. package/src/ui/context/index.ts +1 -0
  1483. package/src/utils/config-values.js +1 -0
  1484. package/src/view/README.md +2 -2
  1485. package/tsconfig.tsbuildinfo +1 -1
  1486. package/build/mobile/readable-content-view/index.native.js +0 -97
  1487. package/build/mobile/readable-content-view/index.native.js.map +0 -1
  1488. package/build-module/mobile/readable-content-view/index.native.js +0 -81
  1489. package/build-module/mobile/readable-content-view/index.native.js.map +0 -1
  1490. package/src/mobile/readable-content-view/index.native.js +0 -85
  1491. package/src/mobile/readable-content-view/style.native.scss +0 -30
@@ -39,19 +39,18 @@ var _reactDom = require("react-dom");
39
39
  function getAutoCompleterUI(autocompleter) {
40
40
  const useItems = autocompleter.useItems ? autocompleter.useItems : (0, _getDefaultUseItems.default)(autocompleter);
41
41
 
42
- function AutocompleterUI(_ref) {
43
- let {
44
- filterValue,
45
- instanceId,
46
- listBoxId,
47
- className,
48
- selectedIndex,
49
- onChangeOptions,
50
- onSelect,
51
- onReset,
52
- reset,
53
- contentRef
54
- } = _ref;
42
+ function AutocompleterUI({
43
+ filterValue,
44
+ instanceId,
45
+ listBoxId,
46
+ className,
47
+ selectedIndex,
48
+ onChangeOptions,
49
+ onSelect,
50
+ onReset,
51
+ reset,
52
+ contentRef
53
+ }) {
55
54
  const [items] = useItems(filterValue);
56
55
  const popoverAnchor = (0, _richText.useAnchor)({
57
56
  editableContentElement: contentRef.current
@@ -77,26 +76,23 @@ function getAutoCompleterUI(autocompleter) {
77
76
  return null;
78
77
  }
79
78
 
80
- const ListBox = _ref2 => {
81
- let {
82
- Component = 'div'
83
- } = _ref2;
84
- return (0, _element.createElement)(Component, {
85
- id: listBoxId,
86
- role: "listbox",
87
- className: "components-autocomplete__results"
88
- }, items.map((option, index) => (0, _element.createElement)(_button.default, {
89
- key: option.key,
90
- id: `components-autocomplete-item-${instanceId}-${option.key}`,
91
- role: "option",
92
- "aria-selected": index === selectedIndex,
93
- disabled: option.isDisabled,
94
- className: (0, _classnames.default)('components-autocomplete__result', className, {
95
- 'is-selected': index === selectedIndex
96
- }),
97
- onClick: () => onSelect(option)
98
- }, option.label)));
99
- };
79
+ const ListBox = ({
80
+ Component = 'div'
81
+ }) => (0, _element.createElement)(Component, {
82
+ id: listBoxId,
83
+ role: "listbox",
84
+ className: "components-autocomplete__results"
85
+ }, items.map((option, index) => (0, _element.createElement)(_button.default, {
86
+ key: option.key,
87
+ id: `components-autocomplete-item-${instanceId}-${option.key}`,
88
+ role: "option",
89
+ "aria-selected": index === selectedIndex,
90
+ disabled: option.isDisabled,
91
+ className: (0, _classnames.default)('components-autocomplete__result', className, {
92
+ 'is-selected': index === selectedIndex
93
+ }),
94
+ onClick: () => onSelect(option)
95
+ }, option.label)));
100
96
 
101
97
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_popover.default, {
102
98
  focusOnMount: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.tsx"],"names":["getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","instanceId","listBoxId","className","selectedIndex","onChangeOptions","onSelect","onReset","reset","contentRef","items","popoverAnchor","editableContentElement","current","needsA11yCompat","setNeedsA11yCompat","popoverRef","popoverRefs","node","ownerDocument","useOnClickOutside","length","ListBox","Component","map","option","index","key","isDisabled","label","VisuallyHidden","body","ref","handler","listener","event","contains","target","document","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseLayoutEffect,\n\tuseRef,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useAnchor } from '@wordpress/rich-text';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport getDefaultUseItems from './get-default-use-items';\nimport Button from '../button';\nimport Popover from '../popover';\nimport { VisuallyHidden } from '../visually-hidden';\nimport { createPortal } from 'react-dom';\nimport type { AutocompleterUIProps, WPCompleter } from './types';\n\nexport function getAutoCompleterUI( autocompleter: WPCompleter ) {\n\tconst useItems = autocompleter.useItems\n\t\t? autocompleter.useItems\n\t\t: getDefaultUseItems( autocompleter );\n\n\tfunction AutocompleterUI( {\n\t\tfilterValue,\n\t\tinstanceId,\n\t\tlistBoxId,\n\t\tclassName,\n\t\tselectedIndex,\n\t\tonChangeOptions,\n\t\tonSelect,\n\t\tonReset,\n\t\treset,\n\t\tcontentRef,\n\t}: AutocompleterUIProps ) {\n\t\tconst [ items ] = useItems( filterValue );\n\t\tconst popoverAnchor = useAnchor( {\n\t\t\teditableContentElement: contentRef.current,\n\t\t} );\n\n\t\tconst [ needsA11yCompat, setNeedsA11yCompat ] = useState( false );\n\t\tconst popoverRef = useRef< HTMLElement >( null );\n\t\tconst popoverRefs = useMergeRefs( [\n\t\t\tpopoverRef,\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tif ( ! contentRef.current ) return;\n\n\t\t\t\t\t// If the popover is rendered in a different document than\n\t\t\t\t\t// the content, we need to duplicate the options list in the\n\t\t\t\t\t// content document so that it's available to the screen\n\t\t\t\t\t// readers, which check the DOM ID based aira-* attributes.\n\t\t\t\t\tsetNeedsA11yCompat(\n\t\t\t\t\t\tnode.ownerDocument !== contentRef.current.ownerDocument\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t[ contentRef ]\n\t\t\t),\n\t\t] );\n\n\t\tuseOnClickOutside( popoverRef, reset );\n\n\t\tuseLayoutEffect( () => {\n\t\t\tonChangeOptions( items );\n\t\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [ items ] );\n\n\t\tif ( items.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst ListBox = ( {\n\t\t\tComponent = 'div',\n\t\t}: {\n\t\t\tComponent?: React.ElementType;\n\t\t} ) => (\n\t\t\t<Component\n\t\t\t\tid={ listBoxId }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t>\n\t\t\t\t{ items.map( ( option, index ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'components-autocomplete__result',\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => onSelect( option ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</Button>\n\t\t\t\t) ) }\n\t\t\t</Component>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Popover\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tonClose={ onReset }\n\t\t\t\t\tplacement=\"top-start\"\n\t\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tref={ popoverRefs }\n\t\t\t\t>\n\t\t\t\t\t<ListBox />\n\t\t\t\t</Popover>\n\t\t\t\t{ contentRef.current &&\n\t\t\t\t\tneedsA11yCompat &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<ListBox Component={ VisuallyHidden } />,\n\t\t\t\t\t\tcontentRef.current.ownerDocument.body\n\t\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn AutocompleterUI;\n}\n\nfunction useOnClickOutside(\n\tref: React.RefObject< HTMLElement >,\n\thandler: AutocompleterUIProps[ 'reset' ]\n) {\n\tuseEffect( () => {\n\t\tconst listener = ( event: MouseEvent | TouchEvent ) => {\n\t\t\t// Do nothing if clicking ref's element or descendent elements, or if the ref is not referencing an element\n\t\t\tif (\n\t\t\t\t! ref.current ||\n\t\t\t\tref.current.contains( event.target as Node )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandler( event );\n\t\t};\n\t\tdocument.addEventListener( 'mousedown', listener );\n\t\tdocument.addEventListener( 'touchstart', listener );\n\t\treturn () => {\n\t\t\tdocument.removeEventListener( 'mousedown', listener );\n\t\t\tdocument.removeEventListener( 'touchstart', listener );\n\t\t};\n\t\t// Disable reason: `ref` is a ref object and should not be included in a\n\t\t// hook's dependency list.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ handler ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.tsx"],"names":["getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","instanceId","listBoxId","className","selectedIndex","onChangeOptions","onSelect","onReset","reset","contentRef","items","popoverAnchor","editableContentElement","current","needsA11yCompat","setNeedsA11yCompat","popoverRef","popoverRefs","node","ownerDocument","useOnClickOutside","length","ListBox","Component","map","option","index","key","isDisabled","label","VisuallyHidden","body","ref","handler","listener","event","contains","target","document","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseLayoutEffect,\n\tuseRef,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { useAnchor } from '@wordpress/rich-text';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport getDefaultUseItems from './get-default-use-items';\nimport Button from '../button';\nimport Popover from '../popover';\nimport { VisuallyHidden } from '../visually-hidden';\nimport { createPortal } from 'react-dom';\nimport type { AutocompleterUIProps, WPCompleter } from './types';\n\nexport function getAutoCompleterUI( autocompleter: WPCompleter ) {\n\tconst useItems = autocompleter.useItems\n\t\t? autocompleter.useItems\n\t\t: getDefaultUseItems( autocompleter );\n\n\tfunction AutocompleterUI( {\n\t\tfilterValue,\n\t\tinstanceId,\n\t\tlistBoxId,\n\t\tclassName,\n\t\tselectedIndex,\n\t\tonChangeOptions,\n\t\tonSelect,\n\t\tonReset,\n\t\treset,\n\t\tcontentRef,\n\t}: AutocompleterUIProps ) {\n\t\tconst [ items ] = useItems( filterValue );\n\t\tconst popoverAnchor = useAnchor( {\n\t\t\teditableContentElement: contentRef.current,\n\t\t} );\n\n\t\tconst [ needsA11yCompat, setNeedsA11yCompat ] = useState( false );\n\t\tconst popoverRef = useRef< HTMLElement >( null );\n\t\tconst popoverRefs = useMergeRefs( [\n\t\t\tpopoverRef,\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tif ( ! contentRef.current ) return;\n\n\t\t\t\t\t// If the popover is rendered in a different document than\n\t\t\t\t\t// the content, we need to duplicate the options list in the\n\t\t\t\t\t// content document so that it's available to the screen\n\t\t\t\t\t// readers, which check the DOM ID based aira-* attributes.\n\t\t\t\t\tsetNeedsA11yCompat(\n\t\t\t\t\t\tnode.ownerDocument !== contentRef.current.ownerDocument\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t[ contentRef ]\n\t\t\t),\n\t\t] );\n\n\t\tuseOnClickOutside( popoverRef, reset );\n\n\t\tuseLayoutEffect( () => {\n\t\t\tonChangeOptions( items );\n\t\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [ items ] );\n\n\t\tif ( items.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst ListBox = ( {\n\t\t\tComponent = 'div',\n\t\t}: {\n\t\t\tComponent?: React.ElementType;\n\t\t} ) => (\n\t\t\t<Component\n\t\t\t\tid={ listBoxId }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t>\n\t\t\t\t{ items.map( ( option, index ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'components-autocomplete__result',\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => onSelect( option ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</Button>\n\t\t\t\t) ) }\n\t\t\t</Component>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Popover\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tonClose={ onReset }\n\t\t\t\t\tplacement=\"top-start\"\n\t\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tref={ popoverRefs }\n\t\t\t\t>\n\t\t\t\t\t<ListBox />\n\t\t\t\t</Popover>\n\t\t\t\t{ contentRef.current &&\n\t\t\t\t\tneedsA11yCompat &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<ListBox Component={ VisuallyHidden } />,\n\t\t\t\t\t\tcontentRef.current.ownerDocument.body\n\t\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn AutocompleterUI;\n}\n\nfunction useOnClickOutside(\n\tref: React.RefObject< HTMLElement >,\n\thandler: AutocompleterUIProps[ 'reset' ]\n) {\n\tuseEffect( () => {\n\t\tconst listener = ( event: MouseEvent | TouchEvent ) => {\n\t\t\t// Do nothing if clicking ref's element or descendent elements, or if the ref is not referencing an element\n\t\t\tif (\n\t\t\t\t! ref.current ||\n\t\t\t\tref.current.contains( event.target as Node )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandler( event );\n\t\t};\n\t\tdocument.addEventListener( 'mousedown', listener );\n\t\tdocument.addEventListener( 'touchstart', listener );\n\t\treturn () => {\n\t\t\tdocument.removeEventListener( 'mousedown', listener );\n\t\t\tdocument.removeEventListener( 'touchstart', listener );\n\t\t};\n\t\t// Disable reason: `ref` is a ref object and should not be included in a\n\t\t// hook's dependency list.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ handler ] );\n}\n"]}
@@ -42,15 +42,14 @@ const {
42
42
  function getAutoCompleterUI(autocompleter) {
43
43
  const useItems = autocompleter.useItems ? autocompleter.useItems : (0, _getDefaultUseItems.default)(autocompleter);
44
44
 
45
- function AutocompleterUI(_ref) {
46
- let {
47
- filterValue,
48
- selectedIndex,
49
- onChangeOptions,
50
- onSelect,
51
- value,
52
- reset
53
- } = _ref;
45
+ function AutocompleterUI({
46
+ filterValue,
47
+ selectedIndex,
48
+ onChangeOptions,
49
+ onSelect,
50
+ value,
51
+ reset
52
+ }) {
54
53
  const [items] = useItems(filterValue);
55
54
  const filteredItems = items.filter(item => !item.isDisabled);
56
55
  const scrollViewRef = (0, _element.useRef)();
@@ -65,10 +64,8 @@ function getAutoCompleterUI(autocompleter) {
65
64
  }
66
65
  }, [isVisible, text]);
67
66
  (0, _element.useLayoutEffect)(() => {
68
- var _scrollViewRef$curren;
69
-
70
67
  onChangeOptions(items);
71
- (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 ? void 0 : _scrollViewRef$curren.scrollTo({
68
+ scrollViewRef.current?.scrollTo({
72
69
  x: 0,
73
70
  animated: false
74
71
  });
@@ -92,11 +89,9 @@ function getAutoCompleterUI(autocompleter) {
92
89
  toValue: show ? 1 : 0,
93
90
  duration: show ? 200 : 100,
94
91
  useNativeDriver: true
95
- }).start(_ref2 => {
96
- let {
97
- finished
98
- } = _ref2;
99
-
92
+ }).start(({
93
+ finished
94
+ }) => {
100
95
  if (finished && !show && isVisible) {
101
96
  setIsVisible(false);
102
97
  reset();
@@ -133,20 +128,18 @@ function getAutoCompleterUI(autocompleter) {
133
128
  accessibilityLabel: // translators: Slash inserter autocomplete results
134
129
  (0, _i18n.__)('Slash inserter results')
135
130
  }, filteredItems.map((option, index) => {
136
- var _option$value, _option$value$icon, _option$value2, _option$value3, _option$value4;
137
-
138
131
  const isActive = index === selectedIndex;
139
132
  const itemStyle = stylesCompose(_style.default['components-autocomplete__item'], isActive && activeItemStyles);
140
133
  const textStyle = stylesCompose(textStyles, isActive && activeTextStyles);
141
134
  const iconStyle = stylesCompose(iconStyles, isActive && activeIconStyles);
142
- const iconSource = (option === null || option === void 0 ? void 0 : (_option$value = option.value) === null || _option$value === void 0 ? void 0 : (_option$value$icon = _option$value.icon) === null || _option$value$icon === void 0 ? void 0 : _option$value$icon.src) || (option === null || option === void 0 ? void 0 : (_option$value2 = option.value) === null || _option$value2 === void 0 ? void 0 : _option$value2.icon);
135
+ const iconSource = option?.value?.icon?.src || option?.value?.icon;
143
136
  return (0, _element.createElement)(_reactNative.TouchableOpacity, {
144
137
  activeOpacity: 0.5,
145
138
  style: itemStyle,
146
139
  key: index,
147
140
  onPress: () => onSelect(option),
148
141
  accessibilityLabel: (0, _i18n.sprintf)( // translators: %s: Block name e.g. "Image block"
149
- (0, _i18n.__)('%s block'), option === null || option === void 0 ? void 0 : (_option$value3 = option.value) === null || _option$value3 === void 0 ? void 0 : _option$value3.title)
142
+ (0, _i18n.__)('%s block'), option?.value?.title)
150
143
  }, (0, _element.createElement)(_reactNative.View, {
151
144
  style: _style.default['components-autocomplete__icon']
152
145
  }, (0, _element.createElement)(_components.Icon, {
@@ -155,7 +148,7 @@ function getAutoCompleterUI(autocompleter) {
155
148
  style: iconStyle
156
149
  })), (0, _element.createElement)(_reactNative.Text, {
157
150
  style: textStyle
158
- }, option === null || option === void 0 ? void 0 : (_option$value4 = option.value) === null || _option$value4 === void 0 ? void 0 : _option$value4.title));
151
+ }, option?.value?.title));
159
152
  }))))));
160
153
  }
161
154
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.native.js"],"names":["compose","stylesCompose","StyleSheet","getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","selectedIndex","onChangeOptions","onSelect","value","reset","items","filteredItems","filter","item","isDisabled","scrollViewRef","animationValue","Animated","Value","current","isVisible","setIsVisible","text","length","scrollTo","x","animated","startAnimation","activeItemStyles","styles","iconStyles","activeIconStyles","textStyles","activeTextStyles","show","timing","toValue","duration","useNativeDriver","start","finished","contentStyles","transform","translateY","interpolate","inputRange","outputRange","height","map","option","index","isActive","itemStyle","textStyle","iconStyle","iconSource","icon","src","title"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tAnimated,\n\tStyleSheet,\n\tText,\n\tTouchableOpacity,\n\tScrollView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\t__unstableAutocompletionItemsFill as AutocompletionItemsFill,\n} from '@wordpress/components';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BackgroundView from './background-view';\nimport getDefaultUseItems from './get-default-use-items';\nimport styles from './style.scss';\n\nconst { compose: stylesCompose } = StyleSheet;\n\nexport function getAutoCompleterUI( autocompleter ) {\n\tconst useItems = autocompleter.useItems\n\t\t? autocompleter.useItems\n\t\t: getDefaultUseItems( autocompleter );\n\n\tfunction AutocompleterUI( {\n\t\tfilterValue,\n\t\tselectedIndex,\n\t\tonChangeOptions,\n\t\tonSelect,\n\t\tvalue,\n\t\treset,\n\t} ) {\n\t\tconst [ items ] = useItems( filterValue );\n\t\tconst filteredItems = items.filter( ( item ) => ! item.isDisabled );\n\t\tconst scrollViewRef = useRef();\n\t\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\t\tconst [ isVisible, setIsVisible ] = useState( false );\n\t\tconst { text } = value;\n\n\t\tuseEffect( () => {\n\t\t\tif ( ! isVisible && text.length > 0 ) {\n\t\t\t\tsetIsVisible( true );\n\t\t\t}\n\t\t}, [ isVisible, text ] );\n\n\t\tuseLayoutEffect( () => {\n\t\t\tonChangeOptions( items );\n\t\t\tscrollViewRef.current?.scrollTo( { x: 0, animated: false } );\n\n\t\t\tif ( isVisible && text.length > 0 ) {\n\t\t\t\tstartAnimation( true );\n\t\t\t} else if ( isVisible && text.length === 0 ) {\n\t\t\t\tstartAnimation( false );\n\t\t\t}\n\t\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [ items, isVisible, text ] );\n\n\t\tconst activeItemStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__item-active' ],\n\t\t\tstyles[ 'components-autocomplete__item-active-dark' ]\n\t\t);\n\n\t\tconst iconStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__icon' ],\n\t\t\tstyles[ 'components-autocomplete__icon-active-dark' ]\n\t\t);\n\n\t\tconst activeIconStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__icon-active ' ],\n\t\t\tstyles[ 'components-autocomplete__icon-active-dark' ]\n\t\t);\n\n\t\tconst textStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__text' ],\n\t\t\tstyles[ 'components-autocomplete__text-dark' ]\n\t\t);\n\n\t\tconst activeTextStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__text-active' ],\n\t\t\tstyles[ 'components-autocomplete__text-active-dark' ]\n\t\t);\n\n\t\tconst startAnimation = useCallback(\n\t\t\t( show ) => {\n\t\t\t\tAnimated.timing( animationValue, {\n\t\t\t\t\ttoValue: show ? 1 : 0,\n\t\t\t\t\tduration: show ? 200 : 100,\n\t\t\t\t\tuseNativeDriver: true,\n\t\t\t\t} ).start( ( { finished } ) => {\n\t\t\t\t\tif ( finished && ! show && isVisible ) {\n\t\t\t\t\t\tsetIsVisible( false );\n\t\t\t\t\t\treset();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ isVisible ]\n\t\t);\n\n\t\tconst contentStyles = {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [\n\t\t\t\t\t\t\tstyles[ 'components-autocomplete' ].height,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\n\t\tif ( ! filteredItems.length > 0 || ! isVisible ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<AutocompletionItemsFill>\n\t\t\t\t<View style={ styles[ 'components-autocomplete' ] }>\n\t\t\t\t\t<Animated.View style={ contentStyles }>\n\t\t\t\t\t\t<BackgroundView>\n\t\t\t\t\t\t\t<ScrollView\n\t\t\t\t\t\t\t\ttestID=\"autocompleter\"\n\t\t\t\t\t\t\t\tref={ scrollViewRef }\n\t\t\t\t\t\t\t\thorizontal\n\t\t\t\t\t\t\t\tcontentContainerStyle={\n\t\t\t\t\t\t\t\t\tstyles[ 'components-autocomplete__content' ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\t// translators: Slash inserter autocomplete results\n\t\t\t\t\t\t\t\t\t__( 'Slash inserter results' )\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{ filteredItems.map( ( option, index ) => {\n\t\t\t\t\t\t\t\t\tconst isActive = index === selectedIndex;\n\t\t\t\t\t\t\t\t\tconst itemStyle = stylesCompose(\n\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t'components-autocomplete__item'\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tisActive && activeItemStyles\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst textStyle = stylesCompose(\n\t\t\t\t\t\t\t\t\t\ttextStyles,\n\t\t\t\t\t\t\t\t\t\tisActive && activeTextStyles\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst iconStyle = stylesCompose(\n\t\t\t\t\t\t\t\t\t\ticonStyles,\n\t\t\t\t\t\t\t\t\t\tisActive && activeIconStyles\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst iconSource =\n\t\t\t\t\t\t\t\t\t\toption?.value?.icon?.src ||\n\t\t\t\t\t\t\t\t\t\toption?.value?.icon;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\t\t\t\t\t\tstyle={ itemStyle }\n\t\t\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\t\t\tonPress={ () => onSelect( option ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Block name e.g. \"Image block\"\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%s block' ),\n\t\t\t\t\t\t\t\t\t\t\t\toption?.value?.title\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\t\t<View\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'components-autocomplete__icon'\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ iconSource }\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t\t<Text style={ textStyle }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ option?.value?.title }\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t</BackgroundView>\n\t\t\t\t\t</Animated.View>\n\t\t\t\t</View>\n\t\t\t</AutocompletionItemsFill>\n\t\t);\n\t}\n\n\treturn AutocompleterUI;\n}\n\nexport default getAutoCompleterUI;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.native.js"],"names":["compose","stylesCompose","StyleSheet","getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","selectedIndex","onChangeOptions","onSelect","value","reset","items","filteredItems","filter","item","isDisabled","scrollViewRef","animationValue","Animated","Value","current","isVisible","setIsVisible","text","length","scrollTo","x","animated","startAnimation","activeItemStyles","styles","iconStyles","activeIconStyles","textStyles","activeTextStyles","show","timing","toValue","duration","useNativeDriver","start","finished","contentStyles","transform","translateY","interpolate","inputRange","outputRange","height","map","option","index","isActive","itemStyle","textStyle","iconStyle","iconSource","icon","src","title"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tAnimated,\n\tStyleSheet,\n\tText,\n\tTouchableOpacity,\n\tScrollView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\t__unstableAutocompletionItemsFill as AutocompletionItemsFill,\n} from '@wordpress/components';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BackgroundView from './background-view';\nimport getDefaultUseItems from './get-default-use-items';\nimport styles from './style.scss';\n\nconst { compose: stylesCompose } = StyleSheet;\n\nexport function getAutoCompleterUI( autocompleter ) {\n\tconst useItems = autocompleter.useItems\n\t\t? autocompleter.useItems\n\t\t: getDefaultUseItems( autocompleter );\n\n\tfunction AutocompleterUI( {\n\t\tfilterValue,\n\t\tselectedIndex,\n\t\tonChangeOptions,\n\t\tonSelect,\n\t\tvalue,\n\t\treset,\n\t} ) {\n\t\tconst [ items ] = useItems( filterValue );\n\t\tconst filteredItems = items.filter( ( item ) => ! item.isDisabled );\n\t\tconst scrollViewRef = useRef();\n\t\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\t\tconst [ isVisible, setIsVisible ] = useState( false );\n\t\tconst { text } = value;\n\n\t\tuseEffect( () => {\n\t\t\tif ( ! isVisible && text.length > 0 ) {\n\t\t\t\tsetIsVisible( true );\n\t\t\t}\n\t\t}, [ isVisible, text ] );\n\n\t\tuseLayoutEffect( () => {\n\t\t\tonChangeOptions( items );\n\t\t\tscrollViewRef.current?.scrollTo( { x: 0, animated: false } );\n\n\t\t\tif ( isVisible && text.length > 0 ) {\n\t\t\t\tstartAnimation( true );\n\t\t\t} else if ( isVisible && text.length === 0 ) {\n\t\t\t\tstartAnimation( false );\n\t\t\t}\n\t\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t}, [ items, isVisible, text ] );\n\n\t\tconst activeItemStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__item-active' ],\n\t\t\tstyles[ 'components-autocomplete__item-active-dark' ]\n\t\t);\n\n\t\tconst iconStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__icon' ],\n\t\t\tstyles[ 'components-autocomplete__icon-active-dark' ]\n\t\t);\n\n\t\tconst activeIconStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__icon-active ' ],\n\t\t\tstyles[ 'components-autocomplete__icon-active-dark' ]\n\t\t);\n\n\t\tconst textStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__text' ],\n\t\t\tstyles[ 'components-autocomplete__text-dark' ]\n\t\t);\n\n\t\tconst activeTextStyles = usePreferredColorSchemeStyle(\n\t\t\tstyles[ 'components-autocomplete__text-active' ],\n\t\t\tstyles[ 'components-autocomplete__text-active-dark' ]\n\t\t);\n\n\t\tconst startAnimation = useCallback(\n\t\t\t( show ) => {\n\t\t\t\tAnimated.timing( animationValue, {\n\t\t\t\t\ttoValue: show ? 1 : 0,\n\t\t\t\t\tduration: show ? 200 : 100,\n\t\t\t\t\tuseNativeDriver: true,\n\t\t\t\t} ).start( ( { finished } ) => {\n\t\t\t\t\tif ( finished && ! show && isVisible ) {\n\t\t\t\t\t\tsetIsVisible( false );\n\t\t\t\t\t\treset();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[ isVisible ]\n\t\t);\n\n\t\tconst contentStyles = {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\toutputRange: [\n\t\t\t\t\t\t\tstyles[ 'components-autocomplete' ].height,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t],\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\n\t\tif ( ! filteredItems.length > 0 || ! isVisible ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<AutocompletionItemsFill>\n\t\t\t\t<View style={ styles[ 'components-autocomplete' ] }>\n\t\t\t\t\t<Animated.View style={ contentStyles }>\n\t\t\t\t\t\t<BackgroundView>\n\t\t\t\t\t\t\t<ScrollView\n\t\t\t\t\t\t\t\ttestID=\"autocompleter\"\n\t\t\t\t\t\t\t\tref={ scrollViewRef }\n\t\t\t\t\t\t\t\thorizontal\n\t\t\t\t\t\t\t\tcontentContainerStyle={\n\t\t\t\t\t\t\t\t\tstyles[ 'components-autocomplete__content' ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\t// translators: Slash inserter autocomplete results\n\t\t\t\t\t\t\t\t\t__( 'Slash inserter results' )\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{ filteredItems.map( ( option, index ) => {\n\t\t\t\t\t\t\t\t\tconst isActive = index === selectedIndex;\n\t\t\t\t\t\t\t\t\tconst itemStyle = stylesCompose(\n\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t'components-autocomplete__item'\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tisActive && activeItemStyles\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst textStyle = stylesCompose(\n\t\t\t\t\t\t\t\t\t\ttextStyles,\n\t\t\t\t\t\t\t\t\t\tisActive && activeTextStyles\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst iconStyle = stylesCompose(\n\t\t\t\t\t\t\t\t\t\ticonStyles,\n\t\t\t\t\t\t\t\t\t\tisActive && activeIconStyles\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tconst iconSource =\n\t\t\t\t\t\t\t\t\t\toption?.value?.icon?.src ||\n\t\t\t\t\t\t\t\t\t\toption?.value?.icon;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\t\tactiveOpacity={ 0.5 }\n\t\t\t\t\t\t\t\t\t\t\tstyle={ itemStyle }\n\t\t\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\t\t\tonPress={ () => onSelect( option ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Block name e.g. \"Image block\"\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%s block' ),\n\t\t\t\t\t\t\t\t\t\t\t\toption?.value?.title\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\t\t<View\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'components-autocomplete__icon'\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ iconSource }\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t\t<Text style={ textStyle }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ option?.value?.title }\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t</BackgroundView>\n\t\t\t\t\t</Animated.View>\n\t\t\t\t</View>\n\t\t\t</AutocompletionItemsFill>\n\t\t);\n\t}\n\n\treturn AutocompleterUI;\n}\n\nexport default getAutoCompleterUI;\n"]}
@@ -26,10 +26,9 @@ var _style = _interopRequireDefault(require("./style.scss"));
26
26
  /**
27
27
  * Internal dependencies
28
28
  */
29
- const BackgroundView = _ref => {
30
- let {
31
- children
32
- } = _ref;
29
+ const BackgroundView = ({
30
+ children
31
+ }) => {
33
32
  const backgroundStyles = (0, _compose.usePreferredColorSchemeStyle)(_style.default['components-autocomplete__background'], _style.default['components-autocomplete__background-dark']);
34
33
  return (0, _element.createElement)(_reactNative.View, {
35
34
  style: backgroundStyles
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/background-view.android.js"],"names":["BackgroundView","children","backgroundStyles","styles"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,QAAoB;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AAC1C,QAAMC,gBAAgB,GAAG,2CACxBC,eAAQ,qCAAR,CADwB,EAExBA,eAAQ,0CAAR,CAFwB,CAAzB;AAKA,SAAO,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGD;AAAd,KAAmCD,QAAnC,CAAP;AACA,CAPD;;eASeD,c","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BackgroundView = ( { children } ) => {\n\tconst backgroundStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'components-autocomplete__background' ],\n\t\tstyles[ 'components-autocomplete__background-dark' ]\n\t);\n\n\treturn <View style={ backgroundStyles }>{ children }</View>;\n};\n\nexport default BackgroundView;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/background-view.android.js"],"names":["BackgroundView","children","backgroundStyles","styles"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAoB;AAC1C,QAAMC,gBAAgB,GAAG,2CACxBC,eAAQ,qCAAR,CADwB,EAExBA,eAAQ,0CAAR,CAFwB,CAAzB;AAKA,SAAO,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGD;AAAd,KAAmCD,QAAnC,CAAP;AACA,CAPD;;eASeD,c","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BackgroundView = ( { children } ) => {\n\tconst backgroundStyles = usePreferredColorSchemeStyle(\n\t\tstyles[ 'components-autocomplete__background' ],\n\t\tstyles[ 'components-autocomplete__background-dark' ]\n\t);\n\n\treturn <View style={ backgroundStyles }>{ children }</View>;\n};\n\nexport default BackgroundView;\n"]}
@@ -20,10 +20,9 @@ var _style = _interopRequireDefault(require("./style.scss"));
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- const BackgroundView = _ref => {
24
- let {
25
- children
26
- } = _ref;
23
+ const BackgroundView = ({
24
+ children
25
+ }) => {
27
26
  return (0, _element.createElement)(_blur.BlurView, {
28
27
  style: _style.default['components-autocomplete__background-blur'],
29
28
  blurType: "prominent",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/background-view.ios.js"],"names":["BackgroundView","children","styles"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,QAAoB;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AAC1C,SACC,4BAAC,cAAD;AACC,IAAA,KAAK,EAAGC,eAAQ,0CAAR,CADT;AAEC,IAAA,QAAQ,EAAC,WAFV;AAGC,IAAA,UAAU,EAAG;AAHd,KAKGD,QALH,CADD;AASA,CAVD;;eAYeD,c","sourcesContent":["/**\n * External dependencies\n */\nimport { BlurView } from '@react-native-community/blur';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BackgroundView = ( { children } ) => {\n\treturn (\n\t\t<BlurView\n\t\t\tstyle={ styles[ 'components-autocomplete__background-blur' ] }\n\t\t\tblurType=\"prominent\"\n\t\t\tblurAmount={ 10 }\n\t\t>\n\t\t\t{ children }\n\t\t</BlurView>\n\t);\n};\n\nexport default BackgroundView;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/background-view.ios.js"],"names":["BackgroundView","children","styles"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAE;AAAEC,EAAAA;AAAF,CAAF,KAAoB;AAC1C,SACC,4BAAC,cAAD;AACC,IAAA,KAAK,EAAGC,eAAQ,0CAAR,CADT;AAEC,IAAA,QAAQ,EAAC,WAFV;AAGC,IAAA,UAAU,EAAG;AAHd,KAKGD,QALH,CADD;AASA,CAVD;;eAYeD,c","sourcesContent":["/**\n * External dependencies\n */\nimport { BlurView } from '@react-native-community/blur';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst BackgroundView = ( { children } ) => {\n\treturn (\n\t\t<BlurView\n\t\t\tstyle={ styles[ 'components-autocomplete__background-blur' ] }\n\t\t\tblurType=\"prominent\"\n\t\t\tblurAmount={ 10 }\n\t\t>\n\t\t\t{ children }\n\t\t</BlurView>\n\t);\n};\n\nexport default BackgroundView;\n"]}
@@ -26,9 +26,7 @@ var _strings = require("../utils/strings");
26
26
  /**
27
27
  * Internal dependencies
28
28
  */
29
- function filterOptions(search) {
30
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
31
- let maxResults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
29
+ function filterOptions(search, options = [], maxResults = 10) {
32
30
  const filtered = [];
33
31
 
34
32
  for (let i = 0; i < options.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/get-default-use-items.tsx"],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","push","getDefaultUseItems","autocompleter","filterValue","items","setItems","isDebounced","loadOptions","promise","Promise","resolve","then","optionsData","canceled","keyedOptions","map","optionData","optionIndex","key","name","value","getOptionLabel","getOptionKeywords","isDisabled","isOptionDisabled","RegExp","cancel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useLayoutEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { escapeRegExp } from '../utils/strings';\nimport type { CancelablePromise, KeyedOption, WPCompleter } from './types';\n\nfunction filterOptions(\n\tsearch: RegExp,\n\toptions: Array< KeyedOption > = [],\n\tmaxResults = 10\n) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords.\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) =>\n\t\t\tsearch.test( removeAccents( keyword ) )\n\t\t);\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached.\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nexport default function getDefaultUseItems( autocompleter: WPCompleter ) {\n\treturn ( filterValue: string ) => {\n\t\tconst [ items, setItems ] = useState< Array< KeyedOption > >( [] );\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tuseLayoutEffect( () => {\n\t\t\tconst { options, isDebounced } = autocompleter;\n\t\t\tconst loadOptions = debounce(\n\t\t\t\t() => {\n\t\t\t\t\tconst promise: CancelablePromise = Promise.resolve(\n\t\t\t\t\t\ttypeof options === 'function'\n\t\t\t\t\t\t\t? options( filterValue )\n\t\t\t\t\t\t\t: options\n\t\t\t\t\t).then( ( optionsData ) => {\n\t\t\t\t\t\tif ( promise.canceled ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst keyedOptions = optionsData.map(\n\t\t\t\t\t\t\t( optionData, optionIndex ) => ( {\n\t\t\t\t\t\t\t\tkey: `${ autocompleter.name }-${ optionIndex }`,\n\t\t\t\t\t\t\t\tvalue: optionData,\n\t\t\t\t\t\t\t\tlabel: autocompleter.getOptionLabel(\n\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tkeywords: autocompleter.getOptionKeywords\n\t\t\t\t\t\t\t\t\t? autocompleter.getOptionKeywords(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\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\tisDisabled: autocompleter.isOptionDisabled\n\t\t\t\t\t\t\t\t\t? autocompleter.isOptionDisabled(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Create a regular expression to filter the options.\n\t\t\t\t\t\tconst search = new RegExp(\n\t\t\t\t\t\t\t'(?:\\\\b|\\\\s|^)' + escapeRegExp( filterValue ),\n\t\t\t\t\t\t\t'i'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetItems( filterOptions( search, keyedOptions ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn promise;\n\t\t\t\t},\n\t\t\t\tisDebounced ? 250 : 0\n\t\t\t);\n\n\t\t\tconst promise = loadOptions();\n\n\t\t\treturn () => {\n\t\t\t\tloadOptions.cancel();\n\t\t\t\tif ( promise ) {\n\t\t\t\t\tpromise.canceled = true;\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ filterValue ] );\n\n\t\treturn [ items ] as const;\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/get-default-use-items.tsx"],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","push","getDefaultUseItems","autocompleter","filterValue","items","setItems","isDebounced","loadOptions","promise","Promise","resolve","then","optionsData","canceled","keyedOptions","map","optionData","optionIndex","key","name","value","getOptionLabel","getOptionKeywords","isDisabled","isOptionDisabled","RegExp","cancel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useLayoutEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { escapeRegExp } from '../utils/strings';\nimport type { CancelablePromise, KeyedOption, WPCompleter } from './types';\n\nfunction filterOptions(\n\tsearch: RegExp,\n\toptions: Array< KeyedOption > = [],\n\tmaxResults = 10\n) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords.\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) =>\n\t\t\tsearch.test( removeAccents( keyword ) )\n\t\t);\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached.\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nexport default function getDefaultUseItems( autocompleter: WPCompleter ) {\n\treturn ( filterValue: string ) => {\n\t\tconst [ items, setItems ] = useState< Array< KeyedOption > >( [] );\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tuseLayoutEffect( () => {\n\t\t\tconst { options, isDebounced } = autocompleter;\n\t\t\tconst loadOptions = debounce(\n\t\t\t\t() => {\n\t\t\t\t\tconst promise: CancelablePromise = Promise.resolve(\n\t\t\t\t\t\ttypeof options === 'function'\n\t\t\t\t\t\t\t? options( filterValue )\n\t\t\t\t\t\t\t: options\n\t\t\t\t\t).then( ( optionsData ) => {\n\t\t\t\t\t\tif ( promise.canceled ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst keyedOptions = optionsData.map(\n\t\t\t\t\t\t\t( optionData, optionIndex ) => ( {\n\t\t\t\t\t\t\t\tkey: `${ autocompleter.name }-${ optionIndex }`,\n\t\t\t\t\t\t\t\tvalue: optionData,\n\t\t\t\t\t\t\t\tlabel: autocompleter.getOptionLabel(\n\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tkeywords: autocompleter.getOptionKeywords\n\t\t\t\t\t\t\t\t\t? autocompleter.getOptionKeywords(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\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\tisDisabled: autocompleter.isOptionDisabled\n\t\t\t\t\t\t\t\t\t? autocompleter.isOptionDisabled(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Create a regular expression to filter the options.\n\t\t\t\t\t\tconst search = new RegExp(\n\t\t\t\t\t\t\t'(?:\\\\b|\\\\s|^)' + escapeRegExp( filterValue ),\n\t\t\t\t\t\t\t'i'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetItems( filterOptions( search, keyedOptions ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn promise;\n\t\t\t\t},\n\t\t\t\tisDebounced ? 250 : 0\n\t\t\t);\n\n\t\t\tconst promise = loadOptions();\n\n\t\t\treturn () => {\n\t\t\t\tloadOptions.cancel();\n\t\t\t\tif ( promise ) {\n\t\t\t\t\tpromise.canceled = true;\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ filterValue ] );\n\n\t\treturn [ items ] as const;\n\t};\n}\n"]}
@@ -38,14 +38,13 @@ var _strings = require("../utils/strings");
38
38
  */
39
39
  const EMPTY_FILTERED_OPTIONS = [];
40
40
 
41
- function useAutocomplete(_ref) {
42
- let {
43
- record,
44
- onChange,
45
- onReplace,
46
- completers,
47
- contentRef
48
- } = _ref;
41
+ function useAutocomplete({
42
+ record,
43
+ onChange,
44
+ onReplace,
45
+ completers,
46
+ contentRef
47
+ }) {
49
48
  const debouncedSpeak = (0, _compose.useDebounce)(_a11y.speak, 500);
50
49
  const instanceId = (0, _compose.useInstanceId)(useAutocomplete);
51
50
  const [selectedIndex, setSelectedIndex] = (0, _element.useState)(0);
@@ -206,11 +205,10 @@ function useAutocomplete(_ref) {
206
205
  return;
207
206
  }
208
207
 
209
- const completer = completers === null || completers === void 0 ? void 0 : completers.find(_ref2 => {
210
- let {
211
- triggerPrefix,
212
- allowContext
213
- } = _ref2;
208
+ const completer = completers?.find(({
209
+ triggerPrefix,
210
+ allowContext
211
+ }) => {
214
212
  const index = textContent.lastIndexOf(triggerPrefix);
215
213
 
216
214
  if (index === -1) {
@@ -337,9 +335,7 @@ function useAutocompleteProps(options) {
337
335
  onKeyDownRef.current = onKeyDown;
338
336
  const mergedRefs = (0, _compose.useMergeRefs)([ref, (0, _compose.useRefEffect)(element => {
339
337
  function _onKeyDown(event) {
340
- var _onKeyDownRef$current;
341
-
342
- (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);
338
+ onKeyDownRef.current?.(event);
343
339
  }
344
340
 
345
341
  element.addEventListener('keydown', _onKeyDown);
@@ -348,7 +344,7 @@ function useAutocompleteProps(options) {
348
344
  };
349
345
  }, [])]); // We only want to show the popover if the user has typed something.
350
346
 
351
- const didUserInput = record.text !== (previousRecord === null || previousRecord === void 0 ? void 0 : previousRecord.text);
347
+ const didUserInput = record.text !== previousRecord?.text;
352
348
 
353
349
  if (!didUserInput) {
354
350
  return {
@@ -365,12 +361,11 @@ function useAutocompleteProps(options) {
365
361
  };
366
362
  }
367
363
 
368
- function Autocomplete(_ref3) {
369
- let {
370
- children,
371
- isSelected,
372
- ...options
373
- } = _ref3;
364
+ function Autocomplete({
365
+ children,
366
+ isSelected,
367
+ ...options
368
+ }) {
374
369
  const {
375
370
  popover,
376
371
  ...props
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/index.tsx"],"names":["EMPTY_FILTERED_OPTIONS","useAutocomplete","record","onChange","onReplace","completers","contentRef","debouncedSpeak","speak","instanceId","selectedIndex","setSelectedIndex","filteredOptions","setFilteredOptions","filterValue","setFilterValue","autocompleter","setAutocompleter","AutocompleterUI","setAutocompleterUI","backspacing","insertCompletion","replacement","end","start","triggerPrefix","length","toInsert","html","select","option","getOptionCompletion","isDisabled","completion","value","isCompletionObject","obj","action","undefined","completionObject","reset","announce","options","onChangeOptions","handleKeyDown","event","current","key","defaultPrevented","isComposing","keyCode","preventDefault","textContent","completer","find","allowContext","index","lastIndexOf","textWithoutTrigger","slice","tooDistantFromTrigger","mismatch","wordsFromTrigger","split","hasOneTriggerWord","matchingWhileBackspacing","textAfterSelection","test","safeTrigger","text","match","RegExp","query","selectedKey","className","isExpanded","listBoxId","activeId","hasSelection","onKeyDown","popover","useLastDifferentValue","history","Set","add","size","delete","Array","from","useAutocompleteProps","ref","onKeyDownRef","previousRecord","mergedRefs","element","_onKeyDown","addEventListener","removeEventListener","didUserInput","children","Autocomplete","isSelected","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tuseInstanceId,\n\tuseDebounce,\n\tuseMergeRefs,\n\tuseRefEffect,\n} from '@wordpress/compose';\nimport {\n\tcreate,\n\tslice,\n\tinsert,\n\tisCollapsed,\n\tgetTextContent,\n} from '@wordpress/rich-text';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { getAutoCompleterUI } from './autocompleter-ui';\nimport { escapeRegExp } from '../utils/strings';\nimport type {\n\tAutocompleteProps,\n\tAutocompleterUIProps,\n\tInsertOption,\n\tKeyedOption,\n\tOptionCompletion,\n\tReplaceOption,\n\tUseAutocompleteProps,\n\tWPCompleter,\n} from './types';\n\nconst EMPTY_FILTERED_OPTIONS: KeyedOption[] = [];\n\nexport function useAutocomplete( {\n\trecord,\n\tonChange,\n\tonReplace,\n\tcompleters,\n\tcontentRef,\n}: UseAutocompleteProps ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst instanceId = useInstanceId( useAutocomplete );\n\tconst [ selectedIndex, setSelectedIndex ] = useState( 0 );\n\n\tconst [ filteredOptions, setFilteredOptions ] = useState<\n\t\tArray< KeyedOption >\n\t>( EMPTY_FILTERED_OPTIONS );\n\tconst [ filterValue, setFilterValue ] =\n\t\tuseState< AutocompleterUIProps[ 'filterValue' ] >( '' );\n\tconst [ autocompleter, setAutocompleter ] = useState< WPCompleter | null >(\n\t\tnull\n\t);\n\tconst [ AutocompleterUI, setAutocompleterUI ] = useState<\n\t\t( ( props: AutocompleterUIProps ) => JSX.Element | null ) | null\n\t>( null );\n\n\tconst backspacing = useRef( false );\n\n\tfunction insertCompletion( replacement: React.ReactNode ) {\n\t\tif ( autocompleter === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst end = record.start;\n\t\tconst start =\n\t\t\tend - autocompleter.triggerPrefix.length - filterValue.length;\n\t\tconst toInsert = create( { html: renderToString( replacement ) } );\n\n\t\tonChange( insert( record, toInsert, start, end ) );\n\t}\n\n\tfunction select( option: KeyedOption ) {\n\t\tconst { getOptionCompletion } = autocompleter || {};\n\n\t\tif ( option.isDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( getOptionCompletion ) {\n\t\t\tconst completion = getOptionCompletion( option.value, filterValue );\n\n\t\t\tconst isCompletionObject = (\n\t\t\t\tobj: OptionCompletion\n\t\t\t): obj is InsertOption | ReplaceOption => {\n\t\t\t\treturn (\n\t\t\t\t\tobj !== null &&\n\t\t\t\t\ttypeof obj === 'object' &&\n\t\t\t\t\t'action' in obj &&\n\t\t\t\t\tobj.action !== undefined &&\n\t\t\t\t\t'value' in obj &&\n\t\t\t\t\tobj.value !== undefined\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tconst completionObject = isCompletionObject( completion )\n\t\t\t\t? completion\n\t\t\t\t: ( {\n\t\t\t\t\t\taction: 'insert-at-caret',\n\t\t\t\t\t\tvalue: completion,\n\t\t\t\t } as InsertOption );\n\n\t\t\tif ( 'replace' === completionObject.action ) {\n\t\t\t\tonReplace( [ completionObject.value ] );\n\t\t\t\t// When replacing, the component will unmount, so don't reset\n\t\t\t\t// state (below) on an unmounted component.\n\t\t\t\treturn;\n\t\t\t} else if ( 'insert-at-caret' === completionObject.action ) {\n\t\t\t\tinsertCompletion( completionObject.value );\n\t\t\t}\n\t\t}\n\n\t\t// Reset autocomplete state after insertion rather than before\n\t\t// so insertion events don't cause the completion menu to redisplay.\n\t\treset();\n\t}\n\n\tfunction reset() {\n\t\tsetSelectedIndex( 0 );\n\t\tsetFilteredOptions( EMPTY_FILTERED_OPTIONS );\n\t\tsetFilterValue( '' );\n\t\tsetAutocompleter( null );\n\t\tsetAutocompleterUI( null );\n\t}\n\n\tfunction announce( options: Array< KeyedOption > ) {\n\t\tif ( ! debouncedSpeak ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( !! options.length ) {\n\t\t\tdebouncedSpeak(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\toptions.length\n\t\t\t\t\t),\n\t\t\t\t\toptions.length\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t} else {\n\t\t\tdebouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t}\n\t}\n\n\t/**\n\t * Load options for an autocompleter.\n\t *\n\t * @param {Array} options\n\t */\n\tfunction onChangeOptions( options: Array< KeyedOption > ) {\n\t\tsetSelectedIndex(\n\t\t\toptions.length === filteredOptions.length ? selectedIndex : 0\n\t\t);\n\t\tsetFilteredOptions( options );\n\t\tannounce( options );\n\t}\n\n\tfunction handleKeyDown( event: KeyboardEvent ) {\n\t\tbackspacing.current = event.key === 'Backspace';\n\n\t\tif ( ! autocompleter ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( filteredOptions.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.key ) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\tsetSelectedIndex(\n\t\t\t\t\t( selectedIndex === 0\n\t\t\t\t\t\t? filteredOptions.length\n\t\t\t\t\t\t: selectedIndex ) - 1\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\tsetSelectedIndex(\n\t\t\t\t\t( selectedIndex + 1 ) % filteredOptions.length\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tsetAutocompleter( null );\n\t\t\t\tsetAutocompleterUI( null );\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\tselect( filteredOptions[ selectedIndex ] );\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowLeft':\n\t\t\tcase 'ArrowRight':\n\t\t\t\treset();\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Any handled key should prevent original behavior. This relies on\n\t\t// the early return in the default case.\n\t\tevent.preventDefault();\n\t}\n\n\t// textContent is a primitive (string), memoizing is not strictly necessary\n\t// but this is a preemptive performance improvement, since the autocompleter\n\t// is a potential bottleneck for the editor type metric.\n\tconst textContent = useMemo( () => {\n\t\tif ( isCollapsed( record ) ) {\n\t\t\treturn getTextContent( slice( record, 0 ) );\n\t\t}\n\t\treturn '';\n\t}, [ record ] );\n\n\tuseEffect( () => {\n\t\tif ( ! textContent ) {\n\t\t\tif ( autocompleter ) reset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst completer = completers?.find(\n\t\t\t( { triggerPrefix, allowContext } ) => {\n\t\t\t\tconst index = textContent.lastIndexOf( triggerPrefix );\n\n\t\t\t\tif ( index === -1 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst textWithoutTrigger = textContent.slice(\n\t\t\t\t\tindex + triggerPrefix.length\n\t\t\t\t);\n\n\t\t\t\tconst tooDistantFromTrigger = textWithoutTrigger.length > 50; // 50 chars seems to be a good limit.\n\t\t\t\t// This is a final barrier to prevent the effect from completing with\n\t\t\t\t// an extremely long string, which causes the editor to slow-down\n\t\t\t\t// significantly. This could happen, for example, if `matchingWhileBackspacing`\n\t\t\t\t// is true and one of the \"words\" end up being too long. If that's the case,\n\t\t\t\t// it will be caught by this guard.\n\t\t\t\tif ( tooDistantFromTrigger ) return false;\n\n\t\t\t\tconst mismatch = filteredOptions.length === 0;\n\t\t\t\tconst wordsFromTrigger = textWithoutTrigger.split( /\\s/ );\n\t\t\t\t// We need to allow the effect to run when not backspacing and if there\n\t\t\t\t// was a mismatch. i.e when typing a trigger + the match string or when\n\t\t\t\t// clicking in an existing trigger word on the page. We do that if we\n\t\t\t\t// detect that we have one word from trigger in the current textual context.\n\t\t\t\t//\n\t\t\t\t// Ex.: \"Some text @a\" <-- \"@a\" will be detected as the trigger word and\n\t\t\t\t// allow the effect to run. It will run until there's a mismatch.\n\t\t\t\tconst hasOneTriggerWord = wordsFromTrigger.length === 1;\n\t\t\t\t// This is used to allow the effect to run when backspacing and if\n\t\t\t\t// \"touching\" a word that \"belongs\" to a trigger. We consider a \"trigger\n\t\t\t\t// word\" any word up to the limit of 3 from the trigger character.\n\t\t\t\t// Anything beyond that is ignored if there's a mismatch. This allows\n\t\t\t\t// us to \"escape\" a mismatch when backspacing, but still imposing some\n\t\t\t\t// sane limits.\n\t\t\t\t//\n\t\t\t\t// Ex: \"Some text @marcelo sekkkk\" <--- \"kkkk\" caused a mismatch, but\n\t\t\t\t// if the user presses backspace here, it will show the completion popup again.\n\t\t\t\tconst matchingWhileBackspacing =\n\t\t\t\t\tbackspacing.current &&\n\t\t\t\t\ttextWithoutTrigger.split( /\\s/ ).length <= 3;\n\n\t\t\t\tif (\n\t\t\t\t\tmismatch &&\n\t\t\t\t\t! ( matchingWhileBackspacing || hasOneTriggerWord )\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst textAfterSelection = getTextContent(\n\t\t\t\t\tslice( record, undefined, getTextContent( record ).length )\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\tallowContext &&\n\t\t\t\t\t! allowContext(\n\t\t\t\t\t\ttextContent.slice( 0, index ),\n\t\t\t\t\t\ttextAfterSelection\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t/^\\s/.test( textWithoutTrigger ) ||\n\t\t\t\t\t/\\s\\s+$/.test( textWithoutTrigger )\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn /[\\u0000-\\uFFFF]*$/.test( textWithoutTrigger );\n\t\t\t}\n\t\t);\n\n\t\tif ( ! completer ) {\n\t\t\tif ( autocompleter ) reset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst safeTrigger = escapeRegExp( completer.triggerPrefix );\n\t\tconst text = removeAccents( textContent );\n\t\tconst match = text\n\t\t\t.slice( text.lastIndexOf( completer.triggerPrefix ) )\n\t\t\t.match( new RegExp( `${ safeTrigger }([\\u0000-\\uFFFF]*)$` ) );\n\t\tconst query = match && match[ 1 ];\n\n\t\tsetAutocompleter( completer );\n\t\tsetAutocompleterUI( () =>\n\t\t\tcompleter !== autocompleter\n\t\t\t\t? getAutoCompleterUI( completer )\n\t\t\t\t: AutocompleterUI\n\t\t);\n\t\tsetFilterValue( query === null ? '' : query );\n\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ textContent ] );\n\n\tconst { key: selectedKey = '' } = filteredOptions[ selectedIndex ] || {};\n\tconst { className } = autocompleter || {};\n\tconst isExpanded = !! autocompleter && filteredOptions.length > 0;\n\tconst listBoxId = isExpanded\n\t\t? `components-autocomplete-listbox-${ instanceId }`\n\t\t: undefined;\n\tconst activeId = isExpanded\n\t\t? `components-autocomplete-item-${ instanceId }-${ selectedKey }`\n\t\t: null;\n\tconst hasSelection = record.start !== undefined;\n\n\treturn {\n\t\tlistBoxId,\n\t\tactiveId,\n\t\tonKeyDown: handleKeyDown,\n\t\tpopover: hasSelection && AutocompleterUI && (\n\t\t\t<AutocompleterUI\n\t\t\t\tclassName={ className }\n\t\t\t\tfilterValue={ filterValue }\n\t\t\t\tinstanceId={ instanceId }\n\t\t\t\tlistBoxId={ listBoxId }\n\t\t\t\tselectedIndex={ selectedIndex }\n\t\t\t\tonChangeOptions={ onChangeOptions }\n\t\t\t\tonSelect={ select }\n\t\t\t\tvalue={ record }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\treset={ reset }\n\t\t\t/>\n\t\t),\n\t};\n}\n\nfunction useLastDifferentValue( value: UseAutocompleteProps[ 'record' ] ) {\n\tconst history = useRef< Set< typeof value > >( new Set() );\n\n\thistory.current.add( value );\n\n\t// Keep the history size to 2.\n\tif ( history.current.size > 2 ) {\n\t\thistory.current.delete( Array.from( history.current )[ 0 ] );\n\t}\n\n\treturn Array.from( history.current )[ 0 ];\n}\n\nexport function useAutocompleteProps( options: UseAutocompleteProps ) {\n\tconst ref = useRef< HTMLElement >( null );\n\tconst onKeyDownRef = useRef< ( event: KeyboardEvent ) => void >();\n\tconst { record } = options;\n\tconst previousRecord = useLastDifferentValue( record );\n\tconst { popover, listBoxId, activeId, onKeyDown } = useAutocomplete( {\n\t\t...options,\n\t\tcontentRef: ref,\n\t} );\n\tonKeyDownRef.current = onKeyDown;\n\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tuseRefEffect( ( element: HTMLElement ) => {\n\t\t\tfunction _onKeyDown( event: KeyboardEvent ) {\n\t\t\t\tonKeyDownRef.current?.( event );\n\t\t\t}\n\t\t\telement.addEventListener( 'keydown', _onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', _onKeyDown );\n\t\t\t};\n\t\t}, [] ),\n\t] );\n\n\t// We only want to show the popover if the user has typed something.\n\tconst didUserInput = record.text !== previousRecord?.text;\n\n\tif ( ! didUserInput ) {\n\t\treturn { ref: mergedRefs };\n\t}\n\n\treturn {\n\t\tref: mergedRefs,\n\t\tchildren: popover,\n\t\t'aria-autocomplete': listBoxId ? 'list' : undefined,\n\t\t'aria-owns': listBoxId,\n\t\t'aria-activedescendant': activeId,\n\t};\n}\n\nexport default function Autocomplete( {\n\tchildren,\n\tisSelected,\n\t...options\n}: AutocompleteProps ) {\n\tconst { popover, ...props } = useAutocomplete( options );\n\treturn (\n\t\t<>\n\t\t\t{ children( props ) }\n\t\t\t{ isSelected && popover }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/index.tsx"],"names":["EMPTY_FILTERED_OPTIONS","useAutocomplete","record","onChange","onReplace","completers","contentRef","debouncedSpeak","speak","instanceId","selectedIndex","setSelectedIndex","filteredOptions","setFilteredOptions","filterValue","setFilterValue","autocompleter","setAutocompleter","AutocompleterUI","setAutocompleterUI","backspacing","insertCompletion","replacement","end","start","triggerPrefix","length","toInsert","html","select","option","getOptionCompletion","isDisabled","completion","value","isCompletionObject","obj","action","undefined","completionObject","reset","announce","options","onChangeOptions","handleKeyDown","event","current","key","defaultPrevented","isComposing","keyCode","preventDefault","textContent","completer","find","allowContext","index","lastIndexOf","textWithoutTrigger","slice","tooDistantFromTrigger","mismatch","wordsFromTrigger","split","hasOneTriggerWord","matchingWhileBackspacing","textAfterSelection","test","safeTrigger","text","match","RegExp","query","selectedKey","className","isExpanded","listBoxId","activeId","hasSelection","onKeyDown","popover","useLastDifferentValue","history","Set","add","size","delete","Array","from","useAutocompleteProps","ref","onKeyDownRef","previousRecord","mergedRefs","element","_onKeyDown","addEventListener","removeEventListener","didUserInput","children","Autocomplete","isSelected","props"],"mappings":";;;;;;;;;;;AAQA;;AALA;;AAYA;;AACA;;AAMA;;AAOA;;AAKA;;AACA;;AAnCA;AACA;AACA;;AAGA;AACA;AACA;;AAwBA;AACA;AACA;AAcA,MAAMA,sBAAqC,GAAG,EAA9C;;AAEO,SAASC,eAAT,CAA0B;AAChCC,EAAAA,MADgC;AAEhCC,EAAAA,QAFgC;AAGhCC,EAAAA,SAHgC;AAIhCC,EAAAA,UAJgC;AAKhCC,EAAAA;AALgC,CAA1B,EAMmB;AACzB,QAAMC,cAAc,GAAG,0BAAaC,WAAb,EAAoB,GAApB,CAAvB;AACA,QAAMC,UAAU,GAAG,4BAAeR,eAAf,CAAnB;AACA,QAAM,CAAES,aAAF,EAAiBC,gBAAjB,IAAsC,uBAAU,CAAV,CAA5C;AAEA,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0C,uBAE7Cb,sBAF6C,CAAhD;AAGA,QAAM,CAAEc,WAAF,EAAeC,cAAf,IACL,uBAAmD,EAAnD,CADD;AAEA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsC,uBAC3C,IAD2C,CAA5C;AAGA,QAAM,CAAEC,eAAF,EAAmBC,kBAAnB,IAA0C,uBAE7C,IAF6C,CAAhD;AAIA,QAAMC,WAAW,GAAG,qBAAQ,KAAR,CAApB;;AAEA,WAASC,gBAAT,CAA2BC,WAA3B,EAA0D;AACzD,QAAKN,aAAa,KAAK,IAAvB,EAA8B;AAC7B;AACA;;AACD,UAAMO,GAAG,GAAGrB,MAAM,CAACsB,KAAnB;AACA,UAAMA,KAAK,GACVD,GAAG,GAAGP,aAAa,CAACS,aAAd,CAA4BC,MAAlC,GAA2CZ,WAAW,CAACY,MADxD;AAEA,UAAMC,QAAQ,GAAG,sBAAQ;AAAEC,MAAAA,IAAI,EAAE,6BAAgBN,WAAhB;AAAR,KAAR,CAAjB;AAEAnB,IAAAA,QAAQ,CAAE,sBAAQD,MAAR,EAAgByB,QAAhB,EAA0BH,KAA1B,EAAiCD,GAAjC,CAAF,CAAR;AACA;;AAED,WAASM,MAAT,CAAiBC,MAAjB,EAAuC;AACtC,UAAM;AAAEC,MAAAA;AAAF,QAA0Bf,aAAa,IAAI,EAAjD;;AAEA,QAAKc,MAAM,CAACE,UAAZ,EAAyB;AACxB;AACA;;AAED,QAAKD,mBAAL,EAA2B;AAC1B,YAAME,UAAU,GAAGF,mBAAmB,CAAED,MAAM,CAACI,KAAT,EAAgBpB,WAAhB,CAAtC;;AAEA,YAAMqB,kBAAkB,GACvBC,GAD0B,IAEe;AACzC,eACCA,GAAG,KAAK,IAAR,IACA,OAAOA,GAAP,KAAe,QADf,IAEA,YAAYA,GAFZ,IAGAA,GAAG,CAACC,MAAJ,KAAeC,SAHf,IAIA,WAAWF,GAJX,IAKAA,GAAG,CAACF,KAAJ,KAAcI,SANf;AAQA,OAXD;;AAaA,YAAMC,gBAAgB,GAAGJ,kBAAkB,CAAEF,UAAF,CAAlB,GACtBA,UADsB,GAEpB;AACFI,QAAAA,MAAM,EAAE,iBADN;AAEFH,QAAAA,KAAK,EAAED;AAFL,OAFL;;AAOA,UAAK,cAAcM,gBAAgB,CAACF,MAApC,EAA6C;AAC5CjC,QAAAA,SAAS,CAAE,CAAEmC,gBAAgB,CAACL,KAAnB,CAAF,CAAT,CAD4C,CAE5C;AACA;;AACA;AACA,OALD,MAKO,IAAK,sBAAsBK,gBAAgB,CAACF,MAA5C,EAAqD;AAC3DhB,QAAAA,gBAAgB,CAAEkB,gBAAgB,CAACL,KAAnB,CAAhB;AACA;AACD,KAtCqC,CAwCtC;AACA;;;AACAM,IAAAA,KAAK;AACL;;AAED,WAASA,KAAT,GAAiB;AAChB7B,IAAAA,gBAAgB,CAAE,CAAF,CAAhB;AACAE,IAAAA,kBAAkB,CAAEb,sBAAF,CAAlB;AACAe,IAAAA,cAAc,CAAE,EAAF,CAAd;AACAE,IAAAA,gBAAgB,CAAE,IAAF,CAAhB;AACAE,IAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA;;AAED,WAASsB,QAAT,CAAmBC,OAAnB,EAAmD;AAClD,QAAK,CAAEnC,cAAP,EAAwB;AACvB;AACA;;AACD,QAAK,CAAC,CAAEmC,OAAO,CAAChB,MAAhB,EAAyB;AACxBnB,MAAAA,cAAc,CACb;AACC;AACA,oBACC,0DADD,EAEC,2DAFD,EAGCmC,OAAO,CAAChB,MAHT,CAFD,EAOCgB,OAAO,CAAChB,MAPT,CADa,EAUb,WAVa,CAAd;AAYA,KAbD,MAaO;AACNnB,MAAAA,cAAc,CAAE,cAAI,aAAJ,CAAF,EAAuB,WAAvB,CAAd;AACA;AACD;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASoC,eAAT,CAA0BD,OAA1B,EAA0D;AACzD/B,IAAAA,gBAAgB,CACf+B,OAAO,CAAChB,MAAR,KAAmBd,eAAe,CAACc,MAAnC,GAA4ChB,aAA5C,GAA4D,CAD7C,CAAhB;AAGAG,IAAAA,kBAAkB,CAAE6B,OAAF,CAAlB;AACAD,IAAAA,QAAQ,CAAEC,OAAF,CAAR;AACA;;AAED,WAASE,aAAT,CAAwBC,KAAxB,EAA+C;AAC9CzB,IAAAA,WAAW,CAAC0B,OAAZ,GAAsBD,KAAK,CAACE,GAAN,KAAc,WAApC;;AAEA,QAAK,CAAE/B,aAAP,EAAuB;AACtB;AACA;;AACD,QAAKJ,eAAe,CAACc,MAAhB,KAA2B,CAAhC,EAAoC;AACnC;AACA;;AAED,QACCmB,KAAK,CAACG,gBAAN,IACA;AACAH,IAAAA,KAAK,CAACI,WAFN,IAGA;AACA;AACA;AACAJ,IAAAA,KAAK,CAACK,OAAN,KAAkB,GAPnB,EAQE;AACD;AACA;;AACD,YAASL,KAAK,CAACE,GAAf;AACC,WAAK,SAAL;AACCpC,QAAAA,gBAAgB,CACf,CAAED,aAAa,KAAK,CAAlB,GACCE,eAAe,CAACc,MADjB,GAEChB,aAFH,IAEqB,CAHN,CAAhB;AAKA;;AAED,WAAK,WAAL;AACCC,QAAAA,gBAAgB,CACf,CAAED,aAAa,GAAG,CAAlB,IAAwBE,eAAe,CAACc,MADzB,CAAhB;AAGA;;AAED,WAAK,QAAL;AACCT,QAAAA,gBAAgB,CAAE,IAAF,CAAhB;AACAE,QAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA0B,QAAAA,KAAK,CAACM,cAAN;AACA;;AAED,WAAK,OAAL;AACCtB,QAAAA,MAAM,CAAEjB,eAAe,CAAEF,aAAF,CAAjB,CAAN;AACA;;AAED,WAAK,WAAL;AACA,WAAK,YAAL;AACC8B,QAAAA,KAAK;AACL;;AAED;AACC;AA/BF,KArB8C,CAuD9C;AACA;;;AACAK,IAAAA,KAAK,CAACM,cAAN;AACA,GAjLwB,CAmLzB;AACA;AACA;;;AACA,QAAMC,WAAW,GAAG,sBAAS,MAAM;AAClC,QAAK,2BAAalD,MAAb,CAAL,EAA6B;AAC5B,aAAO,8BAAgB,qBAAOA,MAAP,EAAe,CAAf,CAAhB,CAAP;AACA;;AACD,WAAO,EAAP;AACA,GALmB,EAKjB,CAAEA,MAAF,CALiB,CAApB;AAOA,0BAAW,MAAM;AAChB,QAAK,CAAEkD,WAAP,EAAqB;AACpB,UAAKpC,aAAL,EAAqBwB,KAAK;AAC1B;AACA;;AAED,UAAMa,SAAS,GAAGhD,UAAU,EAAEiD,IAAZ,CACjB,CAAE;AAAE7B,MAAAA,aAAF;AAAiB8B,MAAAA;AAAjB,KAAF,KAAuC;AACtC,YAAMC,KAAK,GAAGJ,WAAW,CAACK,WAAZ,CAAyBhC,aAAzB,CAAd;;AAEA,UAAK+B,KAAK,KAAK,CAAC,CAAhB,EAAoB;AACnB,eAAO,KAAP;AACA;;AAED,YAAME,kBAAkB,GAAGN,WAAW,CAACO,KAAZ,CAC1BH,KAAK,GAAG/B,aAAa,CAACC,MADI,CAA3B;AAIA,YAAMkC,qBAAqB,GAAGF,kBAAkB,CAAChC,MAAnB,GAA4B,EAA1D,CAXsC,CAWwB;AAC9D;AACA;AACA;AACA;AACA;;AACA,UAAKkC,qBAAL,EAA6B,OAAO,KAAP;AAE7B,YAAMC,QAAQ,GAAGjD,eAAe,CAACc,MAAhB,KAA2B,CAA5C;AACA,YAAMoC,gBAAgB,GAAGJ,kBAAkB,CAACK,KAAnB,CAA0B,IAA1B,CAAzB,CApBsC,CAqBtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,YAAMC,iBAAiB,GAAGF,gBAAgB,CAACpC,MAAjB,KAA4B,CAAtD,CA5BsC,CA6BtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,YAAMuC,wBAAwB,GAC7B7C,WAAW,CAAC0B,OAAZ,IACAY,kBAAkB,CAACK,KAAnB,CAA0B,IAA1B,EAAiCrC,MAAjC,IAA2C,CAF5C;;AAIA,UACCmC,QAAQ,IACR,EAAII,wBAAwB,IAAID,iBAAhC,CAFD,EAGE;AACD,eAAO,KAAP;AACA;;AAED,YAAME,kBAAkB,GAAG,8BAC1B,qBAAOhE,MAAP,EAAeoC,SAAf,EAA0B,8BAAgBpC,MAAhB,EAAyBwB,MAAnD,CAD0B,CAA3B;;AAIA,UACC6B,YAAY,IACZ,CAAEA,YAAY,CACbH,WAAW,CAACO,KAAZ,CAAmB,CAAnB,EAAsBH,KAAtB,CADa,EAEbU,kBAFa,CAFf,EAME;AACD,eAAO,KAAP;AACA;;AAED,UACC,MAAMC,IAAN,CAAYT,kBAAZ,KACA,SAASS,IAAT,CAAeT,kBAAf,CAFD,EAGE;AACD,eAAO,KAAP;AACA;;AAED,aAAO,oBAAoBS,IAApB,CAA0BT,kBAA1B,CAAP;AACA,KAxEgB,CAAlB;;AA2EA,QAAK,CAAEL,SAAP,EAAmB;AAClB,UAAKrC,aAAL,EAAqBwB,KAAK;AAC1B;AACA;;AAED,UAAM4B,WAAW,GAAG,2BAAcf,SAAS,CAAC5B,aAAxB,CAApB;AACA,UAAM4C,IAAI,GAAG,4BAAejB,WAAf,CAAb;AACA,UAAMkB,KAAK,GAAGD,IAAI,CAChBV,KADY,CACLU,IAAI,CAACZ,WAAL,CAAkBJ,SAAS,CAAC5B,aAA5B,CADK,EAEZ6C,KAFY,CAEL,IAAIC,MAAJ,CAAa,GAAGH,WAAa,qBAA7B,CAFK,CAAd;AAGA,UAAMI,KAAK,GAAGF,KAAK,IAAIA,KAAK,CAAE,CAAF,CAA5B;AAEArD,IAAAA,gBAAgB,CAAEoC,SAAF,CAAhB;AACAlC,IAAAA,kBAAkB,CAAE,MACnBkC,SAAS,KAAKrC,aAAd,GACG,yCAAoBqC,SAApB,CADH,GAEGnC,eAHc,CAAlB;AAKAH,IAAAA,cAAc,CAAEyD,KAAK,KAAK,IAAV,GAAiB,EAAjB,GAAsBA,KAAxB,CAAd,CAnGgB,CAoGhB;AACA;AACA;AACA,GAvGD,EAuGG,CAAEpB,WAAF,CAvGH;AAyGA,QAAM;AAAEL,IAAAA,GAAG,EAAE0B,WAAW,GAAG;AAArB,MAA4B7D,eAAe,CAAEF,aAAF,CAAf,IAAoC,EAAtE;AACA,QAAM;AAAEgE,IAAAA;AAAF,MAAgB1D,aAAa,IAAI,EAAvC;AACA,QAAM2D,UAAU,GAAG,CAAC,CAAE3D,aAAH,IAAoBJ,eAAe,CAACc,MAAhB,GAAyB,CAAhE;AACA,QAAMkD,SAAS,GAAGD,UAAU,GACxB,mCAAmClE,UAAY,EADvB,GAEzB6B,SAFH;AAGA,QAAMuC,QAAQ,GAAGF,UAAU,GACvB,gCAAgClE,UAAY,IAAIgE,WAAa,EADtC,GAExB,IAFH;AAGA,QAAMK,YAAY,GAAG5E,MAAM,CAACsB,KAAP,KAAiBc,SAAtC;AAEA,SAAO;AACNsC,IAAAA,SADM;AAENC,IAAAA,QAFM;AAGNE,IAAAA,SAAS,EAAEnC,aAHL;AAINoC,IAAAA,OAAO,EAAEF,YAAY,IAAI5D,eAAhB,IACR,4BAAC,eAAD;AACC,MAAA,SAAS,EAAGwD,SADb;AAEC,MAAA,WAAW,EAAG5D,WAFf;AAGC,MAAA,UAAU,EAAGL,UAHd;AAIC,MAAA,SAAS,EAAGmE,SAJb;AAKC,MAAA,aAAa,EAAGlE,aALjB;AAMC,MAAA,eAAe,EAAGiC,eANnB;AAOC,MAAA,QAAQ,EAAGd,MAPZ;AAQC,MAAA,KAAK,EAAG3B,MART;AASC,MAAA,UAAU,EAAGI,UATd;AAUC,MAAA,KAAK,EAAGkC;AAVT;AALK,GAAP;AAmBA;;AAED,SAASyC,qBAAT,CAAgC/C,KAAhC,EAA0E;AACzE,QAAMgD,OAAO,GAAG,qBAA+B,IAAIC,GAAJ,EAA/B,CAAhB;AAEAD,EAAAA,OAAO,CAACpC,OAAR,CAAgBsC,GAAhB,CAAqBlD,KAArB,EAHyE,CAKzE;;AACA,MAAKgD,OAAO,CAACpC,OAAR,CAAgBuC,IAAhB,GAAuB,CAA5B,EAAgC;AAC/BH,IAAAA,OAAO,CAACpC,OAAR,CAAgBwC,MAAhB,CAAwBC,KAAK,CAACC,IAAN,CAAYN,OAAO,CAACpC,OAApB,EAA+B,CAA/B,CAAxB;AACA;;AAED,SAAOyC,KAAK,CAACC,IAAN,CAAYN,OAAO,CAACpC,OAApB,EAA+B,CAA/B,CAAP;AACA;;AAEM,SAAS2C,oBAAT,CAA+B/C,OAA/B,EAA+D;AACrE,QAAMgD,GAAG,GAAG,qBAAuB,IAAvB,CAAZ;AACA,QAAMC,YAAY,GAAG,sBAArB;AACA,QAAM;AAAEzF,IAAAA;AAAF,MAAawC,OAAnB;AACA,QAAMkD,cAAc,GAAGX,qBAAqB,CAAE/E,MAAF,CAA5C;AACA,QAAM;AAAE8E,IAAAA,OAAF;AAAWJ,IAAAA,SAAX;AAAsBC,IAAAA,QAAtB;AAAgCE,IAAAA;AAAhC,MAA8C9E,eAAe,CAAE,EACpE,GAAGyC,OADiE;AAEpEpC,IAAAA,UAAU,EAAEoF;AAFwD,GAAF,CAAnE;AAIAC,EAAAA,YAAY,CAAC7C,OAAb,GAAuBiC,SAAvB;AAEA,QAAMc,UAAU,GAAG,2BAAc,CAChCH,GADgC,EAEhC,2BAAgBI,OAAF,IAA4B;AACzC,aAASC,UAAT,CAAqBlD,KAArB,EAA4C;AAC3C8C,MAAAA,YAAY,CAAC7C,OAAb,GAAwBD,KAAxB;AACA;;AACDiD,IAAAA,OAAO,CAACE,gBAAR,CAA0B,SAA1B,EAAqCD,UAArC;AACA,WAAO,MAAM;AACZD,MAAAA,OAAO,CAACG,mBAAR,CAA6B,SAA7B,EAAwCF,UAAxC;AACA,KAFD;AAGA,GARD,EAQG,EARH,CAFgC,CAAd,CAAnB,CAXqE,CAwBrE;;AACA,QAAMG,YAAY,GAAGhG,MAAM,CAACmE,IAAP,KAAgBuB,cAAc,EAAEvB,IAArD;;AAEA,MAAK,CAAE6B,YAAP,EAAsB;AACrB,WAAO;AAAER,MAAAA,GAAG,EAAEG;AAAP,KAAP;AACA;;AAED,SAAO;AACNH,IAAAA,GAAG,EAAEG,UADC;AAENM,IAAAA,QAAQ,EAAEnB,OAFJ;AAGN,yBAAqBJ,SAAS,GAAG,MAAH,GAAYtC,SAHpC;AAIN,iBAAasC,SAJP;AAKN,6BAAyBC;AALnB,GAAP;AAOA;;AAEc,SAASuB,YAAT,CAAuB;AACrCD,EAAAA,QADqC;AAErCE,EAAAA,UAFqC;AAGrC,KAAG3D;AAHkC,CAAvB,EAIQ;AACtB,QAAM;AAAEsC,IAAAA,OAAF;AAAW,OAAGsB;AAAd,MAAwBrG,eAAe,CAAEyC,OAAF,CAA7C;AACA,SACC,qDACGyD,QAAQ,CAAEG,KAAF,CADX,EAEGD,UAAU,IAAIrB,OAFjB,CADD;AAMA","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tuseInstanceId,\n\tuseDebounce,\n\tuseMergeRefs,\n\tuseRefEffect,\n} from '@wordpress/compose';\nimport {\n\tcreate,\n\tslice,\n\tinsert,\n\tisCollapsed,\n\tgetTextContent,\n} from '@wordpress/rich-text';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { getAutoCompleterUI } from './autocompleter-ui';\nimport { escapeRegExp } from '../utils/strings';\nimport type {\n\tAutocompleteProps,\n\tAutocompleterUIProps,\n\tInsertOption,\n\tKeyedOption,\n\tOptionCompletion,\n\tReplaceOption,\n\tUseAutocompleteProps,\n\tWPCompleter,\n} from './types';\n\nconst EMPTY_FILTERED_OPTIONS: KeyedOption[] = [];\n\nexport function useAutocomplete( {\n\trecord,\n\tonChange,\n\tonReplace,\n\tcompleters,\n\tcontentRef,\n}: UseAutocompleteProps ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst instanceId = useInstanceId( useAutocomplete );\n\tconst [ selectedIndex, setSelectedIndex ] = useState( 0 );\n\n\tconst [ filteredOptions, setFilteredOptions ] = useState<\n\t\tArray< KeyedOption >\n\t>( EMPTY_FILTERED_OPTIONS );\n\tconst [ filterValue, setFilterValue ] =\n\t\tuseState< AutocompleterUIProps[ 'filterValue' ] >( '' );\n\tconst [ autocompleter, setAutocompleter ] = useState< WPCompleter | null >(\n\t\tnull\n\t);\n\tconst [ AutocompleterUI, setAutocompleterUI ] = useState<\n\t\t( ( props: AutocompleterUIProps ) => JSX.Element | null ) | null\n\t>( null );\n\n\tconst backspacing = useRef( false );\n\n\tfunction insertCompletion( replacement: React.ReactNode ) {\n\t\tif ( autocompleter === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst end = record.start;\n\t\tconst start =\n\t\t\tend - autocompleter.triggerPrefix.length - filterValue.length;\n\t\tconst toInsert = create( { html: renderToString( replacement ) } );\n\n\t\tonChange( insert( record, toInsert, start, end ) );\n\t}\n\n\tfunction select( option: KeyedOption ) {\n\t\tconst { getOptionCompletion } = autocompleter || {};\n\n\t\tif ( option.isDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( getOptionCompletion ) {\n\t\t\tconst completion = getOptionCompletion( option.value, filterValue );\n\n\t\t\tconst isCompletionObject = (\n\t\t\t\tobj: OptionCompletion\n\t\t\t): obj is InsertOption | ReplaceOption => {\n\t\t\t\treturn (\n\t\t\t\t\tobj !== null &&\n\t\t\t\t\ttypeof obj === 'object' &&\n\t\t\t\t\t'action' in obj &&\n\t\t\t\t\tobj.action !== undefined &&\n\t\t\t\t\t'value' in obj &&\n\t\t\t\t\tobj.value !== undefined\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tconst completionObject = isCompletionObject( completion )\n\t\t\t\t? completion\n\t\t\t\t: ( {\n\t\t\t\t\t\taction: 'insert-at-caret',\n\t\t\t\t\t\tvalue: completion,\n\t\t\t\t } as InsertOption );\n\n\t\t\tif ( 'replace' === completionObject.action ) {\n\t\t\t\tonReplace( [ completionObject.value ] );\n\t\t\t\t// When replacing, the component will unmount, so don't reset\n\t\t\t\t// state (below) on an unmounted component.\n\t\t\t\treturn;\n\t\t\t} else if ( 'insert-at-caret' === completionObject.action ) {\n\t\t\t\tinsertCompletion( completionObject.value );\n\t\t\t}\n\t\t}\n\n\t\t// Reset autocomplete state after insertion rather than before\n\t\t// so insertion events don't cause the completion menu to redisplay.\n\t\treset();\n\t}\n\n\tfunction reset() {\n\t\tsetSelectedIndex( 0 );\n\t\tsetFilteredOptions( EMPTY_FILTERED_OPTIONS );\n\t\tsetFilterValue( '' );\n\t\tsetAutocompleter( null );\n\t\tsetAutocompleterUI( null );\n\t}\n\n\tfunction announce( options: Array< KeyedOption > ) {\n\t\tif ( ! debouncedSpeak ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( !! options.length ) {\n\t\t\tdebouncedSpeak(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\toptions.length\n\t\t\t\t\t),\n\t\t\t\t\toptions.length\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t} else {\n\t\t\tdebouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t}\n\t}\n\n\t/**\n\t * Load options for an autocompleter.\n\t *\n\t * @param {Array} options\n\t */\n\tfunction onChangeOptions( options: Array< KeyedOption > ) {\n\t\tsetSelectedIndex(\n\t\t\toptions.length === filteredOptions.length ? selectedIndex : 0\n\t\t);\n\t\tsetFilteredOptions( options );\n\t\tannounce( options );\n\t}\n\n\tfunction handleKeyDown( event: KeyboardEvent ) {\n\t\tbackspacing.current = event.key === 'Backspace';\n\n\t\tif ( ! autocompleter ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( filteredOptions.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.key ) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\tsetSelectedIndex(\n\t\t\t\t\t( selectedIndex === 0\n\t\t\t\t\t\t? filteredOptions.length\n\t\t\t\t\t\t: selectedIndex ) - 1\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\tsetSelectedIndex(\n\t\t\t\t\t( selectedIndex + 1 ) % filteredOptions.length\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tsetAutocompleter( null );\n\t\t\t\tsetAutocompleterUI( null );\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\tselect( filteredOptions[ selectedIndex ] );\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowLeft':\n\t\t\tcase 'ArrowRight':\n\t\t\t\treset();\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Any handled key should prevent original behavior. This relies on\n\t\t// the early return in the default case.\n\t\tevent.preventDefault();\n\t}\n\n\t// textContent is a primitive (string), memoizing is not strictly necessary\n\t// but this is a preemptive performance improvement, since the autocompleter\n\t// is a potential bottleneck for the editor type metric.\n\tconst textContent = useMemo( () => {\n\t\tif ( isCollapsed( record ) ) {\n\t\t\treturn getTextContent( slice( record, 0 ) );\n\t\t}\n\t\treturn '';\n\t}, [ record ] );\n\n\tuseEffect( () => {\n\t\tif ( ! textContent ) {\n\t\t\tif ( autocompleter ) reset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst completer = completers?.find(\n\t\t\t( { triggerPrefix, allowContext } ) => {\n\t\t\t\tconst index = textContent.lastIndexOf( triggerPrefix );\n\n\t\t\t\tif ( index === -1 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst textWithoutTrigger = textContent.slice(\n\t\t\t\t\tindex + triggerPrefix.length\n\t\t\t\t);\n\n\t\t\t\tconst tooDistantFromTrigger = textWithoutTrigger.length > 50; // 50 chars seems to be a good limit.\n\t\t\t\t// This is a final barrier to prevent the effect from completing with\n\t\t\t\t// an extremely long string, which causes the editor to slow-down\n\t\t\t\t// significantly. This could happen, for example, if `matchingWhileBackspacing`\n\t\t\t\t// is true and one of the \"words\" end up being too long. If that's the case,\n\t\t\t\t// it will be caught by this guard.\n\t\t\t\tif ( tooDistantFromTrigger ) return false;\n\n\t\t\t\tconst mismatch = filteredOptions.length === 0;\n\t\t\t\tconst wordsFromTrigger = textWithoutTrigger.split( /\\s/ );\n\t\t\t\t// We need to allow the effect to run when not backspacing and if there\n\t\t\t\t// was a mismatch. i.e when typing a trigger + the match string or when\n\t\t\t\t// clicking in an existing trigger word on the page. We do that if we\n\t\t\t\t// detect that we have one word from trigger in the current textual context.\n\t\t\t\t//\n\t\t\t\t// Ex.: \"Some text @a\" <-- \"@a\" will be detected as the trigger word and\n\t\t\t\t// allow the effect to run. It will run until there's a mismatch.\n\t\t\t\tconst hasOneTriggerWord = wordsFromTrigger.length === 1;\n\t\t\t\t// This is used to allow the effect to run when backspacing and if\n\t\t\t\t// \"touching\" a word that \"belongs\" to a trigger. We consider a \"trigger\n\t\t\t\t// word\" any word up to the limit of 3 from the trigger character.\n\t\t\t\t// Anything beyond that is ignored if there's a mismatch. This allows\n\t\t\t\t// us to \"escape\" a mismatch when backspacing, but still imposing some\n\t\t\t\t// sane limits.\n\t\t\t\t//\n\t\t\t\t// Ex: \"Some text @marcelo sekkkk\" <--- \"kkkk\" caused a mismatch, but\n\t\t\t\t// if the user presses backspace here, it will show the completion popup again.\n\t\t\t\tconst matchingWhileBackspacing =\n\t\t\t\t\tbackspacing.current &&\n\t\t\t\t\ttextWithoutTrigger.split( /\\s/ ).length <= 3;\n\n\t\t\t\tif (\n\t\t\t\t\tmismatch &&\n\t\t\t\t\t! ( matchingWhileBackspacing || hasOneTriggerWord )\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst textAfterSelection = getTextContent(\n\t\t\t\t\tslice( record, undefined, getTextContent( record ).length )\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\tallowContext &&\n\t\t\t\t\t! allowContext(\n\t\t\t\t\t\ttextContent.slice( 0, index ),\n\t\t\t\t\t\ttextAfterSelection\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t/^\\s/.test( textWithoutTrigger ) ||\n\t\t\t\t\t/\\s\\s+$/.test( textWithoutTrigger )\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn /[\\u0000-\\uFFFF]*$/.test( textWithoutTrigger );\n\t\t\t}\n\t\t);\n\n\t\tif ( ! completer ) {\n\t\t\tif ( autocompleter ) reset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst safeTrigger = escapeRegExp( completer.triggerPrefix );\n\t\tconst text = removeAccents( textContent );\n\t\tconst match = text\n\t\t\t.slice( text.lastIndexOf( completer.triggerPrefix ) )\n\t\t\t.match( new RegExp( `${ safeTrigger }([\\u0000-\\uFFFF]*)$` ) );\n\t\tconst query = match && match[ 1 ];\n\n\t\tsetAutocompleter( completer );\n\t\tsetAutocompleterUI( () =>\n\t\t\tcompleter !== autocompleter\n\t\t\t\t? getAutoCompleterUI( completer )\n\t\t\t\t: AutocompleterUI\n\t\t);\n\t\tsetFilterValue( query === null ? '' : query );\n\t\t// Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.\n\t\t// See https://github.com/WordPress/gutenberg/pull/41820\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ textContent ] );\n\n\tconst { key: selectedKey = '' } = filteredOptions[ selectedIndex ] || {};\n\tconst { className } = autocompleter || {};\n\tconst isExpanded = !! autocompleter && filteredOptions.length > 0;\n\tconst listBoxId = isExpanded\n\t\t? `components-autocomplete-listbox-${ instanceId }`\n\t\t: undefined;\n\tconst activeId = isExpanded\n\t\t? `components-autocomplete-item-${ instanceId }-${ selectedKey }`\n\t\t: null;\n\tconst hasSelection = record.start !== undefined;\n\n\treturn {\n\t\tlistBoxId,\n\t\tactiveId,\n\t\tonKeyDown: handleKeyDown,\n\t\tpopover: hasSelection && AutocompleterUI && (\n\t\t\t<AutocompleterUI\n\t\t\t\tclassName={ className }\n\t\t\t\tfilterValue={ filterValue }\n\t\t\t\tinstanceId={ instanceId }\n\t\t\t\tlistBoxId={ listBoxId }\n\t\t\t\tselectedIndex={ selectedIndex }\n\t\t\t\tonChangeOptions={ onChangeOptions }\n\t\t\t\tonSelect={ select }\n\t\t\t\tvalue={ record }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\treset={ reset }\n\t\t\t/>\n\t\t),\n\t};\n}\n\nfunction useLastDifferentValue( value: UseAutocompleteProps[ 'record' ] ) {\n\tconst history = useRef< Set< typeof value > >( new Set() );\n\n\thistory.current.add( value );\n\n\t// Keep the history size to 2.\n\tif ( history.current.size > 2 ) {\n\t\thistory.current.delete( Array.from( history.current )[ 0 ] );\n\t}\n\n\treturn Array.from( history.current )[ 0 ];\n}\n\nexport function useAutocompleteProps( options: UseAutocompleteProps ) {\n\tconst ref = useRef< HTMLElement >( null );\n\tconst onKeyDownRef = useRef< ( event: KeyboardEvent ) => void >();\n\tconst { record } = options;\n\tconst previousRecord = useLastDifferentValue( record );\n\tconst { popover, listBoxId, activeId, onKeyDown } = useAutocomplete( {\n\t\t...options,\n\t\tcontentRef: ref,\n\t} );\n\tonKeyDownRef.current = onKeyDown;\n\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tuseRefEffect( ( element: HTMLElement ) => {\n\t\t\tfunction _onKeyDown( event: KeyboardEvent ) {\n\t\t\t\tonKeyDownRef.current?.( event );\n\t\t\t}\n\t\t\telement.addEventListener( 'keydown', _onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', _onKeyDown );\n\t\t\t};\n\t\t}, [] ),\n\t] );\n\n\t// We only want to show the popover if the user has typed something.\n\tconst didUserInput = record.text !== previousRecord?.text;\n\n\tif ( ! didUserInput ) {\n\t\treturn { ref: mergedRefs };\n\t}\n\n\treturn {\n\t\tref: mergedRefs,\n\t\tchildren: popover,\n\t\t'aria-autocomplete': listBoxId ? 'list' : undefined,\n\t\t'aria-owns': listBoxId,\n\t\t'aria-activedescendant': activeId,\n\t};\n}\n\nexport default function Autocomplete( {\n\tchildren,\n\tisSelected,\n\t...options\n}: AutocompleteProps ) {\n\tconst { popover, ...props } = useAutocomplete( options );\n\treturn (\n\t\t<>\n\t\t\t{ children( props ) }\n\t\t\t{ isSelected && popover }\n\t\t</>\n\t);\n}\n"]}
@@ -56,16 +56,15 @@ var _hooks = require("./hooks");
56
56
  * );
57
57
  * ```
58
58
  */
59
- const BaseControl = _ref => {
60
- let {
61
- __nextHasNoMarginBottom = false,
62
- id,
63
- label,
64
- hideLabelFromVision = false,
65
- help,
66
- className,
67
- children
68
- } = _ref;
59
+ const BaseControl = ({
60
+ __nextHasNoMarginBottom = false,
61
+ id,
62
+ label,
63
+ hideLabelFromVision = false,
64
+ help,
65
+ className,
66
+ children
67
+ }) => {
69
68
  return (0, _element.createElement)(_baseControlStyles.Wrapper, {
70
69
  className: (0, _classnames.default)('components-base-control', className)
71
70
  }, (0, _element.createElement)(_baseControlStyles.StyledField, {
@@ -107,12 +106,11 @@ const BaseControl = _ref => {
107
106
 
108
107
  exports.BaseControl = BaseControl;
109
108
 
110
- const VisualLabel = _ref2 => {
111
- let {
112
- className,
113
- children,
114
- ...props
115
- } = _ref2;
109
+ const VisualLabel = ({
110
+ className,
111
+ children,
112
+ ...props
113
+ }) => {
116
114
  return (0, _element.createElement)(_baseControlStyles.StyledVisualLabel, (0, _extends2.default)({}, props, {
117
115
  className: (0, _classnames.default)('components-base-control__label', className)
118
116
  }), children);