@wordpress/components 19.11.0 → 19.14.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 (1322) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/CONTRIBUTING.md +94 -12
  3. package/README.md +1 -1
  4. package/build/alignment-matrix-control/index.js +8 -5
  5. package/build/alignment-matrix-control/index.js.map +1 -1
  6. package/build/alignment-matrix-control/utils.js +1 -7
  7. package/build/alignment-matrix-control/utils.js.map +1 -1
  8. package/build/angle-picker-control/index.js +2 -2
  9. package/build/angle-picker-control/index.js.map +1 -1
  10. package/build/autocomplete/autocompleter-ui.js +3 -1
  11. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  12. package/build/autocomplete/autocompleter-ui.native.js +8 -2
  13. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  14. package/build/autocomplete/index.js +14 -10
  15. package/build/autocomplete/index.js.map +1 -1
  16. package/build/border-box-control/border-box-control/component.js +2 -1
  17. package/build/border-box-control/border-box-control/component.js.map +1 -1
  18. package/build/border-box-control/border-box-control/hook.js +2 -2
  19. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  20. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  21. package/build/border-box-control/border-box-control-split-controls/component.js +4 -1
  22. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  23. package/build/border-box-control/border-box-control-split-controls/hook.js +13 -4
  24. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  25. package/build/border-box-control/border-box-control-visualizer/hook.js +6 -2
  26. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  27. package/build/border-box-control/styles.js +21 -11
  28. package/build/border-box-control/styles.js.map +1 -1
  29. package/build/border-box-control/utils.js.map +1 -1
  30. package/build/border-control/border-control/component.js +40 -4
  31. package/build/border-control/border-control/component.js.map +1 -1
  32. package/build/border-control/border-control/hook.js +2 -2
  33. package/build/border-control/border-control/hook.js.map +1 -1
  34. package/build/box-control/all-input-control.js +6 -10
  35. package/build/box-control/all-input-control.js.map +1 -1
  36. package/build/box-control/axial-input-controls.js.map +1 -1
  37. package/build/box-control/index.js +3 -7
  38. package/build/box-control/index.js.map +1 -1
  39. package/build/box-control/input-controls.js +6 -10
  40. package/build/box-control/input-controls.js.map +1 -1
  41. package/build/box-control/unit-control.js +4 -4
  42. package/build/box-control/unit-control.js.map +1 -1
  43. package/build/box-control/utils.js +3 -3
  44. package/build/box-control/utils.js.map +1 -1
  45. package/build/button/index.native.js +1 -3
  46. package/build/button/index.native.js.map +1 -1
  47. package/build/checkbox-control/index.js.map +1 -1
  48. package/build/color-indicator/index.js +27 -10
  49. package/build/color-indicator/index.js.map +1 -1
  50. package/build/color-indicator/types.js +6 -0
  51. package/build/color-indicator/types.js.map +1 -0
  52. package/build/color-palette/index.js +11 -3
  53. package/build/color-palette/index.js.map +1 -1
  54. package/build/color-palette/index.native.js +4 -1
  55. package/build/color-palette/index.native.js.map +1 -1
  56. package/build/color-picker/color-copy-button.js +87 -0
  57. package/build/color-picker/color-copy-button.js.map +1 -0
  58. package/build/color-picker/component.js +10 -23
  59. package/build/color-picker/component.js.map +1 -1
  60. package/build/color-picker/hex-input.js +18 -1
  61. package/build/color-picker/hex-input.js.map +1 -1
  62. package/build/color-picker/index.native.js.map +1 -1
  63. package/build/color-picker/input-with-slider.js +1 -2
  64. package/build/color-picker/input-with-slider.js.map +1 -1
  65. package/build/color-picker/styles.js +37 -19
  66. package/build/color-picker/styles.js.map +1 -1
  67. package/build/combobox-control/index.js +4 -2
  68. package/build/combobox-control/index.js.map +1 -1
  69. package/build/confirm-dialog/component.js.map +1 -1
  70. package/build/custom-gradient-bar/constants.js +1 -3
  71. package/build/custom-gradient-bar/constants.js.map +1 -1
  72. package/build/custom-gradient-bar/control-points.js +15 -8
  73. package/build/custom-gradient-bar/control-points.js.map +1 -1
  74. package/build/custom-gradient-bar/index.js +5 -5
  75. package/build/custom-gradient-bar/index.js.map +1 -1
  76. package/build/custom-gradient-bar/utils.js +5 -7
  77. package/build/custom-gradient-bar/utils.js.map +1 -1
  78. package/build/custom-gradient-picker/index.js +8 -8
  79. package/build/custom-gradient-picker/index.js.map +1 -1
  80. package/build/custom-gradient-picker/index.native.js +8 -9
  81. package/build/custom-gradient-picker/index.native.js.map +1 -1
  82. package/build/custom-gradient-picker/serializer.js +4 -7
  83. package/build/custom-gradient-picker/serializer.js.map +1 -1
  84. package/build/custom-gradient-picker/utils.js +1 -1
  85. package/build/custom-gradient-picker/utils.js.map +1 -1
  86. package/build/custom-select-control/index.js.map +1 -1
  87. package/build/date-time/{date.js → date/index.js} +57 -16
  88. package/build/date-time/date/index.js.map +1 -0
  89. package/build/date-time/date/styles.js +70 -0
  90. package/build/date-time/date/styles.js.map +1 -0
  91. package/build/date-time/{utils.js → date/utils.js} +0 -0
  92. package/build/date-time/date/utils.js.map +1 -0
  93. package/build/date-time/date-time/index.js +177 -0
  94. package/build/date-time/date-time/index.js.map +1 -0
  95. package/build/date-time/date-time/styles.js +32 -0
  96. package/build/date-time/date-time/styles.js.map +1 -0
  97. package/build/date-time/index.js +2 -109
  98. package/build/date-time/index.js.map +1 -1
  99. package/build/date-time/time/index.js +322 -0
  100. package/build/date-time/time/index.js.map +1 -0
  101. package/build/date-time/time/styles.js +139 -0
  102. package/build/date-time/time/styles.js.map +1 -0
  103. package/build/date-time/{timezone.js → time/timezone.js} +4 -2
  104. package/build/date-time/time/timezone.js.map +1 -0
  105. package/build/dimension-control/index.js +1 -3
  106. package/build/dimension-control/index.js.map +1 -1
  107. package/build/divider/styles.js +5 -5
  108. package/build/divider/styles.js.map +1 -1
  109. package/build/draggable/index.js.map +1 -1
  110. package/build/draggable/index.native.js +16 -6
  111. package/build/draggable/index.native.js.map +1 -1
  112. package/build/drop-zone/provider.js.map +1 -1
  113. package/build/dropdown/index.js +6 -3
  114. package/build/dropdown/index.js.map +1 -1
  115. package/build/dropdown-menu/index.js +13 -2
  116. package/build/dropdown-menu/index.js.map +1 -1
  117. package/build/dropdown-menu/index.native.js +13 -2
  118. package/build/dropdown-menu/index.native.js.map +1 -1
  119. package/build/duotone-picker/duotone-picker.js +42 -29
  120. package/build/duotone-picker/duotone-picker.js.map +1 -1
  121. package/build/elevation/hook.js +13 -13
  122. package/build/elevation/hook.js.map +1 -1
  123. package/build/external-link/index.js +20 -8
  124. package/build/external-link/index.js.map +1 -1
  125. package/build/external-link/styles/external-link-styles.js +3 -3
  126. package/build/external-link/styles/external-link-styles.js.map +1 -1
  127. package/build/external-link/types.js +6 -0
  128. package/build/external-link/types.js.map +1 -0
  129. package/build/flex/flex/hook.js +9 -5
  130. package/build/flex/flex/hook.js.map +1 -1
  131. package/build/focal-point-picker/controls.js +3 -7
  132. package/build/focal-point-picker/controls.js.map +1 -1
  133. package/build/focal-point-picker/index.js.map +1 -1
  134. package/build/focal-point-picker/index.native.js +4 -4
  135. package/build/focal-point-picker/index.native.js.map +1 -1
  136. package/build/focal-point-picker/media.js +4 -8
  137. package/build/focal-point-picker/media.js.map +1 -1
  138. package/build/font-size-picker/index.js +1 -1
  139. package/build/font-size-picker/index.js.map +1 -1
  140. package/build/form-toggle/index.js +34 -9
  141. package/build/form-toggle/index.js.map +1 -1
  142. package/build/form-toggle/types.js +6 -0
  143. package/build/form-toggle/types.js.map +1 -0
  144. package/build/form-token-field/index.js +328 -359
  145. package/build/form-token-field/index.js.map +1 -1
  146. package/build/form-token-field/suggestions-list.js +26 -20
  147. package/build/form-token-field/suggestions-list.js.map +1 -1
  148. package/build/form-token-field/token-input.js +39 -53
  149. package/build/form-token-field/token-input.js.map +1 -1
  150. package/build/form-token-field/token.js +3 -3
  151. package/build/form-token-field/token.js.map +1 -1
  152. package/build/form-token-field/types.js +6 -0
  153. package/build/form-token-field/types.js.map +1 -0
  154. package/build/gradient-picker/index.js.map +1 -1
  155. package/build/h-stack/utils.js +3 -3
  156. package/build/h-stack/utils.js.map +1 -1
  157. package/build/heading/component.js +0 -1
  158. package/build/heading/component.js.map +1 -1
  159. package/build/heading/hook.js.map +1 -1
  160. package/build/heading/types.js +6 -0
  161. package/build/heading/types.js.map +1 -0
  162. package/build/higher-order/navigate-regions/index.js.map +1 -1
  163. package/build/higher-order/with-focus-return/index.js.map +1 -1
  164. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  165. package/build/icon/index.js.map +1 -1
  166. package/build/input-control/index.js +14 -9
  167. package/build/input-control/index.js.map +1 -1
  168. package/build/input-control/input-field.js +11 -36
  169. package/build/input-control/input-field.js.map +1 -1
  170. package/build/input-control/reducer/reducer.js +36 -24
  171. package/build/input-control/reducer/reducer.js.map +1 -1
  172. package/build/input-control/reducer/state.js +0 -1
  173. package/build/input-control/reducer/state.js.map +1 -1
  174. package/build/input-control/utils.js +46 -1
  175. package/build/input-control/utils.js.map +1 -1
  176. package/build/menu-items-choice/index.js +3 -7
  177. package/build/menu-items-choice/index.js.map +1 -1
  178. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  179. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  180. package/build/mobile/bottom-sheet/cycle-picker-cell.native.js +1 -7
  181. package/build/mobile/bottom-sheet/cycle-picker-cell.native.js.map +1 -1
  182. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  183. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  184. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  185. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  186. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  187. package/build/mobile/color-settings/index.native.js.map +1 -1
  188. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  189. package/build/mobile/gradient/index.native.js.map +1 -1
  190. package/build/mobile/html-text-input/index.native.js.map +1 -1
  191. package/build/mobile/inserter-button/index.native.js.map +1 -1
  192. package/build/mobile/link-picker/index.native.js +4 -4
  193. package/build/mobile/link-picker/index.native.js.map +1 -1
  194. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  195. package/build/mobile/media-edit/index.native.js.map +1 -1
  196. package/build/mobile/segmented-control/index.native.js +3 -5
  197. package/build/mobile/segmented-control/index.native.js.map +1 -1
  198. package/build/modal/index.js +1 -1
  199. package/build/modal/index.js.map +1 -1
  200. package/build/navigable-container/container.js +4 -2
  201. package/build/navigable-container/container.js.map +1 -1
  202. package/build/navigation/context.js +12 -16
  203. package/build/navigation/context.js.map +1 -1
  204. package/build/navigation/group/index.js +4 -7
  205. package/build/navigation/group/index.js.map +1 -1
  206. package/build/navigation/index.js +3 -3
  207. package/build/navigation/index.js.map +1 -1
  208. package/build/navigation/item/base.js +3 -3
  209. package/build/navigation/item/base.js.map +1 -1
  210. package/build/navigation/item/index.js +3 -3
  211. package/build/navigation/item/index.js.map +1 -1
  212. package/build/navigation/item/use-navigation-tree-item.js +2 -1
  213. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  214. package/build/navigation/menu/menu-title-search.js +1 -7
  215. package/build/navigation/menu/menu-title-search.js.map +1 -1
  216. package/build/navigation/menu/search-no-results-found.js +1 -7
  217. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  218. package/build/navigation/use-navigation-tree-nodes.js +18 -10
  219. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  220. package/build/navigation/utils.js +4 -2
  221. package/build/navigation/utils.js.map +1 -1
  222. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  223. package/build/navigator/navigator-button/hook.js.map +1 -1
  224. package/build/navigator/navigator-provider/component.js +1 -1
  225. package/build/navigator/navigator-provider/component.js.map +1 -1
  226. package/build/navigator/navigator-screen/component.js +1 -1
  227. package/build/navigator/navigator-screen/component.js.map +1 -1
  228. package/build/notice/index.js +5 -5
  229. package/build/notice/index.js.map +1 -1
  230. package/build/notice/list.js +4 -2
  231. package/build/notice/list.js.map +1 -1
  232. package/build/panel/body.js +3 -3
  233. package/build/panel/body.js.map +1 -1
  234. package/build/placeholder/index.js +26 -12
  235. package/build/placeholder/index.js.map +1 -1
  236. package/build/popover/index.js +40 -33
  237. package/build/popover/index.js.map +1 -1
  238. package/build/radio-control/index.js +43 -7
  239. package/build/radio-control/index.js.map +1 -1
  240. package/build/radio-control/types.js +6 -0
  241. package/build/radio-control/types.js.map +1 -0
  242. package/build/range-control/index.js +11 -9
  243. package/build/range-control/index.js.map +1 -1
  244. package/build/range-control/input-range.js +6 -10
  245. package/build/range-control/input-range.js.map +1 -1
  246. package/build/range-control/utils.js +10 -12
  247. package/build/range-control/utils.js.map +1 -1
  248. package/build/resizable-box/resize-tooltip/index.js +3 -3
  249. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  250. package/build/resizable-box/resize-tooltip/utils.js +4 -7
  251. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  252. package/build/responsive-wrapper/index.js.map +1 -1
  253. package/build/search-control/index.js +4 -6
  254. package/build/search-control/index.js.map +1 -1
  255. package/build/select-control/index.js +8 -4
  256. package/build/select-control/index.js.map +1 -1
  257. package/build/slot-fill/fill.js +1 -7
  258. package/build/slot-fill/fill.js.map +1 -1
  259. package/build/slot-fill/slot.js +14 -3
  260. package/build/slot-fill/slot.js.map +1 -1
  261. package/build/snackbar/index.js +7 -7
  262. package/build/snackbar/index.js.map +1 -1
  263. package/build/snackbar/list.js +3 -1
  264. package/build/snackbar/list.js.map +1 -1
  265. package/build/spacer/component.js +5 -5
  266. package/build/spacer/component.js.map +1 -1
  267. package/build/spacer/hook.js +11 -3
  268. package/build/spacer/hook.js.map +1 -1
  269. package/build/spinner/index.js +26 -13
  270. package/build/spinner/index.js.map +1 -1
  271. package/build/spinner/styles.js +10 -10
  272. package/build/spinner/styles.js.map +1 -1
  273. package/build/surface/component.js +7 -7
  274. package/build/surface/component.js.map +1 -1
  275. package/build/surface/hook.js +8 -11
  276. package/build/surface/hook.js.map +1 -1
  277. package/build/surface/index.js.map +1 -1
  278. package/build/surface/styles.js +8 -48
  279. package/build/surface/styles.js.map +1 -1
  280. package/build/tab-panel/index.js +3 -1
  281. package/build/tab-panel/index.js.map +1 -1
  282. package/build/text/hook.js +4 -4
  283. package/build/text/hook.js.map +1 -1
  284. package/build/text/utils.js.map +1 -1
  285. package/build/textarea-control/index.js +40 -6
  286. package/build/textarea-control/index.js.map +1 -1
  287. package/build/textarea-control/styles/textarea-control-styles.js +3 -3
  288. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  289. package/build/textarea-control/types.js +6 -0
  290. package/build/textarea-control/types.js.map +1 -0
  291. package/build/toggle-control/index.js +1 -3
  292. package/build/toggle-control/index.js.map +1 -1
  293. package/build/toggle-control/index.native.js +1 -7
  294. package/build/toggle-control/index.native.js.map +1 -1
  295. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  296. package/build/toolbar/index.js.map +1 -1
  297. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  298. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  299. package/build/tooltip/index.js +2 -1
  300. package/build/tooltip/index.js.map +1 -1
  301. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  302. package/build/tree-select/index.js +57 -4
  303. package/build/tree-select/index.js.map +1 -1
  304. package/build/tree-select/types.js +6 -0
  305. package/build/tree-select/types.js.map +1 -0
  306. package/build/truncate/component.js +7 -8
  307. package/build/truncate/component.js.map +1 -1
  308. package/build/truncate/hook.js +3 -10
  309. package/build/truncate/hook.js.map +1 -1
  310. package/build/truncate/index.js.map +1 -1
  311. package/build/truncate/styles.js +1 -1
  312. package/build/truncate/styles.js.map +1 -1
  313. package/build/truncate/utils.js +3 -16
  314. package/build/truncate/utils.js.map +1 -1
  315. package/build/ui/form-group/form-group-content.js.map +1 -1
  316. package/build/unit-control/index.js.map +1 -1
  317. package/build/utils/hooks/index.js +0 -8
  318. package/build/utils/hooks/index.js.map +1 -1
  319. package/build/utils/math.js +17 -7
  320. package/build/utils/math.js.map +1 -1
  321. package/build/utils/unit-values.js.map +1 -1
  322. package/build/utils/values.js.map +1 -1
  323. package/build/v-stack/component.js +9 -9
  324. package/build/v-stack/component.js.map +1 -1
  325. package/build/v-stack/hook.js +0 -5
  326. package/build/v-stack/hook.js.map +1 -1
  327. package/build/v-stack/index.js.map +1 -1
  328. package/build/z-stack/component.js +22 -3
  329. package/build/z-stack/component.js.map +1 -1
  330. package/build/z-stack/types.js +6 -0
  331. package/build/z-stack/types.js.map +1 -0
  332. package/build-module/alignment-matrix-control/index.js +7 -3
  333. package/build-module/alignment-matrix-control/index.js.map +1 -1
  334. package/build-module/alignment-matrix-control/utils.js +1 -6
  335. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  336. package/build-module/angle-picker-control/index.js +1 -1
  337. package/build-module/angle-picker-control/index.js.map +1 -1
  338. package/build-module/autocomplete/autocompleter-ui.js +3 -1
  339. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  340. package/build-module/autocomplete/autocompleter-ui.native.js +8 -2
  341. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  342. package/build-module/autocomplete/index.js +15 -11
  343. package/build-module/autocomplete/index.js.map +1 -1
  344. package/build-module/border-box-control/border-box-control/component.js +2 -1
  345. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  346. package/build-module/border-box-control/border-box-control/hook.js +2 -2
  347. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  348. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  349. package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -1
  350. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  351. package/build-module/border-box-control/border-box-control-split-controls/hook.js +11 -4
  352. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  353. package/build-module/border-box-control/border-box-control-visualizer/hook.js +4 -2
  354. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  355. package/build-module/border-box-control/styles.js +13 -8
  356. package/build-module/border-box-control/styles.js.map +1 -1
  357. package/build-module/border-box-control/utils.js.map +1 -1
  358. package/build-module/border-control/border-control/component.js +38 -3
  359. package/build-module/border-control/border-control/component.js.map +1 -1
  360. package/build-module/border-control/border-control/hook.js +2 -2
  361. package/build-module/border-control/border-control/hook.js.map +1 -1
  362. package/build-module/box-control/all-input-control.js +3 -5
  363. package/build-module/box-control/all-input-control.js.map +1 -1
  364. package/build-module/box-control/axial-input-controls.js.map +1 -1
  365. package/build-module/box-control/index.js +2 -5
  366. package/build-module/box-control/index.js.map +1 -1
  367. package/build-module/box-control/input-controls.js +3 -5
  368. package/build-module/box-control/input-controls.js.map +1 -1
  369. package/build-module/box-control/unit-control.js +3 -1
  370. package/build-module/box-control/unit-control.js.map +1 -1
  371. package/build-module/box-control/utils.js +4 -4
  372. package/build-module/box-control/utils.js.map +1 -1
  373. package/build-module/button/index.native.js +1 -2
  374. package/build-module/button/index.native.js.map +1 -1
  375. package/build-module/checkbox-control/index.js.map +1 -1
  376. package/build-module/color-indicator/index.js +29 -8
  377. package/build-module/color-indicator/index.js.map +1 -1
  378. package/build-module/color-indicator/types.js +2 -0
  379. package/build-module/color-indicator/types.js.map +1 -0
  380. package/build-module/color-palette/index.js +9 -6
  381. package/build-module/color-palette/index.js.map +1 -1
  382. package/build-module/color-palette/index.native.js +4 -1
  383. package/build-module/color-palette/index.native.js.map +1 -1
  384. package/build-module/color-picker/color-copy-button.js +73 -0
  385. package/build-module/color-picker/color-copy-button.js.map +1 -0
  386. package/build-module/color-picker/component.js +11 -21
  387. package/build-module/color-picker/component.js.map +1 -1
  388. package/build-module/color-picker/hex-input.js +18 -1
  389. package/build-module/color-picker/hex-input.js.map +1 -1
  390. package/build-module/color-picker/index.native.js.map +1 -1
  391. package/build-module/color-picker/input-with-slider.js +1 -2
  392. package/build-module/color-picker/input-with-slider.js.map +1 -1
  393. package/build-module/color-picker/styles.js +30 -16
  394. package/build-module/color-picker/styles.js.map +1 -1
  395. package/build-module/combobox-control/index.js +5 -2
  396. package/build-module/combobox-control/index.js.map +1 -1
  397. package/build-module/confirm-dialog/component.js.map +1 -1
  398. package/build-module/custom-gradient-bar/constants.js +0 -1
  399. package/build-module/custom-gradient-bar/constants.js.map +1 -1
  400. package/build-module/custom-gradient-bar/control-points.js +16 -9
  401. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  402. package/build-module/custom-gradient-bar/index.js +6 -6
  403. package/build-module/custom-gradient-bar/index.js.map +1 -1
  404. package/build-module/custom-gradient-bar/utils.js +6 -8
  405. package/build-module/custom-gradient-bar/utils.js.map +1 -1
  406. package/build-module/custom-gradient-picker/index.js +8 -7
  407. package/build-module/custom-gradient-picker/index.js.map +1 -1
  408. package/build-module/custom-gradient-picker/index.native.js +8 -8
  409. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  410. package/build-module/custom-gradient-picker/serializer.js +4 -6
  411. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  412. package/build-module/custom-gradient-picker/utils.js +1 -1
  413. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  414. package/build-module/custom-select-control/index.js.map +1 -1
  415. package/build-module/date-time/{date.js → date/index.js} +51 -16
  416. package/build-module/date-time/date/index.js.map +1 -0
  417. package/build-module/date-time/date/styles.js +61 -0
  418. package/build-module/date-time/date/styles.js.map +1 -0
  419. package/build-module/date-time/{utils.js → date/utils.js} +0 -0
  420. package/build-module/date-time/date/utils.js.map +1 -0
  421. package/build-module/date-time/date-time/index.js +147 -0
  422. package/build-module/date-time/date-time/index.js.map +1 -0
  423. package/build-module/date-time/date-time/styles.js +22 -0
  424. package/build-module/date-time/date-time/styles.js.map +1 -0
  425. package/build-module/date-time/index.js +1 -105
  426. package/build-module/date-time/index.js.map +1 -1
  427. package/build-module/date-time/time/index.js +302 -0
  428. package/build-module/date-time/time/index.js.map +1 -0
  429. package/build-module/date-time/time/styles.js +118 -0
  430. package/build-module/date-time/time/styles.js.map +1 -0
  431. package/build-module/date-time/{timezone.js → time/timezone.js} +3 -2
  432. package/build-module/date-time/time/timezone.js.map +1 -0
  433. package/build-module/dimension-control/index.js +1 -2
  434. package/build-module/dimension-control/index.js.map +1 -1
  435. package/build-module/divider/styles.js +5 -5
  436. package/build-module/divider/styles.js.map +1 -1
  437. package/build-module/draggable/index.js.map +1 -1
  438. package/build-module/draggable/index.native.js +16 -6
  439. package/build-module/draggable/index.native.js.map +1 -1
  440. package/build-module/drop-zone/provider.js.map +1 -1
  441. package/build-module/dropdown/index.js +6 -3
  442. package/build-module/dropdown/index.js.map +1 -1
  443. package/build-module/dropdown-menu/index.js +12 -1
  444. package/build-module/dropdown-menu/index.js.map +1 -1
  445. package/build-module/dropdown-menu/index.native.js +12 -1
  446. package/build-module/dropdown-menu/index.native.js.map +1 -1
  447. package/build-module/duotone-picker/duotone-picker.js +42 -29
  448. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  449. package/build-module/elevation/hook.js +12 -12
  450. package/build-module/elevation/hook.js.map +1 -1
  451. package/build-module/external-link/index.js +22 -7
  452. package/build-module/external-link/index.js.map +1 -1
  453. package/build-module/external-link/styles/external-link-styles.js +3 -3
  454. package/build-module/external-link/styles/external-link-styles.js.map +1 -1
  455. package/build-module/external-link/types.js +2 -0
  456. package/build-module/external-link/types.js.map +1 -0
  457. package/build-module/flex/flex/hook.js +7 -5
  458. package/build-module/flex/flex/hook.js.map +1 -1
  459. package/build-module/focal-point-picker/controls.js +3 -5
  460. package/build-module/focal-point-picker/controls.js.map +1 -1
  461. package/build-module/focal-point-picker/index.js.map +1 -1
  462. package/build-module/focal-point-picker/index.native.js +1 -1
  463. package/build-module/focal-point-picker/index.native.js.map +1 -1
  464. package/build-module/focal-point-picker/media.js +3 -5
  465. package/build-module/focal-point-picker/media.js.map +1 -1
  466. package/build-module/font-size-picker/index.js +1 -1
  467. package/build-module/font-size-picker/index.js.map +1 -1
  468. package/build-module/form-toggle/index.js +31 -7
  469. package/build-module/form-toggle/index.js.map +1 -1
  470. package/build-module/form-toggle/types.js +2 -0
  471. package/build-module/form-toggle/types.js.map +1 -0
  472. package/build-module/form-token-field/index.js +329 -361
  473. package/build-module/form-token-field/index.js.map +1 -1
  474. package/build-module/form-token-field/suggestions-list.js +32 -23
  475. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  476. package/build-module/form-token-field/token-input.js +43 -58
  477. package/build-module/form-token-field/token-input.js.map +1 -1
  478. package/build-module/form-token-field/token.js +3 -1
  479. package/build-module/form-token-field/token.js.map +1 -1
  480. package/build-module/form-token-field/types.js +2 -0
  481. package/build-module/form-token-field/types.js.map +1 -0
  482. package/build-module/gradient-picker/index.js.map +1 -1
  483. package/build-module/h-stack/utils.js +3 -3
  484. package/build-module/h-stack/utils.js.map +1 -1
  485. package/build-module/heading/component.js +0 -1
  486. package/build-module/heading/component.js.map +1 -1
  487. package/build-module/heading/hook.js.map +1 -1
  488. package/build-module/heading/types.js +2 -0
  489. package/build-module/heading/types.js.map +1 -0
  490. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  491. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  492. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  493. package/build-module/icon/index.js.map +1 -1
  494. package/build-module/input-control/index.js +10 -5
  495. package/build-module/input-control/index.js.map +1 -1
  496. package/build-module/input-control/input-field.js +3 -26
  497. package/build-module/input-control/input-field.js.map +1 -1
  498. package/build-module/input-control/reducer/reducer.js +38 -26
  499. package/build-module/input-control/reducer/reducer.js.map +1 -1
  500. package/build-module/input-control/reducer/state.js +0 -1
  501. package/build-module/input-control/reducer/state.js.map +1 -1
  502. package/build-module/input-control/utils.js +49 -3
  503. package/build-module/input-control/utils.js.map +1 -1
  504. package/build-module/menu-items-choice/index.js +3 -5
  505. package/build-module/menu-items-choice/index.js.map +1 -1
  506. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  507. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  508. package/build-module/mobile/bottom-sheet/cycle-picker-cell.native.js +1 -6
  509. package/build-module/mobile/bottom-sheet/cycle-picker-cell.native.js.map +1 -1
  510. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  511. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  512. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  513. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  514. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  515. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  516. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  517. package/build-module/mobile/gradient/index.native.js.map +1 -1
  518. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  519. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  520. package/build-module/mobile/link-picker/index.native.js +4 -3
  521. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  522. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  523. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  524. package/build-module/mobile/segmented-control/index.native.js +3 -4
  525. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  526. package/build-module/modal/index.js +1 -1
  527. package/build-module/modal/index.js.map +1 -1
  528. package/build-module/navigable-container/container.js +5 -2
  529. package/build-module/navigable-container/container.js.map +1 -1
  530. package/build-module/navigation/context.js +3 -5
  531. package/build-module/navigation/context.js.map +1 -1
  532. package/build-module/navigation/group/index.js +3 -6
  533. package/build-module/navigation/group/index.js.map +1 -1
  534. package/build-module/navigation/index.js +3 -1
  535. package/build-module/navigation/index.js.map +1 -1
  536. package/build-module/navigation/item/base.js +2 -2
  537. package/build-module/navigation/item/base.js.map +1 -1
  538. package/build-module/navigation/item/index.js +3 -1
  539. package/build-module/navigation/item/index.js.map +1 -1
  540. package/build-module/navigation/item/use-navigation-tree-item.js +2 -1
  541. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  542. package/build-module/navigation/menu/menu-title-search.js +1 -6
  543. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  544. package/build-module/navigation/menu/search-no-results-found.js +1 -6
  545. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  546. package/build-module/navigation/use-navigation-tree-nodes.js +18 -9
  547. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  548. package/build-module/navigation/utils.js +2 -2
  549. package/build-module/navigation/utils.js.map +1 -1
  550. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  551. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  552. package/build-module/navigator/navigator-provider/component.js +1 -1
  553. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  554. package/build-module/navigator/navigator-screen/component.js +1 -1
  555. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  556. package/build-module/notice/index.js +2 -1
  557. package/build-module/notice/index.js.map +1 -1
  558. package/build-module/notice/list.js +4 -1
  559. package/build-module/notice/list.js.map +1 -1
  560. package/build-module/panel/body.js +3 -1
  561. package/build-module/panel/body.js.map +1 -1
  562. package/build-module/placeholder/index.js +24 -11
  563. package/build-module/placeholder/index.js.map +1 -1
  564. package/build-module/popover/index.js +40 -33
  565. package/build-module/popover/index.js.map +1 -1
  566. package/build-module/radio-control/index.js +40 -7
  567. package/build-module/radio-control/index.js.map +1 -1
  568. package/build-module/radio-control/types.js +2 -0
  569. package/build-module/radio-control/types.js.map +1 -0
  570. package/build-module/range-control/index.js +4 -2
  571. package/build-module/range-control/index.js.map +1 -1
  572. package/build-module/range-control/input-range.js +2 -5
  573. package/build-module/range-control/input-range.js.map +1 -1
  574. package/build-module/range-control/utils.js +4 -5
  575. package/build-module/range-control/utils.js.map +1 -1
  576. package/build-module/resizable-box/resize-tooltip/index.js +2 -1
  577. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  578. package/build-module/resizable-box/resize-tooltip/utils.js +3 -5
  579. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  580. package/build-module/responsive-wrapper/index.js.map +1 -1
  581. package/build-module/search-control/index.js +6 -7
  582. package/build-module/search-control/index.js.map +1 -1
  583. package/build-module/select-control/index.js +6 -2
  584. package/build-module/select-control/index.js.map +1 -1
  585. package/build-module/slot-fill/fill.js +1 -6
  586. package/build-module/slot-fill/fill.js.map +1 -1
  587. package/build-module/slot-fill/slot.js +12 -2
  588. package/build-module/slot-fill/slot.js.map +1 -1
  589. package/build-module/snackbar/index.js +3 -1
  590. package/build-module/snackbar/index.js.map +1 -1
  591. package/build-module/snackbar/list.js +4 -1
  592. package/build-module/snackbar/list.js.map +1 -1
  593. package/build-module/spacer/component.js +3 -4
  594. package/build-module/spacer/component.js.map +1 -1
  595. package/build-module/spacer/hook.js +10 -2
  596. package/build-module/spacer/hook.js.map +1 -1
  597. package/build-module/spinner/index.js +22 -13
  598. package/build-module/spinner/index.js.map +1 -1
  599. package/build-module/spinner/styles.js +10 -10
  600. package/build-module/spinner/styles.js.map +1 -1
  601. package/build-module/surface/component.js +7 -7
  602. package/build-module/surface/component.js.map +1 -1
  603. package/build-module/surface/hook.js +8 -11
  604. package/build-module/surface/hook.js.map +1 -1
  605. package/build-module/surface/index.js.map +1 -1
  606. package/build-module/surface/styles.js +8 -48
  607. package/build-module/surface/styles.js.map +1 -1
  608. package/build-module/tab-panel/index.js +3 -1
  609. package/build-module/tab-panel/index.js.map +1 -1
  610. package/build-module/text/hook.js +4 -4
  611. package/build-module/text/hook.js.map +1 -1
  612. package/build-module/text/utils.js.map +1 -1
  613. package/build-module/textarea-control/index.js +36 -5
  614. package/build-module/textarea-control/index.js.map +1 -1
  615. package/build-module/textarea-control/styles/textarea-control-styles.js +3 -3
  616. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  617. package/build-module/textarea-control/types.js +2 -0
  618. package/build-module/textarea-control/types.js.map +1 -0
  619. package/build-module/toggle-control/index.js +1 -2
  620. package/build-module/toggle-control/index.js.map +1 -1
  621. package/build-module/toggle-control/index.native.js +1 -6
  622. package/build-module/toggle-control/index.native.js.map +1 -1
  623. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  624. package/build-module/toolbar/index.js.map +1 -1
  625. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  626. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  627. package/build-module/tooltip/index.js +2 -1
  628. package/build-module/tooltip/index.js.map +1 -1
  629. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  630. package/build-module/tree-select/index.js +53 -3
  631. package/build-module/tree-select/index.js.map +1 -1
  632. package/build-module/tree-select/types.js +2 -0
  633. package/build-module/tree-select/types.js.map +1 -0
  634. package/build-module/truncate/component.js +7 -8
  635. package/build-module/truncate/component.js.map +1 -1
  636. package/build-module/truncate/hook.js +3 -10
  637. package/build-module/truncate/hook.js.map +1 -1
  638. package/build-module/truncate/index.js.map +1 -1
  639. package/build-module/truncate/styles.js +1 -1
  640. package/build-module/truncate/styles.js.map +1 -1
  641. package/build-module/truncate/utils.js +3 -16
  642. package/build-module/truncate/utils.js.map +1 -1
  643. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  644. package/build-module/unit-control/index.js.map +1 -1
  645. package/build-module/utils/hooks/index.js +0 -1
  646. package/build-module/utils/hooks/index.js.map +1 -1
  647. package/build-module/utils/math.js +15 -6
  648. package/build-module/utils/math.js.map +1 -1
  649. package/build-module/utils/unit-values.js.map +1 -1
  650. package/build-module/utils/values.js.map +1 -1
  651. package/build-module/v-stack/component.js +9 -9
  652. package/build-module/v-stack/component.js.map +1 -1
  653. package/build-module/v-stack/hook.js +0 -5
  654. package/build-module/v-stack/hook.js.map +1 -1
  655. package/build-module/v-stack/index.js.map +1 -1
  656. package/build-module/z-stack/component.js +21 -2
  657. package/build-module/z-stack/component.js.map +1 -1
  658. package/build-module/z-stack/types.js +2 -0
  659. package/build-module/z-stack/types.js.map +1 -0
  660. package/build-style/style-rtl.css +61 -191
  661. package/build-style/style.css +61 -195
  662. package/build-types/base-control/stories/index.d.ts.map +1 -1
  663. package/build-types/base-field/hook.d.ts +0 -1
  664. package/build-types/base-field/hook.d.ts.map +1 -1
  665. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  666. package/build-types/border-box-control/border-box-control/hook.d.ts +0 -1
  667. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  668. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  669. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +0 -1
  670. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  671. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  672. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +1 -1
  673. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  674. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +0 -1
  675. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  676. package/build-types/border-box-control/styles.d.ts +3 -2
  677. package/build-types/border-box-control/styles.d.ts.map +1 -1
  678. package/build-types/border-box-control/utils.d.ts.map +1 -1
  679. package/build-types/border-control/border-control/component.d.ts +36 -2
  680. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  681. package/build-types/border-control/border-control/hook.d.ts +0 -1
  682. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  683. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  684. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  685. package/build-types/border-control/border-control-style-picker/hook.d.ts +0 -1
  686. package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -1
  687. package/build-types/border-control/stories/index.d.ts +33 -0
  688. package/build-types/border-control/stories/index.d.ts.map +1 -0
  689. package/build-types/button-group/index.d.ts +1 -1
  690. package/build-types/button-group/index.d.ts.map +1 -1
  691. package/build-types/card/card/hook.d.ts +0 -1
  692. package/build-types/card/card/hook.d.ts.map +1 -1
  693. package/build-types/card/card-body/hook.d.ts +0 -1
  694. package/build-types/card/card-body/hook.d.ts.map +1 -1
  695. package/build-types/card/card-divider/hook.d.ts +0 -1
  696. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  697. package/build-types/card/card-footer/hook.d.ts +0 -1
  698. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  699. package/build-types/card/card-header/hook.d.ts +0 -1
  700. package/build-types/card/card-header/hook.d.ts.map +1 -1
  701. package/build-types/card/card-media/hook.d.ts +0 -1
  702. package/build-types/card/card-media/hook.d.ts.map +1 -1
  703. package/build-types/card/types.d.ts +1 -1
  704. package/build-types/card/types.d.ts.map +1 -1
  705. package/build-types/checkbox-control/index.d.ts.map +1 -1
  706. package/build-types/checkbox-control/stories/index.d.ts.map +1 -1
  707. package/build-types/checkbox-control/test/index.d.ts +2 -0
  708. package/build-types/checkbox-control/test/index.d.ts.map +1 -0
  709. package/build-types/color-indicator/index.d.ts +16 -5
  710. package/build-types/color-indicator/index.d.ts.map +1 -1
  711. package/build-types/color-indicator/stories/index.d.ts +12 -0
  712. package/build-types/color-indicator/stories/index.d.ts.map +1 -0
  713. package/build-types/color-indicator/test/index.d.ts +2 -0
  714. package/build-types/color-indicator/test/index.d.ts.map +1 -0
  715. package/build-types/color-indicator/types.d.ts +12 -0
  716. package/build-types/color-indicator/types.d.ts.map +1 -0
  717. package/build-types/color-palette/index.d.ts +1 -0
  718. package/build-types/color-palette/index.d.ts.map +1 -1
  719. package/build-types/color-palette/styles.d.ts +4 -2
  720. package/build-types/color-palette/styles.d.ts.map +1 -1
  721. package/build-types/{date-time → color-palette}/test/utils.d.ts +0 -0
  722. package/build-types/color-palette/test/utils.d.ts.map +1 -0
  723. package/build-types/color-picker/color-copy-button.d.ts +4 -0
  724. package/build-types/color-picker/color-copy-button.d.ts.map +1 -0
  725. package/build-types/color-picker/component.d.ts.map +1 -1
  726. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  727. package/build-types/color-picker/styles.d.ts +25 -8
  728. package/build-types/color-picker/styles.d.ts.map +1 -1
  729. package/build-types/color-picker/types.d.ts +8 -0
  730. package/build-types/color-picker/types.d.ts.map +1 -1
  731. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  732. package/build-types/date-time/{date.d.ts → date/index.d.ts} +4 -3
  733. package/build-types/date-time/date/index.d.ts.map +1 -0
  734. package/build-types/date-time/date/styles.d.ts +23 -0
  735. package/build-types/date-time/date/styles.d.ts.map +1 -0
  736. package/build-types/date-time/date/test/index.d.ts +2 -0
  737. package/build-types/date-time/date/test/index.d.ts.map +1 -0
  738. package/build-types/date-time/date/test/utils.d.ts +2 -0
  739. package/build-types/date-time/date/test/utils.d.ts.map +1 -0
  740. package/build-types/date-time/{utils.d.ts → date/utils.d.ts} +0 -0
  741. package/build-types/date-time/date/utils.d.ts.map +1 -0
  742. package/build-types/date-time/date-time/index.d.ts +33 -0
  743. package/build-types/date-time/date-time/index.d.ts.map +1 -0
  744. package/build-types/date-time/date-time/styles.d.ts +6 -0
  745. package/build-types/date-time/date-time/styles.d.ts.map +1 -0
  746. package/build-types/date-time/index.d.ts +2 -28
  747. package/build-types/date-time/index.d.ts.map +1 -1
  748. package/build-types/date-time/stories/{index.d.ts → date-time.d.ts} +2 -2
  749. package/build-types/date-time/stories/date-time.d.ts.map +1 -0
  750. package/build-types/date-time/stories/date.d.ts.map +1 -1
  751. package/build-types/date-time/{time.d.ts → time/index.d.ts} +2 -2
  752. package/build-types/date-time/time/index.d.ts.map +1 -0
  753. package/build-types/date-time/time/styles.d.ts +111 -0
  754. package/build-types/date-time/time/styles.d.ts.map +1 -0
  755. package/build-types/date-time/time/test/index.d.ts +2 -0
  756. package/build-types/date-time/time/test/index.d.ts.map +1 -0
  757. package/build-types/date-time/{timezone.d.ts → time/timezone.d.ts} +0 -0
  758. package/build-types/date-time/time/timezone.d.ts.map +1 -0
  759. package/build-types/date-time/types.d.ts +20 -15
  760. package/build-types/date-time/types.d.ts.map +1 -1
  761. package/build-types/divider/styles.d.ts.map +1 -1
  762. package/build-types/dropdown/index.d.ts.map +1 -1
  763. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  764. package/build-types/elevation/hook.d.ts +0 -1
  765. package/build-types/elevation/hook.d.ts.map +1 -1
  766. package/build-types/external-link/index.d.ts +17 -0
  767. package/build-types/external-link/index.d.ts.map +1 -0
  768. package/build-types/external-link/stories/index.d.ts +12 -0
  769. package/build-types/external-link/stories/index.d.ts.map +1 -0
  770. package/build-types/external-link/styles/external-link-styles.d.ts +10 -0
  771. package/build-types/external-link/styles/external-link-styles.d.ts.map +1 -0
  772. package/build-types/external-link/types.d.ts +15 -0
  773. package/build-types/external-link/types.d.ts.map +1 -0
  774. package/build-types/flex/flex/hook.d.ts +0 -1
  775. package/build-types/flex/flex/hook.d.ts.map +1 -1
  776. package/build-types/flex/flex-block/hook.d.ts +0 -1
  777. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  778. package/build-types/flex/flex-item/hook.d.ts +0 -1
  779. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  780. package/build-types/form-toggle/index.d.ts +29 -0
  781. package/build-types/form-toggle/index.d.ts.map +1 -0
  782. package/build-types/form-toggle/stories/index.d.ts +12 -0
  783. package/build-types/form-toggle/stories/index.d.ts.map +1 -0
  784. package/build-types/form-toggle/test/index.d.ts +2 -0
  785. package/build-types/form-toggle/test/index.d.ts.map +1 -0
  786. package/build-types/form-toggle/types.d.ts +22 -0
  787. package/build-types/form-toggle/types.d.ts.map +1 -0
  788. package/build-types/form-token-field/index.d.ts +15 -0
  789. package/build-types/form-token-field/index.d.ts.map +1 -0
  790. package/build-types/form-token-field/stories/index.d.ts +13 -0
  791. package/build-types/form-token-field/stories/index.d.ts.map +1 -0
  792. package/build-types/form-token-field/suggestions-list.d.ts +10 -0
  793. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -0
  794. package/build-types/form-token-field/test/lib/fixtures.d.ts +26 -0
  795. package/build-types/form-token-field/test/lib/fixtures.d.ts.map +1 -0
  796. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +21 -0
  797. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +1 -0
  798. package/build-types/form-token-field/token-input.d.ts +12 -0
  799. package/build-types/form-token-field/token-input.d.ts.map +1 -0
  800. package/build-types/form-token-field/token.d.ts +4 -0
  801. package/build-types/form-token-field/token.d.ts.map +1 -0
  802. package/build-types/form-token-field/types.d.ts +176 -0
  803. package/build-types/form-token-field/types.d.ts.map +1 -0
  804. package/build-types/grid/hook.d.ts +0 -1
  805. package/build-types/grid/hook.d.ts.map +1 -1
  806. package/build-types/h-stack/hook.d.ts +0 -1
  807. package/build-types/h-stack/hook.d.ts.map +1 -1
  808. package/build-types/heading/component.d.ts +1 -2
  809. package/build-types/heading/component.d.ts.map +1 -1
  810. package/build-types/heading/hook.d.ts +1 -29
  811. package/build-types/heading/hook.d.ts.map +1 -1
  812. package/build-types/heading/stories/index.d.ts.map +1 -1
  813. package/build-types/heading/test/index.d.ts +2 -0
  814. package/build-types/heading/test/index.d.ts.map +1 -0
  815. package/build-types/heading/types.d.ts +16 -0
  816. package/build-types/heading/types.d.ts.map +1 -0
  817. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
  818. package/build-types/input-control/index.d.ts +1 -1
  819. package/build-types/input-control/index.d.ts.map +1 -1
  820. package/build-types/input-control/input-field.d.ts +1 -1
  821. package/build-types/input-control/input-field.d.ts.map +1 -1
  822. package/build-types/input-control/reducer/reducer.d.ts +5 -3
  823. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  824. package/build-types/input-control/reducer/state.d.ts +2 -2
  825. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  826. package/build-types/input-control/stories/index.d.ts +5 -5
  827. package/build-types/input-control/stories/index.d.ts.map +1 -1
  828. package/build-types/input-control/utils.d.ts +17 -0
  829. package/build-types/input-control/utils.d.ts.map +1 -1
  830. package/build-types/item-group/item/hook.d.ts +0 -1
  831. package/build-types/item-group/item/hook.d.ts.map +1 -1
  832. package/build-types/item-group/item-group/hook.d.ts +0 -1
  833. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  834. package/build-types/navigator/navigator-back-button/hook.d.ts +0 -1
  835. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  836. package/build-types/navigator/navigator-button/hook.d.ts +0 -1
  837. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  838. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  839. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  840. package/build-types/popover/index.d.ts +1 -0
  841. package/build-types/popover/index.d.ts.map +1 -1
  842. package/build-types/radio-control/index.d.ts +31 -0
  843. package/build-types/radio-control/index.d.ts.map +1 -0
  844. package/build-types/radio-control/stories/index.d.ts +12 -0
  845. package/build-types/radio-control/stories/index.d.ts.map +1 -0
  846. package/build-types/radio-control/types.d.ts +29 -0
  847. package/build-types/radio-control/types.d.ts.map +1 -0
  848. package/build-types/range-control/index.d.ts +5 -5
  849. package/build-types/range-control/index.d.ts.map +1 -1
  850. package/build-types/range-control/input-range.d.ts +4 -4
  851. package/build-types/range-control/input-range.d.ts.map +1 -1
  852. package/build-types/range-control/utils.d.ts.map +1 -1
  853. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  854. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  855. package/build-types/scrollable/hook.d.ts +0 -1
  856. package/build-types/scrollable/hook.d.ts.map +1 -1
  857. package/build-types/select-control/index.d.ts +1 -1
  858. package/build-types/select-control/index.d.ts.map +1 -1
  859. package/build-types/select-control/stories/index.d.ts +3 -3
  860. package/build-types/select-control/stories/index.d.ts.map +1 -1
  861. package/build-types/select-control/types.d.ts +1 -1
  862. package/build-types/select-control/types.d.ts.map +1 -1
  863. package/build-types/slot-fill/fill.d.ts.map +1 -1
  864. package/build-types/slot-fill/slot.d.ts.map +1 -1
  865. package/build-types/spacer/component.d.ts +2 -3
  866. package/build-types/spacer/component.d.ts.map +1 -1
  867. package/build-types/spacer/hook.d.ts +0 -1
  868. package/build-types/spacer/hook.d.ts.map +1 -1
  869. package/build-types/spacer/stories/index.d.ts +12 -0
  870. package/build-types/spacer/stories/index.d.ts.map +1 -0
  871. package/build-types/spinner/index.d.ts +16 -15
  872. package/build-types/spinner/index.d.ts.map +1 -1
  873. package/build-types/spinner/stories/index.d.ts +13 -0
  874. package/build-types/spinner/stories/index.d.ts.map +1 -0
  875. package/build-types/spinner/styles.d.ts +4 -3
  876. package/build-types/spinner/styles.d.ts.map +1 -1
  877. package/build-types/surface/component.d.ts +3 -2
  878. package/build-types/surface/component.d.ts.map +1 -1
  879. package/build-types/surface/hook.d.ts +4 -5
  880. package/build-types/surface/hook.d.ts.map +1 -1
  881. package/build-types/surface/index.d.ts +2 -2
  882. package/build-types/surface/index.d.ts.map +1 -1
  883. package/build-types/surface/stories/index.d.ts +12 -0
  884. package/build-types/surface/stories/index.d.ts.map +1 -0
  885. package/build-types/surface/styles.d.ts +10 -21
  886. package/build-types/surface/styles.d.ts.map +1 -1
  887. package/build-types/surface/test/index.d.ts +2 -0
  888. package/build-types/surface/test/index.d.ts.map +1 -0
  889. package/build-types/surface/types.d.ts +1 -1
  890. package/build-types/surface/types.d.ts.map +1 -1
  891. package/build-types/text/hook.d.ts +0 -1
  892. package/build-types/text/hook.d.ts.map +1 -1
  893. package/build-types/text/types.d.ts +1 -1
  894. package/build-types/text/types.d.ts.map +1 -1
  895. package/build-types/text/utils.d.ts.map +1 -1
  896. package/build-types/text-control/index.d.ts +1 -1
  897. package/build-types/text-control/index.d.ts.map +1 -1
  898. package/build-types/text-control/stories/index.d.ts.map +1 -1
  899. package/build-types/textarea-control/index.d.ts +29 -0
  900. package/build-types/textarea-control/index.d.ts.map +1 -0
  901. package/build-types/textarea-control/stories/index.d.ts +12 -0
  902. package/build-types/textarea-control/stories/index.d.ts.map +1 -0
  903. package/build-types/textarea-control/styles/textarea-control-styles.d.ts +6 -0
  904. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -0
  905. package/build-types/textarea-control/types.d.ts +26 -0
  906. package/build-types/textarea-control/types.d.ts.map +1 -0
  907. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -1
  908. package/build-types/tools-panel/tools-panel/hook.d.ts +0 -1
  909. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  910. package/build-types/tools-panel/tools-panel-header/hook.d.ts +0 -1
  911. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  912. package/build-types/tools-panel/tools-panel-item/hook.d.ts +0 -1
  913. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  914. package/build-types/tooltip/index.d.ts.map +1 -1
  915. package/build-types/tree-select/index.d.ts +53 -0
  916. package/build-types/tree-select/index.d.ts.map +1 -0
  917. package/build-types/tree-select/stories/index.d.ts +12 -0
  918. package/build-types/tree-select/stories/index.d.ts.map +1 -0
  919. package/build-types/tree-select/types.d.ts +30 -0
  920. package/build-types/tree-select/types.d.ts.map +1 -0
  921. package/build-types/truncate/component.d.ts +3 -3
  922. package/build-types/truncate/component.d.ts.map +1 -1
  923. package/build-types/truncate/hook.d.ts +5 -3
  924. package/build-types/truncate/hook.d.ts.map +1 -1
  925. package/build-types/truncate/index.d.ts +2 -2
  926. package/build-types/truncate/index.d.ts.map +1 -1
  927. package/build-types/truncate/stories/index.d.ts +13 -0
  928. package/build-types/truncate/stories/index.d.ts.map +1 -0
  929. package/build-types/truncate/styles.d.ts +1 -1
  930. package/build-types/truncate/styles.d.ts.map +1 -1
  931. package/build-types/truncate/test/index.d.ts +2 -0
  932. package/build-types/truncate/test/index.d.ts.map +1 -0
  933. package/build-types/truncate/types.d.ts +22 -11
  934. package/build-types/truncate/types.d.ts.map +1 -1
  935. package/build-types/truncate/utils.d.ts +17 -28
  936. package/build-types/truncate/utils.d.ts.map +1 -1
  937. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  938. package/build-types/ui/control-group/hook.d.ts +0 -1
  939. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  940. package/build-types/ui/control-label/hook.d.ts +0 -1
  941. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  942. package/build-types/ui/form-group/use-form-group.d.ts +2 -4
  943. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  944. package/build-types/unit-control/index.d.ts +1 -1
  945. package/build-types/unit-control/index.d.ts.map +1 -1
  946. package/build-types/unit-control/stories/index.d.ts.map +1 -1
  947. package/build-types/utils/hooks/index.d.ts +0 -1
  948. package/build-types/utils/math.d.ts +10 -0
  949. package/build-types/utils/math.d.ts.map +1 -1
  950. package/build-types/utils/unit-values.d.ts.map +1 -1
  951. package/build-types/utils/values.d.ts.map +1 -1
  952. package/build-types/v-stack/component.d.ts +5 -4
  953. package/build-types/v-stack/component.d.ts.map +1 -1
  954. package/build-types/v-stack/hook.d.ts +5 -4
  955. package/build-types/v-stack/hook.d.ts.map +1 -1
  956. package/build-types/v-stack/index.d.ts +2 -2
  957. package/build-types/v-stack/index.d.ts.map +1 -1
  958. package/build-types/v-stack/stories/index.d.ts +9 -0
  959. package/build-types/v-stack/stories/index.d.ts.map +1 -0
  960. package/build-types/v-stack/test/index.d.ts +2 -0
  961. package/build-types/v-stack/test/index.d.ts.map +1 -0
  962. package/build-types/v-stack/types.d.ts +21 -1
  963. package/build-types/v-stack/types.d.ts.map +1 -1
  964. package/build-types/z-stack/component.d.ts +18 -28
  965. package/build-types/z-stack/component.d.ts.map +1 -1
  966. package/build-types/z-stack/stories/index.d.ts +6 -0
  967. package/build-types/z-stack/stories/index.d.ts.map +1 -0
  968. package/build-types/z-stack/types.d.ts +33 -0
  969. package/build-types/z-stack/types.d.ts.map +1 -0
  970. package/package.json +19 -18
  971. package/src/alignment-matrix-control/index.js +6 -3
  972. package/src/alignment-matrix-control/utils.js +1 -6
  973. package/src/angle-picker-control/index.js +1 -1
  974. package/src/autocomplete/autocompleter-ui.js +3 -0
  975. package/src/autocomplete/autocompleter-ui.native.js +6 -0
  976. package/src/autocomplete/index.js +16 -8
  977. package/src/base-control/stories/index.tsx +2 -3
  978. package/src/border-box-control/border-box-control/component.tsx +1 -0
  979. package/src/border-box-control/border-box-control/hook.ts +2 -2
  980. package/src/border-box-control/border-box-control-linked-button/component.tsx +2 -5
  981. package/src/border-box-control/border-box-control-split-controls/component.tsx +3 -0
  982. package/src/border-box-control/border-box-control-split-controls/hook.ts +18 -4
  983. package/src/border-box-control/border-box-control-visualizer/hook.ts +5 -2
  984. package/src/border-box-control/styles.ts +6 -2
  985. package/src/border-box-control/utils.ts +5 -2
  986. package/src/border-control/border-control/component.tsx +41 -4
  987. package/src/border-control/border-control/hook.ts +10 -5
  988. package/src/border-control/stories/index.tsx +150 -0
  989. package/src/box-control/all-input-control.js +2 -4
  990. package/src/box-control/axial-input-controls.js +4 -6
  991. package/src/box-control/index.js +2 -5
  992. package/src/box-control/input-controls.js +33 -36
  993. package/src/box-control/test/index.js +120 -109
  994. package/src/box-control/unit-control.js +2 -1
  995. package/src/box-control/utils.js +4 -4
  996. package/src/button/index.native.js +1 -2
  997. package/src/card/stories/index.js +10 -5
  998. package/src/card/types.ts +1 -1
  999. package/src/checkbox-control/index.tsx +2 -3
  1000. package/src/checkbox-control/stories/index.tsx +2 -3
  1001. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +42 -0
  1002. package/src/checkbox-control/test/index.tsx +110 -0
  1003. package/src/color-indicator/README.md +7 -9
  1004. package/src/color-indicator/index.tsx +47 -0
  1005. package/src/color-indicator/stories/index.tsx +37 -0
  1006. package/src/color-indicator/test/__snapshots__/index.tsx.snap +11 -0
  1007. package/src/color-indicator/test/{index.js → index.tsx} +4 -4
  1008. package/src/color-indicator/types.ts +12 -0
  1009. package/src/color-palette/index.js +16 -5
  1010. package/src/color-palette/index.native.js +3 -0
  1011. package/src/color-palette/stories/index.js +25 -1
  1012. package/src/color-palette/test/utils.ts +24 -0
  1013. package/src/color-picker/color-copy-button.tsx +76 -0
  1014. package/src/color-picker/component.tsx +18 -37
  1015. package/src/color-picker/hex-input.tsx +16 -0
  1016. package/src/color-picker/index.native.js +7 -4
  1017. package/src/color-picker/input-with-slider.tsx +2 -2
  1018. package/src/color-picker/styles.ts +25 -2
  1019. package/src/color-picker/types.ts +9 -0
  1020. package/src/combobox-control/index.js +4 -2
  1021. package/src/confirm-dialog/component.tsx +7 -8
  1022. package/src/custom-gradient-bar/constants.js +2 -2
  1023. package/src/custom-gradient-bar/control-points.js +20 -16
  1024. package/src/custom-gradient-bar/index.js +11 -11
  1025. package/src/custom-gradient-bar/test/utils.js +79 -0
  1026. package/src/custom-gradient-bar/utils.js +6 -18
  1027. package/src/custom-gradient-picker/index.js +4 -11
  1028. package/src/custom-gradient-picker/index.native.js +3 -11
  1029. package/src/custom-gradient-picker/serializer.js +5 -11
  1030. package/src/custom-gradient-picker/style.scss +1 -3
  1031. package/src/custom-gradient-picker/utils.js +5 -4
  1032. package/src/custom-select-control/index.js +2 -1
  1033. package/src/custom-select-control/stories/index.js +1 -2
  1034. package/src/date-time/README.md +23 -0
  1035. package/src/date-time/{datepicker.scss → date/datepicker.scss} +0 -0
  1036. package/src/date-time/{date.tsx → date/index.tsx} +42 -17
  1037. package/src/date-time/date/style.scss +85 -0
  1038. package/src/date-time/date/styles.ts +55 -0
  1039. package/src/date-time/{test/date.tsx → date/test/index.tsx} +2 -2
  1040. package/src/date-time/{test → date/test}/utils.ts +0 -0
  1041. package/src/date-time/{utils.ts → date/utils.ts} +0 -0
  1042. package/src/date-time/date-time/index.tsx +217 -0
  1043. package/src/date-time/date-time/styles.ts +8 -0
  1044. package/src/date-time/index.ts +9 -0
  1045. package/src/date-time/stories/{index.tsx → date-time.tsx} +5 -7
  1046. package/src/date-time/stories/date.tsx +2 -3
  1047. package/src/date-time/style.scss +1 -262
  1048. package/src/date-time/time/index.tsx +356 -0
  1049. package/src/date-time/time/styles.ts +119 -0
  1050. package/src/date-time/{test/time.tsx → time/test/index.tsx} +97 -50
  1051. package/src/date-time/{timezone.tsx → time/timezone.tsx} +5 -2
  1052. package/src/date-time/types.ts +23 -18
  1053. package/src/dimension-control/README.md +5 -2
  1054. package/src/dimension-control/index.js +1 -2
  1055. package/src/dimension-control/test/index.test.js +7 -7
  1056. package/src/divider/styles.ts +2 -3
  1057. package/src/draggable/index.js +3 -3
  1058. package/src/draggable/index.native.js +26 -7
  1059. package/src/draggable/test/index.native.js +130 -0
  1060. package/src/drop-zone/provider.js +1 -2
  1061. package/src/dropdown/index.js +7 -3
  1062. package/src/dropdown-menu/index.js +11 -1
  1063. package/src/dropdown-menu/index.native.js +11 -1
  1064. package/src/duotone-picker/duotone-picker.js +58 -37
  1065. package/src/duotone-picker/style.scss +19 -0
  1066. package/src/elevation/hook.js +8 -8
  1067. package/src/external-link/README.md +18 -0
  1068. package/src/external-link/{index.js → index.tsx} +26 -6
  1069. package/src/external-link/stories/index.tsx +36 -0
  1070. package/src/external-link/styles/{external-link-styles.js → external-link-styles.ts} +0 -0
  1071. package/src/external-link/types.ts +15 -0
  1072. package/src/flex/flex/README.md +5 -10
  1073. package/src/flex/flex/hook.js +4 -1
  1074. package/src/flex/flex-item/README.md +1 -1
  1075. package/src/focal-point-picker/controls.js +1 -5
  1076. package/src/focal-point-picker/index.js +2 -8
  1077. package/src/focal-point-picker/index.native.js +1 -1
  1078. package/src/focal-point-picker/media.js +2 -5
  1079. package/src/font-size-picker/index.js +3 -1
  1080. package/src/form-toggle/README.md +10 -11
  1081. package/src/form-toggle/index.tsx +71 -0
  1082. package/src/form-toggle/stories/index.tsx +52 -0
  1083. package/src/form-toggle/test/__snapshots__/index.tsx.snap +54 -0
  1084. package/src/form-toggle/test/index.tsx +102 -0
  1085. package/src/form-toggle/types.ts +22 -0
  1086. package/src/form-token-field/index.tsx +694 -0
  1087. package/src/form-token-field/stories/index.tsx +103 -0
  1088. package/src/form-token-field/style.scss +2 -1
  1089. package/src/form-token-field/{suggestions-list.js → suggestions-list.tsx} +45 -29
  1090. package/src/form-token-field/test/index.js +70 -40
  1091. package/src/form-token-field/test/lib/token-field-wrapper.tsx +71 -0
  1092. package/src/form-token-field/token-input.tsx +76 -0
  1093. package/src/form-token-field/{token.js → token.tsx} +4 -2
  1094. package/src/form-token-field/types.ts +178 -0
  1095. package/src/gradient-picker/index.js +4 -3
  1096. package/src/h-stack/utils.js +3 -3
  1097. package/src/heading/README.md +4 -3
  1098. package/src/heading/component.tsx +2 -2
  1099. package/src/heading/hook.ts +6 -46
  1100. package/src/heading/stories/index.tsx +5 -1
  1101. package/src/heading/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1102. package/src/heading/test/index.tsx +68 -0
  1103. package/src/heading/types.ts +29 -0
  1104. package/src/higher-order/navigate-regions/index.js +7 -5
  1105. package/src/higher-order/with-filters/test/index.js +43 -36
  1106. package/src/higher-order/with-focus-return/index.js +14 -13
  1107. package/src/higher-order/with-spoken-messages/index.js +8 -7
  1108. package/src/higher-order/with-spoken-messages/test/index.js +1 -1
  1109. package/src/icon/index.tsx +2 -2
  1110. package/src/input-control/index.tsx +10 -3
  1111. package/src/input-control/input-field.tsx +12 -31
  1112. package/src/input-control/reducer/reducer.ts +63 -47
  1113. package/src/input-control/reducer/state.ts +2 -3
  1114. package/src/input-control/test/index.js +106 -31
  1115. package/src/input-control/utils.ts +56 -2
  1116. package/src/item-group/stories/index.js +2 -1
  1117. package/src/menu-item/test/index.js +2 -1
  1118. package/src/menu-items-choice/index.js +2 -5
  1119. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +2 -4
  1120. package/src/mobile/bottom-sheet/cell.native.js +2 -3
  1121. package/src/mobile/bottom-sheet/cycle-picker-cell.native.js +3 -5
  1122. package/src/mobile/bottom-sheet/index.native.js +14 -17
  1123. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +2 -7
  1124. package/src/mobile/bottom-sheet/picker-cell.native.js +2 -7
  1125. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +4 -6
  1126. package/src/mobile/color-settings/index.native.js +2 -4
  1127. package/src/mobile/global-styles-context/index.native.js +8 -7
  1128. package/src/mobile/gradient/index.native.js +12 -9
  1129. package/src/mobile/gradient/test/index.native.js +1 -3
  1130. package/src/mobile/html-text-input/index.native.js +2 -3
  1131. package/src/mobile/inserter-button/index.native.js +2 -6
  1132. package/src/mobile/link-picker/index.native.js +2 -3
  1133. package/src/mobile/link-settings/image-link-destinations-screen.native.js +6 -2
  1134. package/src/mobile/media-edit/index.native.js +2 -3
  1135. package/src/mobile/segmented-control/index.native.js +9 -9
  1136. package/src/mobile/utils/test/index.native.js +3 -12
  1137. package/src/modal/index.js +1 -1
  1138. package/src/navigable-container/container.js +3 -2
  1139. package/src/navigable-container/test/menu.js +1 -2
  1140. package/src/navigable-container/test/tabbable.js +1 -2
  1141. package/src/navigation/context.js +2 -5
  1142. package/src/navigation/group/index.js +8 -3
  1143. package/src/navigation/index.js +2 -1
  1144. package/src/navigation/item/base.js +3 -2
  1145. package/src/navigation/item/index.js +2 -1
  1146. package/src/navigation/item/use-navigation-tree-item.js +2 -0
  1147. package/src/navigation/menu/menu-title-search.js +3 -6
  1148. package/src/navigation/menu/search-no-results-found.js +3 -6
  1149. package/src/navigation/stories/controlled-state.js +1 -1
  1150. package/src/navigation/stories/more-examples.js +2 -3
  1151. package/src/navigation/test/index.js +252 -52
  1152. package/src/navigation/use-navigation-tree-nodes.js +11 -10
  1153. package/src/navigation/utils.js +2 -2
  1154. package/src/navigator/navigator-back-button/hook.ts +14 -12
  1155. package/src/navigator/navigator-button/hook.ts +14 -13
  1156. package/src/navigator/navigator-provider/component.tsx +2 -6
  1157. package/src/navigator/navigator-screen/component.tsx +3 -3
  1158. package/src/notice/index.js +2 -1
  1159. package/src/notice/list.js +3 -1
  1160. package/src/number-control/stories/index.js +24 -24
  1161. package/src/panel/body.js +2 -1
  1162. package/src/placeholder/README.md +7 -6
  1163. package/src/placeholder/index.js +27 -10
  1164. package/src/placeholder/style.scss +23 -0
  1165. package/src/popover/index.js +42 -27
  1166. package/src/query-controls/README.md +1 -1
  1167. package/src/radio-control/README.md +17 -23
  1168. package/src/radio-control/index.tsx +107 -0
  1169. package/src/radio-control/stories/index.tsx +72 -0
  1170. package/src/radio-control/types.ts +32 -0
  1171. package/src/range-control/index.js +4 -2
  1172. package/src/range-control/input-range.js +2 -5
  1173. package/src/range-control/utils.js +3 -4
  1174. package/src/resizable-box/resize-tooltip/index.tsx +2 -1
  1175. package/src/resizable-box/resize-tooltip/utils.ts +1 -5
  1176. package/src/responsive-wrapper/index.js +2 -4
  1177. package/src/sandbox/test/index.js +4 -6
  1178. package/src/search-control/index.js +6 -7
  1179. package/src/select-control/README.md +11 -0
  1180. package/src/select-control/index.tsx +9 -2
  1181. package/src/select-control/stories/index.tsx +3 -4
  1182. package/src/select-control/types.ts +1 -1
  1183. package/src/slot-fill/README.md +1 -1
  1184. package/src/slot-fill/fill.js +1 -5
  1185. package/src/slot-fill/slot.js +12 -2
  1186. package/src/slot-fill/test/slot.js +2 -3
  1187. package/src/snackbar/index.js +1 -1
  1188. package/src/snackbar/list.js +2 -1
  1189. package/src/spacer/component.tsx +3 -4
  1190. package/src/spacer/hook.ts +13 -13
  1191. package/src/spacer/stories/index.tsx +70 -0
  1192. package/src/spinner/{index.js → index.tsx} +23 -9
  1193. package/src/spinner/stories/index.tsx +32 -0
  1194. package/src/spinner/{styles.js → styles.ts} +0 -0
  1195. package/src/style.scss +1 -0
  1196. package/src/surface/README.md +15 -15
  1197. package/src/surface/{component.js → component.tsx} +13 -7
  1198. package/src/surface/{hook.js → hook.ts} +13 -12
  1199. package/src/surface/{index.js → index.ts} +0 -0
  1200. package/src/surface/stories/index.tsx +40 -0
  1201. package/src/surface/{styles.js → styles.ts} +15 -44
  1202. package/src/surface/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1203. package/src/surface/test/{index.js → index.tsx} +2 -1
  1204. package/src/surface/types.ts +1 -1
  1205. package/src/tab-panel/index.js +3 -1
  1206. package/src/text/hook.js +4 -1
  1207. package/src/text/types.ts +1 -1
  1208. package/src/text/utils.js +2 -3
  1209. package/src/text-control/stories/index.tsx +4 -6
  1210. package/src/textarea-control/README.md +14 -20
  1211. package/src/textarea-control/index.tsx +86 -0
  1212. package/src/textarea-control/stories/index.tsx +58 -0
  1213. package/src/textarea-control/styles/{textarea-control-styles.js → textarea-control-styles.ts} +0 -0
  1214. package/src/textarea-control/types.ts +30 -0
  1215. package/src/toggle-control/index.js +1 -2
  1216. package/src/toggle-control/index.native.js +2 -6
  1217. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +2 -4
  1218. package/src/toolbar/index.js +1 -2
  1219. package/src/tools-panel/tools-panel/hook.ts +2 -4
  1220. package/src/tools-panel/tools-panel-header/hook.ts +2 -5
  1221. package/src/tooltip/index.js +1 -0
  1222. package/src/tree-grid/roving-tab-index-item.js +2 -4
  1223. package/src/tree-grid/test/index.js +2 -3
  1224. package/src/tree-select/README.md +2 -2
  1225. package/src/tree-select/index.tsx +99 -0
  1226. package/src/tree-select/stories/index.tsx +80 -0
  1227. package/src/tree-select/types.ts +35 -0
  1228. package/src/truncate/README.md +16 -12
  1229. package/src/truncate/{component.js → component.tsx} +13 -9
  1230. package/src/truncate/{hook.js → hook.ts} +8 -10
  1231. package/src/truncate/{index.js → index.ts} +0 -0
  1232. package/src/truncate/stories/index.tsx +49 -0
  1233. package/src/truncate/{styles.js → styles.ts} +0 -0
  1234. package/src/truncate/test/{index.js → index.tsx} +4 -4
  1235. package/src/truncate/types.ts +28 -10
  1236. package/src/truncate/{utils.js → utils.ts} +19 -19
  1237. package/src/ui/context/wordpress-component.ts +4 -5
  1238. package/src/ui/form-group/form-group-content.js +4 -4
  1239. package/src/unit-control/index.tsx +7 -9
  1240. package/src/unit-control/stories/index.tsx +8 -12
  1241. package/src/unit-control/test/index.tsx +4 -7
  1242. package/src/utils/hooks/index.js +0 -1
  1243. package/src/utils/hooks/stories/use-cx.js +8 -7
  1244. package/src/utils/hooks/test/use-controlled-state.js +2 -1
  1245. package/src/utils/math.js +14 -5
  1246. package/src/utils/test/math.js +22 -1
  1247. package/src/utils/unit-values.ts +2 -1
  1248. package/src/utils/values.js +2 -3
  1249. package/src/v-stack/README.md +6 -18
  1250. package/src/v-stack/{component.js → component.tsx} +15 -10
  1251. package/src/v-stack/{hook.js → hook.ts} +5 -6
  1252. package/src/v-stack/{index.js → index.ts} +0 -0
  1253. package/src/v-stack/stories/index.tsx +41 -0
  1254. package/src/v-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1255. package/src/v-stack/test/{index.js → index.tsx} +0 -0
  1256. package/src/v-stack/types.ts +21 -1
  1257. package/src/z-stack/README.md +14 -3
  1258. package/src/z-stack/component.tsx +24 -29
  1259. package/src/z-stack/stories/index.tsx +76 -0
  1260. package/src/z-stack/types.ts +33 -0
  1261. package/tsconfig.json +7 -0
  1262. package/tsconfig.tsbuildinfo +1 -1
  1263. package/build/color-picker/color-display.js +0 -184
  1264. package/build/color-picker/color-display.js.map +0 -1
  1265. package/build/date-time/date.js.map +0 -1
  1266. package/build/date-time/time.js +0 -289
  1267. package/build/date-time/time.js.map +0 -1
  1268. package/build/date-time/timezone.js.map +0 -1
  1269. package/build/date-time/utils.js.map +0 -1
  1270. package/build/utils/hooks/use-combined-ref.js +0 -32
  1271. package/build/utils/hooks/use-combined-ref.js.map +0 -1
  1272. package/build-module/color-picker/color-display.js +0 -170
  1273. package/build-module/color-picker/color-display.js.map +0 -1
  1274. package/build-module/date-time/date.js.map +0 -1
  1275. package/build-module/date-time/time.js +0 -271
  1276. package/build-module/date-time/time.js.map +0 -1
  1277. package/build-module/date-time/timezone.js.map +0 -1
  1278. package/build-module/date-time/utils.js.map +0 -1
  1279. package/build-module/utils/hooks/use-combined-ref.js +0 -28
  1280. package/build-module/utils/hooks/use-combined-ref.js.map +0 -1
  1281. package/build-types/color-picker/color-display.d.ts +0 -14
  1282. package/build-types/color-picker/color-display.d.ts.map +0 -1
  1283. package/build-types/date-time/date.d.ts.map +0 -1
  1284. package/build-types/date-time/stories/index.d.ts.map +0 -1
  1285. package/build-types/date-time/test/date.d.ts +0 -2
  1286. package/build-types/date-time/test/date.d.ts.map +0 -1
  1287. package/build-types/date-time/test/time.d.ts +0 -2
  1288. package/build-types/date-time/test/time.d.ts.map +0 -1
  1289. package/build-types/date-time/test/utils.d.ts.map +0 -1
  1290. package/build-types/date-time/time.d.ts.map +0 -1
  1291. package/build-types/date-time/timezone.d.ts.map +0 -1
  1292. package/build-types/date-time/utils.d.ts.map +0 -1
  1293. package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
  1294. package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
  1295. package/src/border-control/stories/index.js +0 -119
  1296. package/src/color-indicator/index.js +0 -16
  1297. package/src/color-indicator/stories/index.js +0 -22
  1298. package/src/color-indicator/test/__snapshots__/index.js.snap +0 -13
  1299. package/src/color-picker/color-display.tsx +0 -169
  1300. package/src/date-time/index.tsx +0 -196
  1301. package/src/date-time/time.tsx +0 -321
  1302. package/src/external-link/stories/index.js +0 -23
  1303. package/src/form-toggle/index.js +0 -37
  1304. package/src/form-toggle/stories/index.js +0 -28
  1305. package/src/form-toggle/test/index.js +0 -75
  1306. package/src/form-token-field/index.js +0 -725
  1307. package/src/form-token-field/stories/index.js +0 -102
  1308. package/src/form-token-field/test/lib/token-field-wrapper.js +0 -56
  1309. package/src/form-token-field/token-input.js +0 -81
  1310. package/src/heading/test/index.js +0 -67
  1311. package/src/radio-control/index.js +0 -69
  1312. package/src/radio-control/stories/index.js +0 -41
  1313. package/src/spacer/stories/index.js +0 -59
  1314. package/src/spinner/stories/index.js +0 -43
  1315. package/src/surface/stories/index.js +0 -46
  1316. package/src/textarea-control/index.js +0 -45
  1317. package/src/textarea-control/stories/index.js +0 -48
  1318. package/src/tree-select/index.js +0 -48
  1319. package/src/tree-select/stories/index.js +0 -80
  1320. package/src/truncate/stories/index.js +0 -38
  1321. package/src/utils/hooks/use-combined-ref.ts +0 -28
  1322. package/src/z-stack/stories/index.js +0 -70
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.ZStack = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
@@ -28,7 +28,7 @@ var _styles = require("./styles");
28
28
  /**
29
29
  * Internal dependencies
30
30
  */
31
- function ZStack(props, forwardedRef) {
31
+ function UnconnectedZStack(props, forwardedRef) {
32
32
  const {
33
33
  children,
34
34
  className,
@@ -55,8 +55,27 @@ function ZStack(props, forwardedRef) {
55
55
  ref: forwardedRef
56
56
  }), clonedChildren);
57
57
  }
58
+ /**
59
+ * `ZStack` allows you to stack things along the Z-axis.
60
+ *
61
+ * ```jsx
62
+ * import { __experimentalZStack as ZStack } from '@wordpress/components';
63
+ *
64
+ * function Example() {
65
+ * return (
66
+ * <ZStack offset={ 20 } isLayered>
67
+ * <ExampleImage />
68
+ * <ExampleImage />
69
+ * <ExampleImage />
70
+ * </ZStack>
71
+ * );
72
+ * }
73
+ * ```
74
+ */
58
75
 
59
- var _default = (0, _context.contextConnect)(ZStack, 'ZStack');
60
76
 
77
+ const ZStack = (0, _context.contextConnect)(UnconnectedZStack, 'ZStack');
78
+ exports.ZStack = ZStack;
79
+ var _default = ZStack;
61
80
  exports.default = _default;
62
81
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/z-stack/component.tsx"],"names":["ZStack","props","forwardedRef","children","className","isLayered","isReversed","offset","otherProps","validChildren","childrenLastIndex","length","clonedChildren","map","child","index","zIndex","offsetAmount","key"],"mappings":";;;;;;;;;AAQA;;;;AAKA;;AACA;;AAEA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AA+BA,SAASA,MAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,SAAS,GAAG,IAHP;AAILC,IAAAA,UAAU,GAAG,KAJR;AAKLC,IAAAA,MAAM,GAAG,CALJ;AAML,OAAGC;AANE,MAOF,+BAAkBP,KAAlB,EAAyB,QAAzB,CAPJ;AASA,QAAMQ,aAAa,GAAG,wCAAkBN,QAAlB,CAAtB;AACA,QAAMO,iBAAiB,GAAGD,aAAa,CAACE,MAAd,GAAuB,CAAjD;AAEA,QAAMC,cAAc,GAAGH,aAAa,CAACI,GAAd,CAAmB,CAAEC,KAAF,EAASC,KAAT,KAAoB;AAC7D,UAAMC,MAAM,GAAGV,UAAU,GAAGI,iBAAiB,GAAGK,KAAvB,GAA+BA,KAAxD;AACA,UAAME,YAAY,GAAGV,MAAM,GAAGQ,KAA9B;AAEA,UAAMG,GAAG,GAAG,6BAAgBJ,KAAhB,IAA0BA,KAAK,CAACI,GAAhC,GAAsCH,KAAlD;AAEA,WACC,4BAAC,uBAAD;AACC,MAAA,SAAS,EAAGV,SADb;AAEC,MAAA,YAAY,EAAGY,YAFhB;AAGC,MAAA,MAAM,EAAGD,MAHV;AAIC,MAAA,GAAG,EAAGE;AAJP,OAMGJ,KANH,CADD;AAUA,GAhBsB,CAAvB;AAkBA,SACC,4BAAC,kBAAD,6BACMN,UADN;AAEC,IAAA,SAAS,EAAGJ,SAFb;AAGC,IAAA,GAAG,EAAGF;AAHP,MAKGU,cALH,CADD;AASA;;eAEc,6BAAgBZ,MAAhB,EAAwB,QAAxB,C","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { isValidElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValidChildren } from '../ui/utils/get-valid-children';\nimport { contextConnect, useContextSystem } from '../ui/context';\nimport type { WordPressComponentProps } from '../ui/context';\nimport { ZStackView, ZStackChildView } from './styles';\n\nexport interface ZStackProps {\n\t/**\n\t * Layers children elements on top of each other (first: highest z-index, last: lowest z-index).\n\t *\n\t * @default true\n\t */\n\tisLayered?: boolean;\n\t/**\n\t * Reverse the layer ordering (first: lowest z-index, last: highest z-index).\n\t *\n\t * @default false\n\t */\n\tisReversed?: boolean;\n\t/**\n\t * The amount of offset between each child element. The amount of space between each child element. Defaults to `0`. Its value is automatically inverted (i.e. from positive to negative, and viceversa) when switching from LTR to RTL.\n\t *\n\t * @default 0\n\t */\n\toffset?: number;\n\t/**\n\t * Child elements.\n\t */\n\tchildren: ReactNode;\n}\n\nfunction ZStack(\n\tprops: WordPressComponentProps< ZStackProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tisLayered = true,\n\t\tisReversed = false,\n\t\toffset = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ZStack' );\n\n\tconst validChildren = getValidChildren( children );\n\tconst childrenLastIndex = validChildren.length - 1;\n\n\tconst clonedChildren = validChildren.map( ( child, index ) => {\n\t\tconst zIndex = isReversed ? childrenLastIndex - index : index;\n\t\tconst offsetAmount = offset * index;\n\n\t\tconst key = isValidElement( child ) ? child.key : index;\n\n\t\treturn (\n\t\t\t<ZStackChildView\n\t\t\t\tisLayered={ isLayered }\n\t\t\t\toffsetAmount={ offsetAmount }\n\t\t\t\tzIndex={ zIndex }\n\t\t\t\tkey={ key }\n\t\t\t>\n\t\t\t\t{ child }\n\t\t\t</ZStackChildView>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<ZStackView\n\t\t\t{ ...otherProps }\n\t\t\tclassName={ className }\n\t\t\tref={ forwardedRef }\n\t\t>\n\t\t\t{ clonedChildren }\n\t\t</ZStackView>\n\t);\n}\n\nexport default contextConnect( ZStack, 'ZStack' );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/z-stack/component.tsx"],"names":["UnconnectedZStack","props","forwardedRef","children","className","isLayered","isReversed","offset","otherProps","validChildren","childrenLastIndex","length","clonedChildren","map","child","index","zIndex","offsetAmount","key","ZStack"],"mappings":";;;;;;;;;AAQA;;;;AAKA;;AACA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAOA,SAASA,iBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,SAAS,GAAG,IAHP;AAILC,IAAAA,UAAU,GAAG,KAJR;AAKLC,IAAAA,MAAM,GAAG,CALJ;AAML,OAAGC;AANE,MAOF,+BAAkBP,KAAlB,EAAyB,QAAzB,CAPJ;AASA,QAAMQ,aAAa,GAAG,wCAAkBN,QAAlB,CAAtB;AACA,QAAMO,iBAAiB,GAAGD,aAAa,CAACE,MAAd,GAAuB,CAAjD;AAEA,QAAMC,cAAc,GAAGH,aAAa,CAACI,GAAd,CAAmB,CAAEC,KAAF,EAASC,KAAT,KAAoB;AAC7D,UAAMC,MAAM,GAAGV,UAAU,GAAGI,iBAAiB,GAAGK,KAAvB,GAA+BA,KAAxD;AACA,UAAME,YAAY,GAAGV,MAAM,GAAGQ,KAA9B;AAEA,UAAMG,GAAG,GAAG,6BAAgBJ,KAAhB,IAA0BA,KAAK,CAACI,GAAhC,GAAsCH,KAAlD;AAEA,WACC,4BAAC,uBAAD;AACC,MAAA,SAAS,EAAGV,SADb;AAEC,MAAA,YAAY,EAAGY,YAFhB;AAGC,MAAA,MAAM,EAAGD,MAHV;AAIC,MAAA,GAAG,EAAGE;AAJP,OAMGJ,KANH,CADD;AAUA,GAhBsB,CAAvB;AAkBA,SACC,4BAAC,kBAAD,6BACMN,UADN;AAEC,IAAA,SAAS,EAAGJ,SAFb;AAGC,IAAA,GAAG,EAAGF;AAHP,MAKGU,cALH,CADD;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMO,MAAM,GAAG,6BAAgBnB,iBAAhB,EAAmC,QAAnC,CAAf;;eAEQmB,M","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { isValidElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValidChildren } from '../ui/utils/get-valid-children';\nimport { contextConnect, useContextSystem } from '../ui/context';\nimport { ZStackView, ZStackChildView } from './styles';\nimport type { ZStackProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nfunction UnconnectedZStack(\n\tprops: WordPressComponentProps< ZStackProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tisLayered = true,\n\t\tisReversed = false,\n\t\toffset = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ZStack' );\n\n\tconst validChildren = getValidChildren( children );\n\tconst childrenLastIndex = validChildren.length - 1;\n\n\tconst clonedChildren = validChildren.map( ( child, index ) => {\n\t\tconst zIndex = isReversed ? childrenLastIndex - index : index;\n\t\tconst offsetAmount = offset * index;\n\n\t\tconst key = isValidElement( child ) ? child.key : index;\n\n\t\treturn (\n\t\t\t<ZStackChildView\n\t\t\t\tisLayered={ isLayered }\n\t\t\t\toffsetAmount={ offsetAmount }\n\t\t\t\tzIndex={ zIndex }\n\t\t\t\tkey={ key }\n\t\t\t>\n\t\t\t\t{ child }\n\t\t\t</ZStackChildView>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<ZStackView\n\t\t\t{ ...otherProps }\n\t\t\tclassName={ className }\n\t\t\tref={ forwardedRef }\n\t\t>\n\t\t\t{ clonedChildren }\n\t\t</ZStackView>\n\t);\n}\n\n/**\n * `ZStack` allows you to stack things along the Z-axis.\n *\n * ```jsx\n * import { __experimentalZStack as ZStack } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ZStack offset={ 20 } isLayered>\n * <ExampleImage />\n * <ExampleImage />\n * <ExampleImage />\n * </ZStack>\n * );\n * }\n * ```\n */\nexport const ZStack = contextConnect( UnconnectedZStack, 'ZStack' );\n\nexport default ZStack;\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -4,7 +4,6 @@ import { createElement } from "@wordpress/element";
4
4
  /**
5
5
  * External dependencies
6
6
  */
7
- import { noop } from 'lodash';
8
7
  import classnames from 'classnames';
9
8
  /**
10
9
  * WordPress dependencies
@@ -23,6 +22,8 @@ import { Root, Row } from './styles/alignment-matrix-control-styles';
23
22
  import AlignmentMatrixControlIcon from './icon';
24
23
  import { GRID, getItemId } from './utils';
25
24
 
25
+ const noop = () => {};
26
+
26
27
  function useBaseId(id) {
27
28
  const instanceId = useInstanceId(AlignmentMatrixControl, 'alignment-matrix-control');
28
29
  return id || instanceId;
@@ -52,11 +53,14 @@ export default function AlignmentMatrixControl(_ref) {
52
53
  onChange(nextValue);
53
54
  };
54
55
 
56
+ const {
57
+ setCurrentId
58
+ } = composite;
55
59
  useEffect(() => {
56
60
  if (typeof value !== 'undefined') {
57
- composite.setCurrentId(getItemId(baseId, value));
61
+ setCurrentId(getItemId(baseId, value));
58
62
  }
59
- }, [value, composite.setCurrentId]);
63
+ }, [value, setCurrentId, baseId]);
60
64
  const classes = classnames('component-alignment-matrix-control', className);
61
65
  return createElement(Composite, _extends({}, props, composite, {
62
66
  "aria-label": label,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/alignment-matrix-control/index.js"],"names":["noop","classnames","__","isRTL","useInstanceId","useState","useEffect","Cell","Composite","CompositeGroup","useCompositeState","Root","Row","AlignmentMatrixControlIcon","GRID","getItemId","useBaseId","id","instanceId","AlignmentMatrixControl","className","label","defaultValue","value","onChange","width","props","immutableDefaultValue","baseId","initialCurrentId","composite","currentId","rtl","handleOnChange","nextValue","setCurrentId","classes","map","cells","index","cell","cellId","isActive","Icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport { Composite, CompositeGroup, useCompositeState } from '../composite';\nimport { Root, Row } from './styles/alignment-matrix-control-styles';\nimport AlignmentMatrixControlIcon from './icon';\nimport { GRID, getItemId } from './utils';\n\nfunction useBaseId( id ) {\n\tconst instanceId = useInstanceId(\n\t\tAlignmentMatrixControl,\n\t\t'alignment-matrix-control'\n\t);\n\n\treturn id || instanceId;\n}\n\nexport default function AlignmentMatrixControl( {\n\tclassName,\n\tid,\n\tlabel = __( 'Alignment Matrix Control' ),\n\tdefaultValue = 'center center',\n\tvalue,\n\tonChange = noop,\n\twidth = 92,\n\t...props\n} ) {\n\tconst [ immutableDefaultValue ] = useState( value ?? defaultValue );\n\tconst baseId = useBaseId( id );\n\tconst initialCurrentId = getItemId( baseId, immutableDefaultValue );\n\n\tconst composite = useCompositeState( {\n\t\tbaseId,\n\t\tcurrentId: initialCurrentId,\n\t\trtl: isRTL(),\n\t} );\n\n\tconst handleOnChange = ( nextValue ) => {\n\t\tonChange( nextValue );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( typeof value !== 'undefined' ) {\n\t\t\tcomposite.setCurrentId( getItemId( baseId, value ) );\n\t\t}\n\t}, [ value, composite.setCurrentId ] );\n\n\tconst classes = classnames(\n\t\t'component-alignment-matrix-control',\n\t\tclassName\n\t);\n\n\treturn (\n\t\t<Composite\n\t\t\t{ ...props }\n\t\t\t{ ...composite }\n\t\t\taria-label={ label }\n\t\t\tas={ Root }\n\t\t\tclassName={ classes }\n\t\t\trole=\"grid\"\n\t\t\twidth={ width }\n\t\t>\n\t\t\t{ GRID.map( ( cells, index ) => (\n\t\t\t\t<CompositeGroup\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\tas={ Row }\n\t\t\t\t\trole=\"row\"\n\t\t\t\t\tkey={ index }\n\t\t\t\t>\n\t\t\t\t\t{ cells.map( ( cell ) => {\n\t\t\t\t\t\tconst cellId = getItemId( baseId, cell );\n\t\t\t\t\t\tconst isActive = composite.currentId === cellId;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\t\tid={ cellId }\n\t\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\t\tkey={ cell }\n\t\t\t\t\t\t\t\tvalue={ cell }\n\t\t\t\t\t\t\t\tonFocus={ () => handleOnChange( cell ) }\n\t\t\t\t\t\t\t\ttabIndex={ isActive ? 0 : -1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</CompositeGroup>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nAlignmentMatrixControl.Icon = AlignmentMatrixControlIcon;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/alignment-matrix-control/index.js"],"names":["classnames","__","isRTL","useInstanceId","useState","useEffect","Cell","Composite","CompositeGroup","useCompositeState","Root","Row","AlignmentMatrixControlIcon","GRID","getItemId","noop","useBaseId","id","instanceId","AlignmentMatrixControl","className","label","defaultValue","value","onChange","width","props","immutableDefaultValue","baseId","initialCurrentId","composite","currentId","rtl","handleOnChange","nextValue","setCurrentId","classes","map","cells","index","cell","cellId","isActive","Icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Cell from './cell';\nimport { Composite, CompositeGroup, useCompositeState } from '../composite';\nimport { Root, Row } from './styles/alignment-matrix-control-styles';\nimport AlignmentMatrixControlIcon from './icon';\nimport { GRID, getItemId } from './utils';\n\nconst noop = () => {};\n\nfunction useBaseId( id ) {\n\tconst instanceId = useInstanceId(\n\t\tAlignmentMatrixControl,\n\t\t'alignment-matrix-control'\n\t);\n\n\treturn id || instanceId;\n}\n\nexport default function AlignmentMatrixControl( {\n\tclassName,\n\tid,\n\tlabel = __( 'Alignment Matrix Control' ),\n\tdefaultValue = 'center center',\n\tvalue,\n\tonChange = noop,\n\twidth = 92,\n\t...props\n} ) {\n\tconst [ immutableDefaultValue ] = useState( value ?? defaultValue );\n\tconst baseId = useBaseId( id );\n\tconst initialCurrentId = getItemId( baseId, immutableDefaultValue );\n\n\tconst composite = useCompositeState( {\n\t\tbaseId,\n\t\tcurrentId: initialCurrentId,\n\t\trtl: isRTL(),\n\t} );\n\n\tconst handleOnChange = ( nextValue ) => {\n\t\tonChange( nextValue );\n\t};\n\n\tconst { setCurrentId } = composite;\n\n\tuseEffect( () => {\n\t\tif ( typeof value !== 'undefined' ) {\n\t\t\tsetCurrentId( getItemId( baseId, value ) );\n\t\t}\n\t}, [ value, setCurrentId, baseId ] );\n\n\tconst classes = classnames(\n\t\t'component-alignment-matrix-control',\n\t\tclassName\n\t);\n\n\treturn (\n\t\t<Composite\n\t\t\t{ ...props }\n\t\t\t{ ...composite }\n\t\t\taria-label={ label }\n\t\t\tas={ Root }\n\t\t\tclassName={ classes }\n\t\t\trole=\"grid\"\n\t\t\twidth={ width }\n\t\t>\n\t\t\t{ GRID.map( ( cells, index ) => (\n\t\t\t\t<CompositeGroup\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\tas={ Row }\n\t\t\t\t\trole=\"row\"\n\t\t\t\t\tkey={ index }\n\t\t\t\t>\n\t\t\t\t\t{ cells.map( ( cell ) => {\n\t\t\t\t\t\tconst cellId = getItemId( baseId, cell );\n\t\t\t\t\t\tconst isActive = composite.currentId === cellId;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\t\tid={ cellId }\n\t\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\t\tkey={ cell }\n\t\t\t\t\t\t\t\tvalue={ cell }\n\t\t\t\t\t\t\t\tonFocus={ () => handleOnChange( cell ) }\n\t\t\t\t\t\t\t\ttabIndex={ isActive ? 0 : -1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</CompositeGroup>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nAlignmentMatrixControl.Icon = AlignmentMatrixControlIcon;\n"]}
@@ -1,11 +1,6 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { flattenDeep } from 'lodash';
5
1
  /**
6
2
  * WordPress dependencies
7
3
  */
8
-
9
4
  import { __ } from '@wordpress/i18n';
10
5
  export const GRID = [['top left', 'top center', 'top right'], ['center left', 'center center', 'center right'], ['bottom left', 'bottom center', 'bottom right']]; // Stored as map as i18n __() only accepts strings (not variables)
11
6
 
@@ -21,7 +16,7 @@ export const ALIGNMENT_LABEL = {
21
16
  'bottom right': __('Bottom Right')
22
17
  }; // Transforms GRID into a flat Array of values.
23
18
 
24
- export const ALIGNMENTS = flattenDeep(GRID);
19
+ export const ALIGNMENTS = GRID.flat();
25
20
  /**
26
21
  * Parses and transforms an incoming value to better match the alignment values
27
22
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/alignment-matrix-control/utils.js"],"names":["flattenDeep","__","GRID","ALIGNMENT_LABEL","ALIGNMENTS","transformValue","value","nextValue","replace","getItemId","prefixId","valueId","getAlignmentIndex","alignment","item","index","indexOf","undefined"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,QAA5B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,OAAO,MAAMC,IAAI,GAAG,CACnB,CAAE,UAAF,EAAc,YAAd,EAA4B,WAA5B,CADmB,EAEnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAFmB,EAGnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAHmB,CAAb,C,CAMP;;AACA,OAAO,MAAMC,eAAe,GAAG;AAC9B,cAAYF,EAAE,CAAE,UAAF,CADgB;AAE9B,gBAAcA,EAAE,CAAE,YAAF,CAFc;AAG9B,eAAaA,EAAE,CAAE,WAAF,CAHe;AAI9B,iBAAeA,EAAE,CAAE,aAAF,CAJa;AAK9B,mBAAiBA,EAAE,CAAE,eAAF,CALW;AAM9B,kBAAgBA,EAAE,CAAE,cAAF,CANY;AAO9B,iBAAeA,EAAE,CAAE,aAAF,CAPa;AAQ9B,mBAAiBA,EAAE,CAAE,eAAF,CARW;AAS9B,kBAAgBA,EAAE,CAAE,cAAF;AATY,CAAxB,C,CAYP;;AACA,OAAO,MAAMG,UAAU,GAAGJ,WAAW,CAAEE,IAAF,CAA9B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,cAAT,CAAyBC,KAAzB,EAAiC;AACvC,QAAMC,SAAS,GAAGD,KAAK,KAAK,QAAV,GAAqB,eAArB,GAAuCA,KAAzD;AAEA,SAAOC,SAAS,CAACC,OAAV,CAAmB,GAAnB,EAAwB,GAAxB,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,SAAT,CAAoBC,QAApB,EAA8BJ,KAA9B,EAAsC;AAC5C,QAAMK,OAAO,GAAGN,cAAc,CAAEC,KAAF,CAAd,CAAwBE,OAAxB,CAAiC,GAAjC,EAAsC,GAAtC,CAAhB;AAEA,SAAQ,GAAGE,QAAU,IAAIC,OAAS,EAAlC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,iBAAT,GAAmD;AAAA,MAAvBC,SAAuB,uEAAX,QAAW;AACzD,QAAMC,IAAI,GAAGT,cAAc,CAAEQ,SAAF,CAAd,CAA4BL,OAA5B,CAAqC,GAArC,EAA0C,GAA1C,CAAb;AACA,QAAMO,KAAK,GAAGX,UAAU,CAACY,OAAX,CAAoBF,IAApB,CAAd;AAEA,SAAOC,KAAK,GAAG,CAAC,CAAT,GAAaA,KAAb,GAAqBE,SAA5B;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { flattenDeep } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const GRID = [\n\t[ 'top left', 'top center', 'top right' ],\n\t[ 'center left', 'center center', 'center right' ],\n\t[ 'bottom left', 'bottom center', 'bottom right' ],\n];\n\n// Stored as map as i18n __() only accepts strings (not variables)\nexport const ALIGNMENT_LABEL = {\n\t'top left': __( 'Top Left' ),\n\t'top center': __( 'Top Center' ),\n\t'top right': __( 'Top Right' ),\n\t'center left': __( 'Center Left' ),\n\t'center center': __( 'Center Center' ),\n\t'center right': __( 'Center Right' ),\n\t'bottom left': __( 'Bottom Left' ),\n\t'bottom center': __( 'Bottom Center' ),\n\t'bottom right': __( 'Bottom Right' ),\n};\n\n// Transforms GRID into a flat Array of values.\nexport const ALIGNMENTS = flattenDeep( GRID );\n\n/**\n * Parses and transforms an incoming value to better match the alignment values\n *\n * @param {string} value An alignment value to parse.\n *\n * @return {string} The parsed value.\n */\nexport function transformValue( value ) {\n\tconst nextValue = value === 'center' ? 'center center' : value;\n\n\treturn nextValue.replace( '-', ' ' );\n}\n\n/**\n * Creates an item ID based on a prefix ID and an alignment value.\n *\n * @param {string} prefixId An ID to prefix.\n * @param {string} value An alignment value.\n *\n * @return {string} The item id.\n */\nexport function getItemId( prefixId, value ) {\n\tconst valueId = transformValue( value ).replace( ' ', '-' );\n\n\treturn `${ prefixId }-${ valueId }`;\n}\n\n/**\n * Retrieves the alignment index from a value.\n *\n * @param {string} alignment Value to check.\n *\n * @return {number} The index of a matching alignment.\n */\nexport function getAlignmentIndex( alignment = 'center' ) {\n\tconst item = transformValue( alignment ).replace( '-', ' ' );\n\tconst index = ALIGNMENTS.indexOf( item );\n\n\treturn index > -1 ? index : undefined;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/alignment-matrix-control/utils.js"],"names":["__","GRID","ALIGNMENT_LABEL","ALIGNMENTS","flat","transformValue","value","nextValue","replace","getItemId","prefixId","valueId","getAlignmentIndex","alignment","item","index","indexOf","undefined"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,OAAO,MAAMC,IAAI,GAAG,CACnB,CAAE,UAAF,EAAc,YAAd,EAA4B,WAA5B,CADmB,EAEnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAFmB,EAGnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAHmB,CAAb,C,CAMP;;AACA,OAAO,MAAMC,eAAe,GAAG;AAC9B,cAAYF,EAAE,CAAE,UAAF,CADgB;AAE9B,gBAAcA,EAAE,CAAE,YAAF,CAFc;AAG9B,eAAaA,EAAE,CAAE,WAAF,CAHe;AAI9B,iBAAeA,EAAE,CAAE,aAAF,CAJa;AAK9B,mBAAiBA,EAAE,CAAE,eAAF,CALW;AAM9B,kBAAgBA,EAAE,CAAE,cAAF,CANY;AAO9B,iBAAeA,EAAE,CAAE,aAAF,CAPa;AAQ9B,mBAAiBA,EAAE,CAAE,eAAF,CARW;AAS9B,kBAAgBA,EAAE,CAAE,cAAF;AATY,CAAxB,C,CAYP;;AACA,OAAO,MAAMG,UAAU,GAAGF,IAAI,CAACG,IAAL,EAAnB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,cAAT,CAAyBC,KAAzB,EAAiC;AACvC,QAAMC,SAAS,GAAGD,KAAK,KAAK,QAAV,GAAqB,eAArB,GAAuCA,KAAzD;AAEA,SAAOC,SAAS,CAACC,OAAV,CAAmB,GAAnB,EAAwB,GAAxB,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,SAAT,CAAoBC,QAApB,EAA8BJ,KAA9B,EAAsC;AAC5C,QAAMK,OAAO,GAAGN,cAAc,CAAEC,KAAF,CAAd,CAAwBE,OAAxB,CAAiC,GAAjC,EAAsC,GAAtC,CAAhB;AAEA,SAAQ,GAAGE,QAAU,IAAIC,OAAS,EAAlC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,iBAAT,GAAmD;AAAA,MAAvBC,SAAuB,uEAAX,QAAW;AACzD,QAAMC,IAAI,GAAGT,cAAc,CAAEQ,SAAF,CAAd,CAA4BL,OAA5B,CAAqC,GAArC,EAA0C,GAA1C,CAAb;AACA,QAAMO,KAAK,GAAGZ,UAAU,CAACa,OAAX,CAAoBF,IAApB,CAAd;AAEA,SAAOC,KAAK,GAAG,CAAC,CAAT,GAAaA,KAAb,GAAqBE,SAA5B;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const GRID = [\n\t[ 'top left', 'top center', 'top right' ],\n\t[ 'center left', 'center center', 'center right' ],\n\t[ 'bottom left', 'bottom center', 'bottom right' ],\n];\n\n// Stored as map as i18n __() only accepts strings (not variables)\nexport const ALIGNMENT_LABEL = {\n\t'top left': __( 'Top Left' ),\n\t'top center': __( 'Top Center' ),\n\t'top right': __( 'Top Right' ),\n\t'center left': __( 'Center Left' ),\n\t'center center': __( 'Center Center' ),\n\t'center right': __( 'Center Right' ),\n\t'bottom left': __( 'Bottom Left' ),\n\t'bottom center': __( 'Bottom Center' ),\n\t'bottom right': __( 'Bottom Right' ),\n};\n\n// Transforms GRID into a flat Array of values.\nexport const ALIGNMENTS = GRID.flat();\n\n/**\n * Parses and transforms an incoming value to better match the alignment values\n *\n * @param {string} value An alignment value to parse.\n *\n * @return {string} The parsed value.\n */\nexport function transformValue( value ) {\n\tconst nextValue = value === 'center' ? 'center center' : value;\n\n\treturn nextValue.replace( '-', ' ' );\n}\n\n/**\n * Creates an item ID based on a prefix ID and an alignment value.\n *\n * @param {string} prefixId An ID to prefix.\n * @param {string} value An alignment value.\n *\n * @return {string} The item id.\n */\nexport function getItemId( prefixId, value ) {\n\tconst valueId = transformValue( value ).replace( ' ', '-' );\n\n\treturn `${ prefixId }-${ valueId }`;\n}\n\n/**\n * Retrieves the alignment index from a value.\n *\n * @param {string} alignment Value to check.\n *\n * @return {number} The index of a matching alignment.\n */\nexport function getAlignmentIndex( alignment = 'center' ) {\n\tconst item = transformValue( alignment ).replace( '-', ' ' );\n\tconst index = ALIGNMENTS.indexOf( item );\n\n\treturn index > -1 ? index : undefined;\n}\n"]}
@@ -14,7 +14,7 @@ import { __ } from '@wordpress/i18n';
14
14
  */
15
15
 
16
16
  import { FlexBlock, FlexItem } from '../flex';
17
- import NumberControl from '../input-control';
17
+ import NumberControl from '../number-control';
18
18
  import AngleCircle from './angle-circle';
19
19
  import { Root } from './styles/angle-picker-control-styles';
20
20
  import { space } from '../ui/utils/space';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/angle-picker-control/index.js"],"names":["classnames","__","FlexBlock","FlexItem","NumberControl","AngleCircle","Root","space","Text","Spacer","AnglePickerControl","className","label","onChange","value","handleOnNumberChange","unprocessedValue","inputValue","parseInt","classes","color","marginLeft","marginBottom","marginTop"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,SAApC;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,SAASC,IAAT,QAAqB,sCAArB;AACA,SAASC,KAAT,QAAsB,mBAAtB;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,MAAT,QAAuB,WAAvB;AAEA,eAAe,SAASC,kBAAT,OAKX;AAAA,MALwC;AAC3CC,IAAAA,SAD2C;AAE3CC,IAAAA,KAAK,GAAGX,EAAE,CAAE,OAAF,CAFiC;AAG3CY,IAAAA,QAH2C;AAI3CC,IAAAA;AAJ2C,GAKxC;;AACH,QAAMC,oBAAoB,GAAKC,gBAAF,IAAwB;AACpD,UAAMC,UAAU,GACfD,gBAAgB,KAAK,EAArB,GAA0BE,QAAQ,CAAEF,gBAAF,EAAoB,EAApB,CAAlC,GAA6D,CAD9D;AAEAH,IAAAA,QAAQ,CAAEI,UAAF,CAAR;AACA,GAJD;;AAMA,QAAME,OAAO,GAAGnB,UAAU,CAAE,iCAAF,EAAqCW,SAArC,CAA1B;AAEA,SACC,cAAC,IAAD;AAAM,IAAA,SAAS,EAAGQ;AAAlB,KACC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGP,KADT;AAEC,IAAA,SAAS,EAAC,8CAFX;AAGC,IAAA,GAAG,EAAG,GAHP;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,QAAQ,EAAGG,oBALZ;AAMC,IAAA,IAAI,EAAC,kBANN;AAOC,IAAA,IAAI,EAAC,GAPN;AAQC,IAAA,KAAK,EAAGD,KART;AASC,IAAA,cAAc,MATf;AAUC,IAAA,MAAM,EACL,cAAC,MAAD;AACC,MAAA,EAAE,EAAGN,IADN;AAEC,MAAA,YAAY,EAAG,CAFhB;AAGC,MAAA,WAAW,EAAGD,KAAK,CAAE,CAAF,CAHpB;AAIC,MAAA,KAAK,EAAG;AACPa,QAAAA,KAAK,EAAE;AADA;AAJT;AAXF,IADD,CADD,EA0BC,cAAC,QAAD;AACC,IAAA,KAAK,EAAG;AACPC,MAAAA,UAAU,EAAEd,KAAK,CAAE,CAAF,CADV;AAEPe,MAAAA,YAAY,EAAEf,KAAK,CAAE,CAAF,CAFZ;AAGPgB,MAAAA,SAAS,EAAE;AAHJ;AADT,KAOC,cAAC,WAAD;AACC,mBAAY,MADb;AAEC,IAAA,KAAK,EAAGT,KAFT;AAGC,IAAA,QAAQ,EAAGD;AAHZ,IAPD,CA1BD,CADD;AA0CA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { FlexBlock, FlexItem } from '../flex';\nimport NumberControl from '../input-control';\nimport AngleCircle from './angle-circle';\nimport { Root } from './styles/angle-picker-control-styles';\nimport { space } from '../ui/utils/space';\nimport { Text } from '../text';\nimport { Spacer } from '../spacer';\n\nexport default function AnglePickerControl( {\n\tclassName,\n\tlabel = __( 'Angle' ),\n\tonChange,\n\tvalue,\n} ) {\n\tconst handleOnNumberChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== '' ? parseInt( unprocessedValue, 10 ) : 0;\n\t\tonChange( inputValue );\n\t};\n\n\tconst classes = classnames( 'components-angle-picker-control', className );\n\n\treturn (\n\t\t<Root className={ classes }>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tclassName=\"components-angle-picker-control__input-field\"\n\t\t\t\t\tmax={ 360 }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ handleOnNumberChange }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tstep=\"1\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\thideHTMLArrows\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\tas={ Text }\n\t\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\t\tmarginRight={ space( 3 ) }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tcolor: 'var( --wp-admin-theme-color )',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t°\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t\t<FlexItem\n\t\t\t\tstyle={ {\n\t\t\t\t\tmarginLeft: space( 4 ),\n\t\t\t\t\tmarginBottom: space( 1 ),\n\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AngleCircle\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t</Root>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/angle-picker-control/index.js"],"names":["classnames","__","FlexBlock","FlexItem","NumberControl","AngleCircle","Root","space","Text","Spacer","AnglePickerControl","className","label","onChange","value","handleOnNumberChange","unprocessedValue","inputValue","parseInt","classes","color","marginLeft","marginBottom","marginTop"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,SAApC;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,SAASC,IAAT,QAAqB,sCAArB;AACA,SAASC,KAAT,QAAsB,mBAAtB;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,MAAT,QAAuB,WAAvB;AAEA,eAAe,SAASC,kBAAT,OAKX;AAAA,MALwC;AAC3CC,IAAAA,SAD2C;AAE3CC,IAAAA,KAAK,GAAGX,EAAE,CAAE,OAAF,CAFiC;AAG3CY,IAAAA,QAH2C;AAI3CC,IAAAA;AAJ2C,GAKxC;;AACH,QAAMC,oBAAoB,GAAKC,gBAAF,IAAwB;AACpD,UAAMC,UAAU,GACfD,gBAAgB,KAAK,EAArB,GAA0BE,QAAQ,CAAEF,gBAAF,EAAoB,EAApB,CAAlC,GAA6D,CAD9D;AAEAH,IAAAA,QAAQ,CAAEI,UAAF,CAAR;AACA,GAJD;;AAMA,QAAME,OAAO,GAAGnB,UAAU,CAAE,iCAAF,EAAqCW,SAArC,CAA1B;AAEA,SACC,cAAC,IAAD;AAAM,IAAA,SAAS,EAAGQ;AAAlB,KACC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGP,KADT;AAEC,IAAA,SAAS,EAAC,8CAFX;AAGC,IAAA,GAAG,EAAG,GAHP;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,QAAQ,EAAGG,oBALZ;AAMC,IAAA,IAAI,EAAC,kBANN;AAOC,IAAA,IAAI,EAAC,GAPN;AAQC,IAAA,KAAK,EAAGD,KART;AASC,IAAA,cAAc,MATf;AAUC,IAAA,MAAM,EACL,cAAC,MAAD;AACC,MAAA,EAAE,EAAGN,IADN;AAEC,MAAA,YAAY,EAAG,CAFhB;AAGC,MAAA,WAAW,EAAGD,KAAK,CAAE,CAAF,CAHpB;AAIC,MAAA,KAAK,EAAG;AACPa,QAAAA,KAAK,EAAE;AADA;AAJT;AAXF,IADD,CADD,EA0BC,cAAC,QAAD;AACC,IAAA,KAAK,EAAG;AACPC,MAAAA,UAAU,EAAEd,KAAK,CAAE,CAAF,CADV;AAEPe,MAAAA,YAAY,EAAEf,KAAK,CAAE,CAAF,CAFZ;AAGPgB,MAAAA,SAAS,EAAE;AAHJ;AADT,KAOC,cAAC,WAAD;AACC,mBAAY,MADb;AAEC,IAAA,KAAK,EAAGT,KAFT;AAGC,IAAA,QAAQ,EAAGD;AAHZ,IAPD,CA1BD,CADD;AA0CA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { FlexBlock, FlexItem } from '../flex';\nimport NumberControl from '../number-control';\nimport AngleCircle from './angle-circle';\nimport { Root } from './styles/angle-picker-control-styles';\nimport { space } from '../ui/utils/space';\nimport { Text } from '../text';\nimport { Spacer } from '../spacer';\n\nexport default function AnglePickerControl( {\n\tclassName,\n\tlabel = __( 'Angle' ),\n\tonChange,\n\tvalue,\n} ) {\n\tconst handleOnNumberChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== '' ? parseInt( unprocessedValue, 10 ) : 0;\n\t\tonChange( inputValue );\n\t};\n\n\tconst classes = classnames( 'components-angle-picker-control', className );\n\n\treturn (\n\t\t<Root className={ classes }>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tclassName=\"components-angle-picker-control__input-field\"\n\t\t\t\t\tmax={ 360 }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ handleOnNumberChange }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tstep=\"1\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\thideHTMLArrows\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\tas={ Text }\n\t\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\t\tmarginRight={ space( 3 ) }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tcolor: 'var( --wp-admin-theme-color )',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t°\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t\t<FlexItem\n\t\t\t\tstyle={ {\n\t\t\t\t\tmarginLeft: space( 4 ),\n\t\t\t\t\tmarginBottom: space( 1 ),\n\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AngleCircle\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t</Root>\n\t);\n}\n"]}
@@ -40,7 +40,9 @@ export function getAutoCompleterUI(autocompleter) {
40
40
  value
41
41
  });
42
42
  useLayoutEffect(() => {
43
- onChangeOptions(items);
43
+ onChangeOptions(items); // Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.
44
+ // See https://github.com/WordPress/gutenberg/pull/41820
45
+ // eslint-disable-next-line react-hooks/exhaustive-deps
44
46
  }, [items]);
45
47
 
46
48
  if (!items.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.js"],"names":["classnames","map","useLayoutEffect","useAnchorRef","getDefaultUseItems","Button","Popover","getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","instanceId","listBoxId","className","selectedIndex","onChangeOptions","onSelect","onReset","value","contentRef","items","anchorRef","ref","length","option","index","key","isDisabled","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,oBAAhC;AACA,SAASC,YAAT,QAA6B,sBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,OAAP,MAAoB,YAApB;AAEA,OAAO,SAASC,kBAAT,CAA6BC,aAA7B,EAA6C;AACnD,QAAMC,QAAQ,GAAGD,aAAa,CAACC,QAAd,GACdD,aAAa,CAACC,QADA,GAEdL,kBAAkB,CAAEI,aAAF,CAFrB;;AAIA,WAASE,eAAT,OAWI;AAAA,QAXsB;AACzBC,MAAAA,WADyB;AAEzBC,MAAAA,UAFyB;AAGzBC,MAAAA,SAHyB;AAIzBC,MAAAA,SAJyB;AAKzBC,MAAAA,aALyB;AAMzBC,MAAAA,eANyB;AAOzBC,MAAAA,QAPyB;AAQzBC,MAAAA,OARyB;AASzBC,MAAAA,KATyB;AAUzBC,MAAAA;AAVyB,KAWtB;AACH,UAAM,CAAEC,KAAF,IAAYZ,QAAQ,CAAEE,WAAF,CAA1B;AACA,UAAMW,SAAS,GAAGnB,YAAY,CAAE;AAAEoB,MAAAA,GAAG,EAAEH,UAAP;AAAmBD,MAAAA;AAAnB,KAAF,CAA9B;AAEAjB,IAAAA,eAAe,CAAE,MAAM;AACtBc,MAAAA,eAAe,CAAEK,KAAF,CAAf;AACA,KAFc,EAEZ,CAAEA,KAAF,CAFY,CAAf;;AAIA,QAAK,CAAEA,KAAK,CAACG,MAAR,GAAiB,CAAtB,EAA0B;AACzB,aAAO,IAAP;AACA;;AAED,WACC,cAAC,OAAD;AACC,MAAA,YAAY,EAAG,KADhB;AAEC,MAAA,OAAO,EAAGN,OAFX;AAGC,MAAA,QAAQ,EAAC,WAHV;AAIC,MAAA,SAAS,EAAC,kCAJX;AAKC,MAAA,SAAS,EAAGI;AALb,OAOC;AACC,MAAA,EAAE,EAAGT,SADN;AAEC,MAAA,IAAI,EAAC,SAFN;AAGC,MAAA,SAAS,EAAC;AAHX,OAKGZ,GAAG,CAAEoB,KAAF,EAAS,CAAEI,MAAF,EAAUC,KAAV,KACb,cAAC,MAAD;AACC,MAAA,GAAG,EAAGD,MAAM,CAACE,GADd;AAEC,MAAA,EAAE,EAAI,gCAAgCf,UAAY,IAAIa,MAAM,CAACE,GAAK,EAFnE;AAGC,MAAA,IAAI,EAAC,QAHN;AAIC,uBAAgBD,KAAK,KAAKX,aAJ3B;AAKC,MAAA,QAAQ,EAAGU,MAAM,CAACG,UALnB;AAMC,MAAA,SAAS,EAAG5B,UAAU,CACrB,iCADqB,EAErBc,SAFqB,EAGrB;AACC,uBAAeY,KAAK,KAAKX;AAD1B,OAHqB,CANvB;AAaC,MAAA,OAAO,EAAG,MAAME,QAAQ,CAAEQ,MAAF;AAbzB,OAeGA,MAAM,CAACI,KAfV,CADI,CALN,CAPD,CADD;AAmCA;;AAED,SAAOnB,eAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useLayoutEffect } from '@wordpress/element';\nimport { useAnchorRef } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport getDefaultUseItems from './get-default-use-items';\nimport Button from '../button';\nimport Popover from '../popover';\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\tinstanceId,\n\t\tlistBoxId,\n\t\tclassName,\n\t\tselectedIndex,\n\t\tonChangeOptions,\n\t\tonSelect,\n\t\tonReset,\n\t\tvalue,\n\t\tcontentRef,\n\t} ) {\n\t\tconst [ items ] = useItems( filterValue );\n\t\tconst anchorRef = useAnchorRef( { ref: contentRef, value } );\n\n\t\tuseLayoutEffect( () => {\n\t\t\tonChangeOptions( items );\n\t\t}, [ items ] );\n\n\t\tif ( ! items.length > 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tonClose={ onReset }\n\t\t\t\tposition=\"top right\"\n\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\tanchorRef={ anchorRef }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tid={ listBoxId }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t\t>\n\t\t\t\t\t{ map( items, ( option, index ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'components-autocomplete__result',\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => onSelect( option ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) ) }\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t);\n\t}\n\n\treturn AutocompleterUI;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.js"],"names":["classnames","map","useLayoutEffect","useAnchorRef","getDefaultUseItems","Button","Popover","getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","instanceId","listBoxId","className","selectedIndex","onChangeOptions","onSelect","onReset","value","contentRef","items","anchorRef","ref","length","option","index","key","isDisabled","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,oBAAhC;AACA,SAASC,YAAT,QAA6B,sBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,OAAP,MAAoB,YAApB;AAEA,OAAO,SAASC,kBAAT,CAA6BC,aAA7B,EAA6C;AACnD,QAAMC,QAAQ,GAAGD,aAAa,CAACC,QAAd,GACdD,aAAa,CAACC,QADA,GAEdL,kBAAkB,CAAEI,aAAF,CAFrB;;AAIA,WAASE,eAAT,OAWI;AAAA,QAXsB;AACzBC,MAAAA,WADyB;AAEzBC,MAAAA,UAFyB;AAGzBC,MAAAA,SAHyB;AAIzBC,MAAAA,SAJyB;AAKzBC,MAAAA,aALyB;AAMzBC,MAAAA,eANyB;AAOzBC,MAAAA,QAPyB;AAQzBC,MAAAA,OARyB;AASzBC,MAAAA,KATyB;AAUzBC,MAAAA;AAVyB,KAWtB;AACH,UAAM,CAAEC,KAAF,IAAYZ,QAAQ,CAAEE,WAAF,CAA1B;AACA,UAAMW,SAAS,GAAGnB,YAAY,CAAE;AAAEoB,MAAAA,GAAG,EAAEH,UAAP;AAAmBD,MAAAA;AAAnB,KAAF,CAA9B;AAEAjB,IAAAA,eAAe,CAAE,MAAM;AACtBc,MAAAA,eAAe,CAAEK,KAAF,CAAf,CADsB,CAEtB;AACA;AACA;AACA,KALc,EAKZ,CAAEA,KAAF,CALY,CAAf;;AAOA,QAAK,CAAEA,KAAK,CAACG,MAAR,GAAiB,CAAtB,EAA0B;AACzB,aAAO,IAAP;AACA;;AAED,WACC,cAAC,OAAD;AACC,MAAA,YAAY,EAAG,KADhB;AAEC,MAAA,OAAO,EAAGN,OAFX;AAGC,MAAA,QAAQ,EAAC,WAHV;AAIC,MAAA,SAAS,EAAC,kCAJX;AAKC,MAAA,SAAS,EAAGI;AALb,OAOC;AACC,MAAA,EAAE,EAAGT,SADN;AAEC,MAAA,IAAI,EAAC,SAFN;AAGC,MAAA,SAAS,EAAC;AAHX,OAKGZ,GAAG,CAAEoB,KAAF,EAAS,CAAEI,MAAF,EAAUC,KAAV,KACb,cAAC,MAAD;AACC,MAAA,GAAG,EAAGD,MAAM,CAACE,GADd;AAEC,MAAA,EAAE,EAAI,gCAAgCf,UAAY,IAAIa,MAAM,CAACE,GAAK,EAFnE;AAGC,MAAA,IAAI,EAAC,QAHN;AAIC,uBAAgBD,KAAK,KAAKX,aAJ3B;AAKC,MAAA,QAAQ,EAAGU,MAAM,CAACG,UALnB;AAMC,MAAA,SAAS,EAAG5B,UAAU,CACrB,iCADqB,EAErBc,SAFqB,EAGrB;AACC,uBAAeY,KAAK,KAAKX;AAD1B,OAHqB,CANvB;AAaC,MAAA,OAAO,EAAG,MAAME,QAAQ,CAAEQ,MAAF;AAbzB,OAeGA,MAAM,CAACI,KAfV,CADI,CALN,CAPD,CADD;AAmCA;;AAED,SAAOnB,eAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useLayoutEffect } from '@wordpress/element';\nimport { useAnchorRef } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport getDefaultUseItems from './get-default-use-items';\nimport Button from '../button';\nimport Popover from '../popover';\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\tinstanceId,\n\t\tlistBoxId,\n\t\tclassName,\n\t\tselectedIndex,\n\t\tonChangeOptions,\n\t\tonSelect,\n\t\tonReset,\n\t\tvalue,\n\t\tcontentRef,\n\t} ) {\n\t\tconst [ items ] = useItems( filterValue );\n\t\tconst anchorRef = useAnchorRef( { ref: contentRef, value } );\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\treturn (\n\t\t\t<Popover\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\tonClose={ onReset }\n\t\t\t\tposition=\"top right\"\n\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\tanchorRef={ anchorRef }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tid={ listBoxId }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t\t>\n\t\t\t\t\t{ map( items, ( option, index ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'components-autocomplete__result',\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => onSelect( option ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) ) }\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t);\n\t}\n\n\treturn AutocompleterUI;\n}\n"]}
@@ -60,7 +60,10 @@ export function getAutoCompleterUI(autocompleter) {
60
60
  startAnimation(true);
61
61
  } else if (isVisible && text.length === 0) {
62
62
  startAnimation(false);
63
- }
63
+ } // Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.
64
+ // See https://github.com/WordPress/gutenberg/pull/41820
65
+ // eslint-disable-next-line react-hooks/exhaustive-deps
66
+
64
67
  }, [items, isVisible, text]);
65
68
  const activeItemStyles = usePreferredColorSchemeStyle(styles['components-autocomplete__item-active'], styles['components-autocomplete__item-active-dark']);
66
69
  const iconStyles = usePreferredColorSchemeStyle(styles['components-autocomplete__icon'], styles['components-autocomplete__icon-active-dark']);
@@ -82,7 +85,10 @@ export function getAutoCompleterUI(autocompleter) {
82
85
  reset();
83
86
  }
84
87
  });
85
- }, [isVisible]);
88
+ }, // Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.
89
+ // See https://github.com/WordPress/gutenberg/pull/41820
90
+ // eslint-disable-next-line react-hooks/exhaustive-deps
91
+ [isVisible]);
86
92
  const contentStyles = {
87
93
  transform: [{
88
94
  translateY: animationValue.interpolate({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/autocompleter-ui.native.js"],"names":["View","Animated","StyleSheet","Text","TouchableOpacity","ScrollView","useLayoutEffect","useEffect","useRef","useState","useCallback","__","sprintf","Icon","__unstableAutocompletionItemsFill","AutocompletionItemsFill","usePreferredColorSchemeStyle","BackgroundView","getDefaultUseItems","styles","compose","stylesCompose","getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","selectedIndex","onChangeOptions","onSelect","value","reset","items","filteredItems","filter","item","isDisabled","scrollViewRef","animationValue","Value","current","isVisible","setIsVisible","text","length","scrollTo","x","animated","startAnimation","activeItemStyles","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}, [ 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[ 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\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":["View","Animated","StyleSheet","Text","TouchableOpacity","ScrollView","useLayoutEffect","useEffect","useRef","useState","useCallback","__","sprintf","Icon","__unstableAutocompletionItemsFill","AutocompletionItemsFill","usePreferredColorSchemeStyle","BackgroundView","getDefaultUseItems","styles","compose","stylesCompose","getAutoCompleterUI","autocompleter","useItems","AutocompleterUI","filterValue","selectedIndex","onChangeOptions","onSelect","value","reset","items","filteredItems","filter","item","isDisabled","scrollViewRef","animationValue","Value","current","isVisible","setIsVisible","text","length","scrollTo","x","animated","startAnimation","activeItemStyles","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\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"]}
@@ -8,7 +8,7 @@ import { escapeRegExp, find, deburr } from 'lodash';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { renderToString, useEffect, useState, useRef } from '@wordpress/element';
11
+ import { renderToString, useEffect, useState, useRef, useMemo } from '@wordpress/element';
12
12
  import { ENTER, ESCAPE, UP, DOWN, LEFT, RIGHT, BACKSPACE } from '@wordpress/keycodes';
13
13
  import { __, _n, sprintf } from '@wordpress/i18n';
14
14
  import { useInstanceId, useDebounce, useMergeRefs, useRefEffect } from '@wordpress/compose';
@@ -110,7 +110,7 @@ function useAutocomplete(_ref) {
110
110
  const [filterValue, setFilterValue] = useState('');
111
111
  const [autocompleter, setAutocompleter] = useState(null);
112
112
  const [AutocompleterUI, setAutocompleterUI] = useState(null);
113
- const [backspacing, setBackspacing] = useState(false);
113
+ const backspacing = useRef(false);
114
114
 
115
115
  function insertCompletion(replacement) {
116
116
  const end = record.start;
@@ -190,7 +190,7 @@ function useAutocomplete(_ref) {
190
190
  }
191
191
 
192
192
  function handleKeyDown(event) {
193
- setBackspacing(event.keyCode === BACKSPACE);
193
+ backspacing.current = event.keyCode === BACKSPACE;
194
194
 
195
195
  if (!autocompleter) {
196
196
  return;
@@ -235,14 +235,16 @@ function useAutocomplete(_ref) {
235
235
 
236
236
 
237
237
  event.preventDefault();
238
- }
239
-
240
- let textContent;
238
+ } // textContent is a primitive (string), memoizing is not strictly necessary
239
+ // but this is a preemptive performance improvement, since the autocompleter
240
+ // is a potential bottleneck for the editor type metric.
241
241
 
242
- if (isCollapsed(record)) {
243
- textContent = getTextContent(slice(record, 0));
244
- }
245
242
 
243
+ const textContent = useMemo(() => {
244
+ if (isCollapsed(record)) {
245
+ return getTextContent(slice(record, 0));
246
+ }
247
+ }, [record]);
246
248
  useEffect(() => {
247
249
  if (!textContent) {
248
250
  reset();
@@ -290,7 +292,7 @@ function useAutocomplete(_ref) {
290
292
  // Ex: "Some text @marcelo sekkkk" <--- "kkkk" caused a mismatch, but
291
293
  // if the user presses backspace here, it will show the completion popup again.
292
294
 
293
- const matchingWhileBackspacing = backspacing && textWithoutTrigger.split(/\s/).length <= 3;
295
+ const matchingWhileBackspacing = backspacing.current && textWithoutTrigger.split(/\s/).length <= 3;
294
296
 
295
297
  if (mismatch && !(matchingWhileBackspacing || hasOneTriggerWord)) {
296
298
  return false;
@@ -317,7 +319,9 @@ function useAutocomplete(_ref) {
317
319
  const query = match && match[1];
318
320
  setAutocompleter(completer);
319
321
  setAutocompleterUI(() => completer !== autocompleter ? getAutoCompleterUI(completer) : AutocompleterUI);
320
- setFilterValue(query);
322
+ setFilterValue(query); // Temporarily disabling exhaustive-deps to avoid introducing unexpected side effecst.
323
+ // See https://github.com/WordPress/gutenberg/pull/41820
324
+ // eslint-disable-next-line react-hooks/exhaustive-deps
321
325
  }, [textContent]);
322
326
  const {
323
327
  key: selectedKey = ''
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/index.js"],"names":["escapeRegExp","find","deburr","renderToString","useEffect","useState","useRef","ENTER","ESCAPE","UP","DOWN","LEFT","RIGHT","BACKSPACE","__","_n","sprintf","useInstanceId","useDebounce","useMergeRefs","useRefEffect","create","slice","insert","isCollapsed","getTextContent","speak","getAutoCompleterUI","useAutocomplete","record","onChange","onReplace","completers","contentRef","debouncedSpeak","instanceId","selectedIndex","setSelectedIndex","filteredOptions","setFilteredOptions","filterValue","setFilterValue","autocompleter","setAutocompleter","AutocompleterUI","setAutocompleterUI","backspacing","setBackspacing","insertCompletion","replacement","end","start","triggerPrefix","length","toInsert","html","select","option","getOptionCompletion","isDisabled","completion","value","action","undefined","reset","announce","options","onChangeOptions","handleKeyDown","event","keyCode","defaultPrevented","preventDefault","textContent","text","textAfterSelection","completer","allowContext","index","lastIndexOf","textWithoutTrigger","tooDistantFromTrigger","mismatch","wordsFromTrigger","split","hasOneTriggerWord","matchingWhileBackspacing","test","safeTrigger","match","RegExp","query","key","selectedKey","className","isExpanded","listBoxId","activeId","hasSelection","onKeyDown","popover","useAutocompleteProps","ref","onKeyDownRef","current","element","_onKeyDown","addEventListener","removeEventListener","children","Autocomplete","isSelected","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { escapeRegExp, find, deburr } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport {\n\tENTER,\n\tESCAPE,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tBACKSPACE,\n} from '@wordpress/keycodes';\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';\n\n/**\n * A raw completer option.\n *\n * @typedef {*} CompleterOption\n */\n\n/**\n * @callback FnGetOptions\n *\n * @return {(CompleterOption[]|Promise.<CompleterOption[]>)} The completer options or a promise for them.\n */\n\n/**\n * @callback FnGetOptionKeywords\n * @param {CompleterOption} option a completer option.\n *\n * @return {string[]} list of key words to search.\n */\n\n/**\n * @callback FnIsOptionDisabled\n * @param {CompleterOption} option a completer option.\n *\n * @return {string[]} whether or not the given option is disabled.\n */\n\n/**\n * @callback FnGetOptionLabel\n * @param {CompleterOption} option a completer option.\n *\n * @return {(string|Array.<(string|WPElement)>)} list of react components to render.\n */\n\n/**\n * @callback FnAllowContext\n * @param {string} before the string before the auto complete trigger and query.\n * @param {string} after the string after the autocomplete trigger and query.\n *\n * @return {boolean} true if the completer can handle.\n */\n\n/**\n * @typedef {Object} OptionCompletion\n * @property {'insert-at-caret'|'replace'} action the intended placement of the completion.\n * @property {OptionCompletionValue} value the completion value.\n */\n\n/**\n * A completion value.\n *\n * @typedef {(string|WPElement|Object)} OptionCompletionValue\n */\n\n/**\n * @callback FnGetOptionCompletion\n * @param {CompleterOption} value the value of the completer option.\n * @param {string} query the text value of the autocomplete query.\n *\n * @return {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an\n * \t\t\t\t\t\t\t\t\t\t\t\t\t OptionCompletionValue is returned, the\n * \t\t\t\t\t\t\t\t\t\t\t\t\t completion action defaults to `insert-at-caret`.\n */\n\n/**\n * @typedef {Object} WPCompleter\n * @property {string} name a way to identify a completer, useful for selective overriding.\n * @property {?string} className A class to apply to the popup menu.\n * @property {string} triggerPrefix the prefix that will display the menu.\n * @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.\n * @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.\n * @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.\n * @property {FnGetOptionLabel} getOptionLabel get the label for a given option.\n * @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.\n * @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.\n */\n\nfunction useAutocomplete( {\n\trecord,\n\tonChange,\n\tonReplace,\n\tcompleters,\n\tcontentRef,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst instanceId = useInstanceId( useAutocomplete );\n\tconst [ selectedIndex, setSelectedIndex ] = useState( 0 );\n\tconst [ filteredOptions, setFilteredOptions ] = useState( [] );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ autocompleter, setAutocompleter ] = useState( null );\n\tconst [ AutocompleterUI, setAutocompleterUI ] = useState( null );\n\tconst [ backspacing, setBackspacing ] = useState( false );\n\n\tfunction insertCompletion( replacement ) {\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 ) {\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 { action, value } =\n\t\t\t\tundefined === completion.action ||\n\t\t\t\tundefined === completion.value\n\t\t\t\t\t? { action: 'insert-at-caret', value: completion }\n\t\t\t\t\t: completion;\n\n\t\t\tif ( 'replace' === action ) {\n\t\t\t\tonReplace( [ 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' === action ) {\n\t\t\t\tinsertCompletion( 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( [] );\n\t\tsetFilterValue( '' );\n\t\tsetAutocompleter( null );\n\t\tsetAutocompleterUI( null );\n\t}\n\n\tfunction announce( options ) {\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 ) {\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 ) {\n\t\tsetBackspacing( event.keyCode === 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\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP:\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 DOWN:\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 LEFT:\n\t\t\tcase RIGHT:\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 keycode 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\tlet textContent;\n\n\tif ( isCollapsed( record ) ) {\n\t\ttextContent = getTextContent( slice( record, 0 ) );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! textContent ) {\n\t\t\treset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst text = deburr( textContent );\n\t\tconst textAfterSelection = getTextContent(\n\t\t\tslice( record, undefined, getTextContent( record ).length )\n\t\t);\n\t\tconst completer = find(\n\t\t\tcompleters,\n\t\t\t( { triggerPrefix, allowContext } ) => {\n\t\t\t\tconst index = text.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 = text.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 && textWithoutTrigger.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\tif (\n\t\t\t\t\tallowContext &&\n\t\t\t\t\t! allowContext( text.slice( 0, index ), textAfterSelection )\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\treset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst safeTrigger = escapeRegExp( completer.triggerPrefix );\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 );\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: null;\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\nexport function useAutocompleteProps( options ) {\n\tconst ref = useRef();\n\tconst onKeyDownRef = useRef();\n\tconst { popover, listBoxId, activeId, onKeyDown } = useAutocomplete( {\n\t\t...options,\n\t\tcontentRef: ref,\n\t} );\n\tonKeyDownRef.current = onKeyDown;\n\treturn {\n\t\tref: useMergeRefs( [\n\t\t\tref,\n\t\t\tuseRefEffect( ( element ) => {\n\t\t\t\tfunction _onKeyDown( event ) {\n\t\t\t\t\tonKeyDownRef.current( event );\n\t\t\t\t}\n\t\t\t\telement.addEventListener( 'keydown', _onKeyDown );\n\t\t\t\treturn () => {\n\t\t\t\t\telement.removeEventListener( 'keydown', _onKeyDown );\n\t\t\t\t};\n\t\t\t}, [] ),\n\t\t] ),\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( { children, isSelected, ...options } ) {\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.js"],"names":["escapeRegExp","find","deburr","renderToString","useEffect","useState","useRef","useMemo","ENTER","ESCAPE","UP","DOWN","LEFT","RIGHT","BACKSPACE","__","_n","sprintf","useInstanceId","useDebounce","useMergeRefs","useRefEffect","create","slice","insert","isCollapsed","getTextContent","speak","getAutoCompleterUI","useAutocomplete","record","onChange","onReplace","completers","contentRef","debouncedSpeak","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","action","undefined","reset","announce","options","onChangeOptions","handleKeyDown","event","current","keyCode","defaultPrevented","preventDefault","textContent","text","textAfterSelection","completer","allowContext","index","lastIndexOf","textWithoutTrigger","tooDistantFromTrigger","mismatch","wordsFromTrigger","split","hasOneTriggerWord","matchingWhileBackspacing","test","safeTrigger","match","RegExp","query","key","selectedKey","className","isExpanded","listBoxId","activeId","hasSelection","onKeyDown","popover","useAutocompleteProps","ref","onKeyDownRef","element","_onKeyDown","addEventListener","removeEventListener","children","Autocomplete","isSelected","props"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,YAAT,EAAuBC,IAAvB,EAA6BC,MAA7B,QAA2C,QAA3C;AAEA;AACA;AACA;;AACA,SACCC,cADD,EAECC,SAFD,EAGCC,QAHD,EAICC,MAJD,EAKCC,OALD,QAMO,oBANP;AAOA,SACCC,KADD,EAECC,MAFD,EAGCC,EAHD,EAICC,IAJD,EAKCC,IALD,EAMCC,KAND,EAOCC,SAPD,QAQO,qBARP;AASA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SACCC,aADD,EAECC,WAFD,EAGCC,YAHD,EAICC,YAJD,QAKO,oBALP;AAMA,SACCC,MADD,EAECC,KAFD,EAGCC,MAHD,EAICC,WAJD,EAKCC,cALD,QAMO,sBANP;AAOA,SAASC,KAAT,QAAsB,iBAAtB;AAEA;AACA;AACA;;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASC,eAAT,OAMI;AAAA,MANsB;AACzBC,IAAAA,MADyB;AAEzBC,IAAAA,QAFyB;AAGzBC,IAAAA,SAHyB;AAIzBC,IAAAA,UAJyB;AAKzBC,IAAAA;AALyB,GAMtB;AACH,QAAMC,cAAc,GAAGhB,WAAW,CAAEQ,KAAF,EAAS,GAAT,CAAlC;AACA,QAAMS,UAAU,GAAGlB,aAAa,CAAEW,eAAF,CAAhC;AACA,QAAM,CAAEQ,aAAF,EAAiBC,gBAAjB,IAAsCjC,QAAQ,CAAE,CAAF,CAApD;AACA,QAAM,CAAEkC,eAAF,EAAmBC,kBAAnB,IAA0CnC,QAAQ,CAAE,EAAF,CAAxD;AACA,QAAM,CAAEoC,WAAF,EAAeC,cAAf,IAAkCrC,QAAQ,CAAE,EAAF,CAAhD;AACA,QAAM,CAAEsC,aAAF,EAAiBC,gBAAjB,IAAsCvC,QAAQ,CAAE,IAAF,CAApD;AACA,QAAM,CAAEwC,eAAF,EAAmBC,kBAAnB,IAA0CzC,QAAQ,CAAE,IAAF,CAAxD;AACA,QAAM0C,WAAW,GAAGzC,MAAM,CAAE,KAAF,CAA1B;;AAEA,WAAS0C,gBAAT,CAA2BC,WAA3B,EAAyC;AACxC,UAAMC,GAAG,GAAGpB,MAAM,CAACqB,KAAnB;AACA,UAAMA,KAAK,GACVD,GAAG,GAAGP,aAAa,CAACS,aAAd,CAA4BC,MAAlC,GAA2CZ,WAAW,CAACY,MADxD;AAEA,UAAMC,QAAQ,GAAGhC,MAAM,CAAE;AAAEiC,MAAAA,IAAI,EAAEpD,cAAc,CAAE8C,WAAF;AAAtB,KAAF,CAAvB;AAEAlB,IAAAA,QAAQ,CAAEP,MAAM,CAAEM,MAAF,EAAUwB,QAAV,EAAoBH,KAApB,EAA2BD,GAA3B,CAAR,CAAR;AACA;;AAED,WAASM,MAAT,CAAiBC,MAAjB,EAA0B;AACzB,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,YAAM;AAAEqB,QAAAA,MAAF;AAAUD,QAAAA;AAAV,UACLE,SAAS,KAAKH,UAAU,CAACE,MAAzB,IACAC,SAAS,KAAKH,UAAU,CAACC,KADzB,GAEG;AAAEC,QAAAA,MAAM,EAAE,iBAAV;AAA6BD,QAAAA,KAAK,EAAED;AAApC,OAFH,GAGGA,UAJJ;;AAMA,UAAK,cAAcE,MAAnB,EAA4B;AAC3B9B,QAAAA,SAAS,CAAE,CAAE6B,KAAF,CAAF,CAAT,CAD2B,CAE3B;AACA;;AACA;AACA,OALD,MAKO,IAAK,sBAAsBC,MAA3B,EAAoC;AAC1Cd,QAAAA,gBAAgB,CAAEa,KAAF,CAAhB;AACA;AACD,KAxBwB,CA0BzB;AACA;;;AACAG,IAAAA,KAAK;AACL;;AAED,WAASA,KAAT,GAAiB;AAChB1B,IAAAA,gBAAgB,CAAE,CAAF,CAAhB;AACAE,IAAAA,kBAAkB,CAAE,EAAF,CAAlB;AACAE,IAAAA,cAAc,CAAE,EAAF,CAAd;AACAE,IAAAA,gBAAgB,CAAE,IAAF,CAAhB;AACAE,IAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA;;AAED,WAASmB,QAAT,CAAmBC,OAAnB,EAA6B;AAC5B,QAAK,CAAE/B,cAAP,EAAwB;AACvB;AACA;;AACD,QAAK,CAAC,CAAE+B,OAAO,CAACb,MAAhB,EAAyB;AACxBlB,MAAAA,cAAc,CACblB,OAAO;AACN;AACAD,MAAAA,EAAE,CACD,0DADC,EAED,2DAFC,EAGDkD,OAAO,CAACb,MAHP,CAFI,EAONa,OAAO,CAACb,MAPF,CADM,EAUb,WAVa,CAAd;AAYA,KAbD,MAaO;AACNlB,MAAAA,cAAc,CAAEpB,EAAE,CAAE,aAAF,CAAJ,EAAuB,WAAvB,CAAd;AACA;AACD;AAED;AACD;AACA;AACA;AACA;;;AACC,WAASoD,eAAT,CAA0BD,OAA1B,EAAoC;AACnC5B,IAAAA,gBAAgB,CACf4B,OAAO,CAACb,MAAR,KAAmBd,eAAe,CAACc,MAAnC,GAA4ChB,aAA5C,GAA4D,CAD7C,CAAhB;AAGAG,IAAAA,kBAAkB,CAAE0B,OAAF,CAAlB;AACAD,IAAAA,QAAQ,CAAEC,OAAF,CAAR;AACA;;AAED,WAASE,aAAT,CAAwBC,KAAxB,EAAgC;AAC/BtB,IAAAA,WAAW,CAACuB,OAAZ,GAAsBD,KAAK,CAACE,OAAN,KAAkBzD,SAAxC;;AAEA,QAAK,CAAE6B,aAAP,EAAuB;AACtB;AACA;;AACD,QAAKJ,eAAe,CAACc,MAAhB,KAA2B,CAAhC,EAAoC;AACnC;AACA;;AACD,QAAKgB,KAAK,CAACG,gBAAX,EAA8B;AAC7B;AACA;;AACD,YAASH,KAAK,CAACE,OAAf;AACC,WAAK7D,EAAL;AACC4B,QAAAA,gBAAgB,CACf,CAAED,aAAa,KAAK,CAAlB,GACCE,eAAe,CAACc,MADjB,GAEChB,aAFH,IAEqB,CAHN,CAAhB;AAKA;;AAED,WAAK1B,IAAL;AACC2B,QAAAA,gBAAgB,CACf,CAAED,aAAa,GAAG,CAAlB,IAAwBE,eAAe,CAACc,MADzB,CAAhB;AAGA;;AAED,WAAK5C,MAAL;AACCmC,QAAAA,gBAAgB,CAAE,IAAF,CAAhB;AACAE,QAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACAuB,QAAAA,KAAK,CAACI,cAAN;AACA;;AAED,WAAKjE,KAAL;AACCgD,QAAAA,MAAM,CAAEjB,eAAe,CAAEF,aAAF,CAAjB,CAAN;AACA;;AAED,WAAKzB,IAAL;AACA,WAAKC,KAAL;AACCmD,QAAAA,KAAK;AACL;;AAED;AACC;AA/BF,KAZ+B,CA8C/B;AACA;;;AACAK,IAAAA,KAAK,CAACI,cAAN;AACA,GA9IE,CAgJH;AACA;AACA;;;AACA,QAAMC,WAAW,GAAGnE,OAAO,CAAE,MAAM;AAClC,QAAKkB,WAAW,CAAEK,MAAF,CAAhB,EAA6B;AAC5B,aAAOJ,cAAc,CAAEH,KAAK,CAAEO,MAAF,EAAU,CAAV,CAAP,CAArB;AACA;AACD,GAJ0B,EAIxB,CAAEA,MAAF,CAJwB,CAA3B;AAMA1B,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEsE,WAAP,EAAqB;AACpBV,MAAAA,KAAK;AACL;AACA;;AAED,UAAMW,IAAI,GAAGzE,MAAM,CAAEwE,WAAF,CAAnB;AACA,UAAME,kBAAkB,GAAGlD,cAAc,CACxCH,KAAK,CAAEO,MAAF,EAAUiC,SAAV,EAAqBrC,cAAc,CAAEI,MAAF,CAAd,CAAyBuB,MAA9C,CADmC,CAAzC;AAGA,UAAMwB,SAAS,GAAG5E,IAAI,CACrBgC,UADqB,EAErB,SAAuC;AAAA,UAArC;AAAEmB,QAAAA,aAAF;AAAiB0B,QAAAA;AAAjB,OAAqC;AACtC,YAAMC,KAAK,GAAGJ,IAAI,CAACK,WAAL,CAAkB5B,aAAlB,CAAd;;AAEA,UAAK2B,KAAK,KAAK,CAAC,CAAhB,EAAoB;AACnB,eAAO,KAAP;AACA;;AAED,YAAME,kBAAkB,GAAGN,IAAI,CAACpD,KAAL,CAC1BwD,KAAK,GAAG3B,aAAa,CAACC,MADI,CAA3B;AAIA,YAAM6B,qBAAqB,GAAGD,kBAAkB,CAAC5B,MAAnB,GAA4B,EAA1D,CAXsC,CAWwB;AAC9D;AACA;AACA;AACA;AACA;;AACA,UAAK6B,qBAAL,EAA6B,OAAO,KAAP;AAE7B,YAAMC,QAAQ,GAAG5C,eAAe,CAACc,MAAhB,KAA2B,CAA5C;AACA,YAAM+B,gBAAgB,GAAGH,kBAAkB,CAACI,KAAnB,CAA0B,IAA1B,CAAzB,CApBsC,CAqBtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,YAAMC,iBAAiB,GAAGF,gBAAgB,CAAC/B,MAAjB,KAA4B,CAAtD,CA5BsC,CA6BtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,YAAMkC,wBAAwB,GAC7BxC,WAAW,CAACuB,OAAZ,IACAW,kBAAkB,CAACI,KAAnB,CAA0B,IAA1B,EAAiChC,MAAjC,IAA2C,CAF5C;;AAIA,UACC8B,QAAQ,IACR,EAAII,wBAAwB,IAAID,iBAAhC,CAFD,EAGE;AACD,eAAO,KAAP;AACA;;AAED,UACCR,YAAY,IACZ,CAAEA,YAAY,CAAEH,IAAI,CAACpD,KAAL,CAAY,CAAZ,EAAewD,KAAf,CAAF,EAA0BH,kBAA1B,CAFf,EAGE;AACD,eAAO,KAAP;AACA;;AAED,UACC,MAAMY,IAAN,CAAYP,kBAAZ,KACA,SAASO,IAAT,CAAeP,kBAAf,CAFD,EAGE;AACD,eAAO,KAAP;AACA;;AAED,aAAO,oBAAoBO,IAApB,CAA0BP,kBAA1B,CAAP;AACA,KAlEoB,CAAtB;;AAqEA,QAAK,CAAEJ,SAAP,EAAmB;AAClBb,MAAAA,KAAK;AACL;AACA;;AAED,UAAMyB,WAAW,GAAGzF,YAAY,CAAE6E,SAAS,CAACzB,aAAZ,CAAhC;AACA,UAAMsC,KAAK,GAAGf,IAAI,CAChBpD,KADY,CACLoD,IAAI,CAACK,WAAL,CAAkBH,SAAS,CAACzB,aAA5B,CADK,EAEZsC,KAFY,CAEL,IAAIC,MAAJ,CAAa,GAAGF,WAAa,qBAA7B,CAFK,CAAd;AAGA,UAAMG,KAAK,GAAGF,KAAK,IAAIA,KAAK,CAAE,CAAF,CAA5B;AAEA9C,IAAAA,gBAAgB,CAAEiC,SAAF,CAAhB;AACA/B,IAAAA,kBAAkB,CAAE,MACnB+B,SAAS,KAAKlC,aAAd,GACGf,kBAAkB,CAAEiD,SAAF,CADrB,GAEGhC,eAHc,CAAlB;AAKAH,IAAAA,cAAc,CAAEkD,KAAF,CAAd,CAhGgB,CAiGhB;AACA;AACA;AACA,GApGQ,EAoGN,CAAElB,WAAF,CApGM,CAAT;AAsGA,QAAM;AAAEmB,IAAAA,GAAG,EAAEC,WAAW,GAAG;AAArB,MAA4BvD,eAAe,CAAEF,aAAF,CAAf,IAAoC,EAAtE;AACA,QAAM;AAAE0D,IAAAA;AAAF,MAAgBpD,aAAa,IAAI,EAAvC;AACA,QAAMqD,UAAU,GAAG,CAAC,CAAErD,aAAH,IAAoBJ,eAAe,CAACc,MAAhB,GAAyB,CAAhE;AACA,QAAM4C,SAAS,GAAGD,UAAU,GACxB,mCAAmC5D,UAAY,EADvB,GAEzB,IAFH;AAGA,QAAM8D,QAAQ,GAAGF,UAAU,GACvB,gCAAgC5D,UAAY,IAAI0D,WAAa,EADtC,GAExB,IAFH;AAGA,QAAMK,YAAY,GAAGrE,MAAM,CAACqB,KAAP,KAAiBY,SAAtC;AAEA,SAAO;AACNkC,IAAAA,SADM;AAENC,IAAAA,QAFM;AAGNE,IAAAA,SAAS,EAAEhC,aAHL;AAINiC,IAAAA,OAAO,EAAEF,YAAY,IAAItD,eAAhB,IACR,cAAC,eAAD;AACC,MAAA,SAAS,EAAGkD,SADb;AAEC,MAAA,WAAW,EAAGtD,WAFf;AAGC,MAAA,UAAU,EAAGL,UAHd;AAIC,MAAA,SAAS,EAAG6D,SAJb;AAKC,MAAA,aAAa,EAAG5D,aALjB;AAMC,MAAA,eAAe,EAAG8B,eANnB;AAOC,MAAA,QAAQ,EAAGX,MAPZ;AAQC,MAAA,KAAK,EAAG1B,MART;AASC,MAAA,UAAU,EAAGI,UATd;AAUC,MAAA,KAAK,EAAG8B;AAVT;AALK,GAAP;AAmBA;;AAED,OAAO,SAASsC,oBAAT,CAA+BpC,OAA/B,EAAyC;AAC/C,QAAMqC,GAAG,GAAGjG,MAAM,EAAlB;AACA,QAAMkG,YAAY,GAAGlG,MAAM,EAA3B;AACA,QAAM;AAAE+F,IAAAA,OAAF;AAAWJ,IAAAA,SAAX;AAAsBC,IAAAA,QAAtB;AAAgCE,IAAAA;AAAhC,MAA8CvE,eAAe,CAAE,EACpE,GAAGqC,OADiE;AAEpEhC,IAAAA,UAAU,EAAEqE;AAFwD,GAAF,CAAnE;AAIAC,EAAAA,YAAY,CAAClC,OAAb,GAAuB8B,SAAvB;AACA,SAAO;AACNG,IAAAA,GAAG,EAAEnF,YAAY,CAAE,CAClBmF,GADkB,EAElBlF,YAAY,CAAIoF,OAAF,IAAe;AAC5B,eAASC,UAAT,CAAqBrC,KAArB,EAA6B;AAC5BmC,QAAAA,YAAY,CAAClC,OAAb,CAAsBD,KAAtB;AACA;;AACDoC,MAAAA,OAAO,CAACE,gBAAR,CAA0B,SAA1B,EAAqCD,UAArC;AACA,aAAO,MAAM;AACZD,QAAAA,OAAO,CAACG,mBAAR,CAA6B,SAA7B,EAAwCF,UAAxC;AACA,OAFD;AAGA,KARW,EAQT,EARS,CAFM,CAAF,CADX;AAaNG,IAAAA,QAAQ,EAAER,OAbJ;AAcN,yBAAqBJ,SAAS,GAAG,MAAH,GAAYlC,SAdpC;AAeN,iBAAakC,SAfP;AAgBN,6BAAyBC;AAhBnB,GAAP;AAkBA;AAED,eAAe,SAASY,YAAT,QAA8D;AAAA,MAAvC;AAAED,IAAAA,QAAF;AAAYE,IAAAA,UAAZ;AAAwB,OAAG7C;AAA3B,GAAuC;AAC5E,QAAM;AAAEmC,IAAAA,OAAF;AAAW,OAAGW;AAAd,MAAwBnF,eAAe,CAAEqC,OAAF,CAA7C;AACA,SACC,8BACG2C,QAAQ,CAAEG,KAAF,CADX,EAEGD,UAAU,IAAIV,OAFjB,CADD;AAMA","sourcesContent":["/**\n * External dependencies\n */\nimport { escapeRegExp, find, deburr } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\tENTER,\n\tESCAPE,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tBACKSPACE,\n} from '@wordpress/keycodes';\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';\n\n/**\n * A raw completer option.\n *\n * @typedef {*} CompleterOption\n */\n\n/**\n * @callback FnGetOptions\n *\n * @return {(CompleterOption[]|Promise.<CompleterOption[]>)} The completer options or a promise for them.\n */\n\n/**\n * @callback FnGetOptionKeywords\n * @param {CompleterOption} option a completer option.\n *\n * @return {string[]} list of key words to search.\n */\n\n/**\n * @callback FnIsOptionDisabled\n * @param {CompleterOption} option a completer option.\n *\n * @return {string[]} whether or not the given option is disabled.\n */\n\n/**\n * @callback FnGetOptionLabel\n * @param {CompleterOption} option a completer option.\n *\n * @return {(string|Array.<(string|WPElement)>)} list of react components to render.\n */\n\n/**\n * @callback FnAllowContext\n * @param {string} before the string before the auto complete trigger and query.\n * @param {string} after the string after the autocomplete trigger and query.\n *\n * @return {boolean} true if the completer can handle.\n */\n\n/**\n * @typedef {Object} OptionCompletion\n * @property {'insert-at-caret'|'replace'} action the intended placement of the completion.\n * @property {OptionCompletionValue} value the completion value.\n */\n\n/**\n * A completion value.\n *\n * @typedef {(string|WPElement|Object)} OptionCompletionValue\n */\n\n/**\n * @callback FnGetOptionCompletion\n * @param {CompleterOption} value the value of the completer option.\n * @param {string} query the text value of the autocomplete query.\n *\n * @return {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an\n * \t\t\t\t\t\t\t\t\t\t\t\t\t OptionCompletionValue is returned, the\n * \t\t\t\t\t\t\t\t\t\t\t\t\t completion action defaults to `insert-at-caret`.\n */\n\n/**\n * @typedef {Object} WPCompleter\n * @property {string} name a way to identify a completer, useful for selective overriding.\n * @property {?string} className A class to apply to the popup menu.\n * @property {string} triggerPrefix the prefix that will display the menu.\n * @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.\n * @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.\n * @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.\n * @property {FnGetOptionLabel} getOptionLabel get the label for a given option.\n * @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.\n * @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.\n */\n\nfunction useAutocomplete( {\n\trecord,\n\tonChange,\n\tonReplace,\n\tcompleters,\n\tcontentRef,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst instanceId = useInstanceId( useAutocomplete );\n\tconst [ selectedIndex, setSelectedIndex ] = useState( 0 );\n\tconst [ filteredOptions, setFilteredOptions ] = useState( [] );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ autocompleter, setAutocompleter ] = useState( null );\n\tconst [ AutocompleterUI, setAutocompleterUI ] = useState( null );\n\tconst backspacing = useRef( false );\n\n\tfunction insertCompletion( replacement ) {\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 ) {\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 { action, value } =\n\t\t\t\tundefined === completion.action ||\n\t\t\t\tundefined === completion.value\n\t\t\t\t\t? { action: 'insert-at-caret', value: completion }\n\t\t\t\t\t: completion;\n\n\t\t\tif ( 'replace' === action ) {\n\t\t\t\tonReplace( [ 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' === action ) {\n\t\t\t\tinsertCompletion( 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( [] );\n\t\tsetFilterValue( '' );\n\t\tsetAutocompleter( null );\n\t\tsetAutocompleterUI( null );\n\t}\n\n\tfunction announce( options ) {\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 ) {\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 ) {\n\t\tbackspacing.current = event.keyCode === 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\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP:\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 DOWN:\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 LEFT:\n\t\t\tcase RIGHT:\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 keycode 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}, [ record ] );\n\n\tuseEffect( () => {\n\t\tif ( ! textContent ) {\n\t\t\treset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst text = deburr( textContent );\n\t\tconst textAfterSelection = getTextContent(\n\t\t\tslice( record, undefined, getTextContent( record ).length )\n\t\t);\n\t\tconst completer = find(\n\t\t\tcompleters,\n\t\t\t( { triggerPrefix, allowContext } ) => {\n\t\t\t\tconst index = text.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 = text.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\tif (\n\t\t\t\t\tallowContext &&\n\t\t\t\t\t! allowContext( text.slice( 0, index ), textAfterSelection )\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\treset();\n\t\t\treturn;\n\t\t}\n\n\t\tconst safeTrigger = escapeRegExp( completer.triggerPrefix );\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 );\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: null;\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\nexport function useAutocompleteProps( options ) {\n\tconst ref = useRef();\n\tconst onKeyDownRef = useRef();\n\tconst { popover, listBoxId, activeId, onKeyDown } = useAutocomplete( {\n\t\t...options,\n\t\tcontentRef: ref,\n\t} );\n\tonKeyDownRef.current = onKeyDown;\n\treturn {\n\t\tref: useMergeRefs( [\n\t\t\tref,\n\t\t\tuseRefEffect( ( element ) => {\n\t\t\t\tfunction _onKeyDown( event ) {\n\t\t\t\t\tonKeyDownRef.current( event );\n\t\t\t\t}\n\t\t\t\telement.addEventListener( 'keydown', _onKeyDown );\n\t\t\t\treturn () => {\n\t\t\t\t\telement.removeEventListener( 'keydown', _onKeyDown );\n\t\t\t\t};\n\t\t\t}, [] ),\n\t\t] ),\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( { children, isSelected, ...options } ) {\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"]}
@@ -65,7 +65,8 @@ const BorderBoxControl = (props, forwardedRef) => {
65
65
  const popoverProps = popoverPlacement ? {
66
66
  placement: popoverPlacement,
67
67
  offset: popoverOffset,
68
- anchorRef: containerRef
68
+ anchorRef: containerRef,
69
+ __unstableShift: true
69
70
  } : undefined;
70
71
  return createElement(View, _extends({
71
72
  className: className
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control/component.tsx"],"names":["__","useRef","useMergeRefs","BorderBoxControlLinkedButton","BorderBoxControlSplitControls","BorderControl","HStack","StyledLabel","View","VisuallyHidden","contextConnect","useBorderBoxControl","BorderLabel","props","label","hideLabelFromVision","BorderBoxControl","forwardedRef","className","colors","disableCustomColors","enableAlpha","enableStyle","hasMixedBorders","isLinked","linkedControlClassName","linkedValue","onLinkedChange","onSplitChange","popoverPlacement","popoverOffset","splitValue","toggleLinked","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","__next36pxDefaultSize","otherProps","containerRef","mergedRef","popoverProps","placement","offset","anchorRef","undefined","ConnectedBorderBoxControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlLinkedButton from '../border-box-control-linked-button';\nimport BorderBoxControlSplitControls from '../border-box-control-split-controls';\nimport { BorderControl } from '../../border-control';\nimport { HStack } from '../../h-stack';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderBoxControl } from './hook';\n\nimport type { BorderBoxControlProps } from '../types';\nimport type { LabelProps } from '../../border-control/types';\n\nconst BorderLabel = ( props: LabelProps ) => {\n\tconst { label, hideLabelFromVision } = props;\n\n\tif ( ! label ) {\n\t\treturn null;\n\t}\n\n\treturn hideLabelFromVision ? (\n\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel>{ label }</StyledLabel>\n\t);\n};\n\nconst BorderBoxControl = (\n\tprops: WordPressComponentProps< BorderBoxControlProps, 'div' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tclassName,\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thasMixedBorders,\n\t\thideLabelFromVision,\n\t\tisLinked,\n\t\tlabel,\n\t\tlinkedControlClassName,\n\t\tlinkedValue,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\tpopoverPlacement,\n\t\tpopoverOffset,\n\t\tsplitValue,\n\t\ttoggleLinked,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useBorderBoxControl( props );\n\tconst containerRef = useRef();\n\tconst mergedRef = useMergeRefs( [ containerRef, forwardedRef ] );\n\tconst popoverProps = popoverPlacement\n\t\t? {\n\t\t\t\tplacement: popoverPlacement,\n\t\t\t\toffset: popoverOffset,\n\t\t\t\tanchorRef: containerRef,\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<View className={ className } { ...otherProps } ref={ mergedRef }>\n\t\t\t<BorderLabel\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t\t<HStack alignment={ 'start' } expanded={ true } spacing={ 0 }>\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<BorderControl\n\t\t\t\t\t\tclassName={ linkedControlClassName }\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onLinkedChange }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\thasMixedBorders ? __( 'Mixed' ) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\t\t\tshouldSanitizeBorder={ false } // This component will handle that.\n\t\t\t\t\t\tvalue={ linkedValue }\n\t\t\t\t\t\twithSlider={ true }\n\t\t\t\t\t\twidth={ '110px' }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BorderBoxControlSplitControls\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onSplitChange }\n\t\t\t\t\t\tpopoverPlacement={ popoverPlacement }\n\t\t\t\t\t\tpopoverOffset={ popoverOffset }\n\t\t\t\t\t\tvalue={ splitValue }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BorderBoxControlLinkedButton\n\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\nconst ConnectedBorderBoxControl = contextConnect(\n\tBorderBoxControl,\n\t'BorderBoxControl'\n);\n\nexport default ConnectedBorderBoxControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control/component.tsx"],"names":["__","useRef","useMergeRefs","BorderBoxControlLinkedButton","BorderBoxControlSplitControls","BorderControl","HStack","StyledLabel","View","VisuallyHidden","contextConnect","useBorderBoxControl","BorderLabel","props","label","hideLabelFromVision","BorderBoxControl","forwardedRef","className","colors","disableCustomColors","enableAlpha","enableStyle","hasMixedBorders","isLinked","linkedControlClassName","linkedValue","onLinkedChange","onSplitChange","popoverPlacement","popoverOffset","splitValue","toggleLinked","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","__next36pxDefaultSize","otherProps","containerRef","mergedRef","popoverProps","placement","offset","anchorRef","__unstableShift","undefined","ConnectedBorderBoxControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlLinkedButton from '../border-box-control-linked-button';\nimport BorderBoxControlSplitControls from '../border-box-control-split-controls';\nimport { BorderControl } from '../../border-control';\nimport { HStack } from '../../h-stack';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderBoxControl } from './hook';\n\nimport type { BorderBoxControlProps } from '../types';\nimport type { LabelProps } from '../../border-control/types';\n\nconst BorderLabel = ( props: LabelProps ) => {\n\tconst { label, hideLabelFromVision } = props;\n\n\tif ( ! label ) {\n\t\treturn null;\n\t}\n\n\treturn hideLabelFromVision ? (\n\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel>{ label }</StyledLabel>\n\t);\n};\n\nconst BorderBoxControl = (\n\tprops: WordPressComponentProps< BorderBoxControlProps, 'div' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tclassName,\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thasMixedBorders,\n\t\thideLabelFromVision,\n\t\tisLinked,\n\t\tlabel,\n\t\tlinkedControlClassName,\n\t\tlinkedValue,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\tpopoverPlacement,\n\t\tpopoverOffset,\n\t\tsplitValue,\n\t\ttoggleLinked,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useBorderBoxControl( props );\n\tconst containerRef = useRef();\n\tconst mergedRef = useMergeRefs( [ containerRef, forwardedRef ] );\n\tconst popoverProps = popoverPlacement\n\t\t? {\n\t\t\t\tplacement: popoverPlacement,\n\t\t\t\toffset: popoverOffset,\n\t\t\t\tanchorRef: containerRef,\n\t\t\t\t__unstableShift: true,\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<View className={ className } { ...otherProps } ref={ mergedRef }>\n\t\t\t<BorderLabel\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t\t<HStack alignment={ 'start' } expanded={ true } spacing={ 0 }>\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<BorderControl\n\t\t\t\t\t\tclassName={ linkedControlClassName }\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onLinkedChange }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\thasMixedBorders ? __( 'Mixed' ) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\t\t\tshouldSanitizeBorder={ false } // This component will handle that.\n\t\t\t\t\t\tvalue={ linkedValue }\n\t\t\t\t\t\twithSlider={ true }\n\t\t\t\t\t\twidth={ '110px' }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BorderBoxControlSplitControls\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onSplitChange }\n\t\t\t\t\t\tpopoverPlacement={ popoverPlacement }\n\t\t\t\t\t\tpopoverOffset={ popoverOffset }\n\t\t\t\t\t\tvalue={ splitValue }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BorderBoxControlLinkedButton\n\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\nconst ConnectedBorderBoxControl = contextConnect(\n\tBorderBoxControl,\n\t'BorderBoxControl'\n);\n\nexport default ConnectedBorderBoxControl;\n"]}