@wordpress/components 25.6.1 → 25.8.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 (1064) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +3 -8
  4. package/build/animation/index.js +6 -0
  5. package/build/animation/index.js.map +1 -1
  6. package/build/border-control/border-control-dropdown/component.js +1 -1
  7. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  8. package/build/border-control/styles.js +20 -20
  9. package/build/border-control/styles.js.map +1 -1
  10. package/build/box-control/unit-control.js +1 -1
  11. package/build/box-control/unit-control.js.map +1 -1
  12. package/build/button/index.js +9 -1
  13. package/build/button/index.js.map +1 -1
  14. package/build/button/types.js.map +1 -1
  15. package/build/circular-option-picker/circular-option-picker-actions.js +53 -0
  16. package/build/circular-option-picker/circular-option-picker-actions.js.map +1 -0
  17. package/build/circular-option-picker/circular-option-picker-context.js +14 -0
  18. package/build/circular-option-picker/circular-option-picker-context.js.map +1 -0
  19. package/build/circular-option-picker/circular-option-picker-option-group.js +26 -0
  20. package/build/circular-option-picker/circular-option-picker-option-group.js.map +1 -0
  21. package/build/circular-option-picker/circular-option-picker-option.js +122 -0
  22. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -0
  23. package/build/circular-option-picker/circular-option-picker.js +172 -0
  24. package/build/circular-option-picker/circular-option-picker.js.map +1 -0
  25. package/build/circular-option-picker/index.js +29 -137
  26. package/build/circular-option-picker/index.js.map +1 -1
  27. package/build/circular-option-picker/types.js.map +1 -1
  28. package/build/color-palette/index.js +58 -19
  29. package/build/color-palette/index.js.map +1 -1
  30. package/build/color-palette/types.js.map +1 -1
  31. package/build/color-picker/hsv-color-picker.native.js +92 -0
  32. package/build/color-picker/hsv-color-picker.native.js.map +1 -0
  33. package/build/color-picker/hue-picker.native.js +195 -0
  34. package/build/color-picker/hue-picker.native.js.map +1 -0
  35. package/build/color-picker/index.native.js +3 -2
  36. package/build/color-picker/index.native.js.map +1 -1
  37. package/build/color-picker/saturation-picker.native.js +178 -0
  38. package/build/color-picker/saturation-picker.native.js.map +1 -0
  39. package/build/combobox-control/index.js +0 -3
  40. package/build/combobox-control/index.js.map +1 -1
  41. package/build/composite/index.js.map +1 -1
  42. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  43. package/build/date-time/time/timezone.js +1 -1
  44. package/build/date-time/time/timezone.js.map +1 -1
  45. package/build/dropdown/index.js +11 -23
  46. package/build/dropdown/index.js.map +1 -1
  47. package/build/dropdown/types.js.map +1 -1
  48. package/build/dropdown-menu/index.js +7 -1
  49. package/build/dropdown-menu/index.js.map +1 -1
  50. package/build/dropdown-menu/types.js.map +1 -1
  51. package/build/dropdown-menu-v2/styles.js +16 -16
  52. package/build/dropdown-menu-v2/styles.js.map +1 -1
  53. package/build/duotone-picker/color-list-picker/index.js +18 -3
  54. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  55. package/build/duotone-picker/duotone-picker.js +33 -1
  56. package/build/duotone-picker/duotone-picker.js.map +1 -1
  57. package/build/duotone-picker/types.js.map +1 -1
  58. package/build/focusable-iframe/index.js +0 -4
  59. package/build/focusable-iframe/index.js.map +1 -1
  60. package/build/focusable-iframe/types.js +6 -0
  61. package/build/focusable-iframe/types.js.map +1 -0
  62. package/build/form-token-field/index.js +6 -2
  63. package/build/form-token-field/index.js.map +1 -1
  64. package/build/form-token-field/types.js.map +1 -1
  65. package/build/gradient-picker/index.js +57 -15
  66. package/build/gradient-picker/index.js.map +1 -1
  67. package/build/gradient-picker/types.js.map +1 -1
  68. package/build/higher-order/navigate-regions/index.js.map +1 -1
  69. package/build/higher-order/with-focus-outside/index.js +1 -2
  70. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  71. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  72. package/build/index.js +6 -0
  73. package/build/index.js.map +1 -1
  74. package/build/input-control/styles/input-control-styles.js +22 -22
  75. package/build/input-control/styles/input-control-styles.js.map +1 -1
  76. package/build/item-group/item/component.js +0 -1
  77. package/build/item-group/item/component.js.map +1 -1
  78. package/build/item-group/item-group/component.js +0 -1
  79. package/build/item-group/item-group/component.js.map +1 -1
  80. package/build/menu-item/index.js +6 -4
  81. package/build/menu-item/index.js.map +1 -1
  82. package/build/menu-item/types.js.map +1 -1
  83. package/build/mobile/bottom-sheet/index.native.js +1 -0
  84. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  85. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  86. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -1
  87. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  88. package/build/navigation/index.js +0 -1
  89. package/build/navigation/index.js.map +1 -1
  90. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  91. package/build/navigator/navigator-provider/component.js +1 -2
  92. package/build/navigator/navigator-provider/component.js.map +1 -1
  93. package/build/notice/index.js +19 -7
  94. package/build/notice/index.js.map +1 -1
  95. package/build/palette-edit/styles.js +10 -10
  96. package/build/palette-edit/styles.js.map +1 -1
  97. package/build/placeholder/index.js.map +1 -1
  98. package/build/popover/index.js +68 -151
  99. package/build/popover/index.js.map +1 -1
  100. package/build/popover/overlay-middlewares.js.map +1 -1
  101. package/build/popover/types.js.map +1 -1
  102. package/build/popover/utils.js +10 -87
  103. package/build/popover/utils.js.map +1 -1
  104. package/build/progress-bar/styles.js +6 -5
  105. package/build/progress-bar/styles.js.map +1 -1
  106. package/build/search-control/index.js +12 -3
  107. package/build/search-control/index.js.map +1 -1
  108. package/build/search-control/index.native.js +27 -24
  109. package/build/search-control/index.native.js.map +1 -1
  110. package/build/search-control/types.js.map +1 -1
  111. package/build/shortcut/index.js +13 -0
  112. package/build/shortcut/index.js.map +1 -1
  113. package/build/slot-fill/bubbles-virtually/slot-fill-context.js +3 -1
  114. package/build/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  115. package/build/slot-fill/bubbles-virtually/slot.js +14 -8
  116. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  117. package/build/slot-fill/index.js +5 -0
  118. package/build/slot-fill/index.js.map +1 -1
  119. package/build/spinner/index.js +0 -1
  120. package/build/spinner/index.js.map +1 -1
  121. package/build/text/styles.js +7 -7
  122. package/build/text/styles.js.map +1 -1
  123. package/build/theme/index.js +0 -1
  124. package/build/theme/index.js.map +1 -1
  125. package/build/toggle-group-control/toggle-group-control/as-button-group.js +30 -45
  126. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  127. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +40 -41
  128. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  129. package/build/toggle-group-control/toggle-group-control/component.js +10 -5
  130. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  131. package/build/toggle-group-control/toggle-group-control/styles.js +9 -16
  132. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  133. package/build/toggle-group-control/toggle-group-control/utils.js +44 -0
  134. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -0
  135. package/build/toggle-group-control/toggle-group-control-option-base/component.js +36 -17
  136. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  137. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +10 -8
  138. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  139. package/build/toggle-group-control/types.js.map +1 -1
  140. package/build/toolbar/toolbar/index.js +7 -1
  141. package/build/toolbar/toolbar/index.js.map +1 -1
  142. package/build/toolbar/toolbar-dropdown-menu/index.js +1 -3
  143. package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  144. package/build/toolbar/toolbar-group/index.js +16 -12
  145. package/build/toolbar/toolbar-group/index.js.map +1 -1
  146. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +0 -2
  147. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  148. package/build/toolbar/toolbar-group/toolbar-group-container.js +3 -1
  149. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  150. package/build/toolbar/toolbar-group/types.js +6 -0
  151. package/build/toolbar/toolbar-group/types.js.map +1 -0
  152. package/build/toolbar/toolbar-item/index.js +1 -1
  153. package/build/toolbar/toolbar-item/index.js.map +1 -1
  154. package/build/tools-panel/tools-panel/component.js +0 -1
  155. package/build/tools-panel/tools-panel/component.js.map +1 -1
  156. package/build/tools-panel/tools-panel-header/component.js +5 -1
  157. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  158. package/build/tooltip/index.js +51 -225
  159. package/build/tooltip/index.js.map +1 -1
  160. package/build/tooltip/types.js +6 -0
  161. package/build/tooltip/types.js.map +1 -0
  162. package/build/tree-select/index.js +0 -1
  163. package/build/tree-select/index.js.map +1 -1
  164. package/build/ui/context/context-connect.js.map +1 -1
  165. package/build/ui/context/wordpress-component.js.map +1 -1
  166. package/build/unit-control/index.js +0 -1
  167. package/build/unit-control/index.js.map +1 -1
  168. package/build/unit-control/styles/unit-control-styles.js +7 -7
  169. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  170. package/build/utils/colors-values.js +1 -1
  171. package/build/utils/colors-values.js.map +1 -1
  172. package/build/utils/hooks/use-cx.js +2 -1
  173. package/build/utils/hooks/use-cx.js.map +1 -1
  174. package/build/utils/use-deprecated-props.js.map +1 -1
  175. package/build/view/component.js +1 -2
  176. package/build/view/component.js.map +1 -1
  177. package/build-module/animation/index.js +1 -1
  178. package/build-module/animation/index.js.map +1 -1
  179. package/build-module/border-control/border-control-dropdown/component.js +1 -1
  180. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  181. package/build-module/border-control/styles.js +20 -20
  182. package/build-module/border-control/styles.js.map +1 -1
  183. package/build-module/box-control/unit-control.js +1 -1
  184. package/build-module/box-control/unit-control.js.map +1 -1
  185. package/build-module/button/index.js +9 -1
  186. package/build-module/button/index.js.map +1 -1
  187. package/build-module/button/types.js.map +1 -1
  188. package/build-module/circular-option-picker/circular-option-picker-actions.js +44 -0
  189. package/build-module/circular-option-picker/circular-option-picker-actions.js.map +1 -0
  190. package/build-module/circular-option-picker/circular-option-picker-context.js +11 -0
  191. package/build-module/circular-option-picker/circular-option-picker-context.js.map +1 -0
  192. package/build-module/circular-option-picker/circular-option-picker-option-group.js +23 -0
  193. package/build-module/circular-option-picker/circular-option-picker-option-group.js.map +1 -0
  194. package/build-module/circular-option-picker/circular-option-picker-option.js +114 -0
  195. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -0
  196. package/build-module/circular-option-picker/circular-option-picker.js +165 -0
  197. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -0
  198. package/build-module/circular-option-picker/index.js +4 -132
  199. package/build-module/circular-option-picker/index.js.map +1 -1
  200. package/build-module/circular-option-picker/types.js.map +1 -1
  201. package/build-module/color-palette/index.js +58 -19
  202. package/build-module/color-palette/index.js.map +1 -1
  203. package/build-module/color-palette/types.js.map +1 -1
  204. package/build-module/color-picker/hsv-color-picker.native.js +84 -0
  205. package/build-module/color-picker/hsv-color-picker.native.js.map +1 -0
  206. package/build-module/color-picker/hue-picker.native.js +185 -0
  207. package/build-module/color-picker/hue-picker.native.js.map +1 -0
  208. package/build-module/color-picker/index.native.js +2 -1
  209. package/build-module/color-picker/index.native.js.map +1 -1
  210. package/build-module/color-picker/saturation-picker.native.js +168 -0
  211. package/build-module/color-picker/saturation-picker.native.js.map +1 -0
  212. package/build-module/combobox-control/index.js +0 -3
  213. package/build-module/combobox-control/index.js.map +1 -1
  214. package/build-module/composite/index.js +2 -0
  215. package/build-module/composite/index.js.map +1 -1
  216. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  217. package/build-module/date-time/time/timezone.js +1 -1
  218. package/build-module/date-time/time/timezone.js.map +1 -1
  219. package/build-module/dropdown/index.js +12 -24
  220. package/build-module/dropdown/index.js.map +1 -1
  221. package/build-module/dropdown/types.js.map +1 -1
  222. package/build-module/dropdown-menu/index.js +7 -1
  223. package/build-module/dropdown-menu/index.js.map +1 -1
  224. package/build-module/dropdown-menu/types.js.map +1 -1
  225. package/build-module/dropdown-menu-v2/styles.js +16 -16
  226. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  227. package/build-module/duotone-picker/color-list-picker/index.js +18 -3
  228. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  229. package/build-module/duotone-picker/duotone-picker.js +33 -1
  230. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  231. package/build-module/duotone-picker/types.js.map +1 -1
  232. package/build-module/focusable-iframe/index.js +2 -3
  233. package/build-module/focusable-iframe/index.js.map +1 -1
  234. package/build-module/focusable-iframe/types.js +2 -0
  235. package/build-module/focusable-iframe/types.js.map +1 -0
  236. package/build-module/form-token-field/index.js +6 -2
  237. package/build-module/form-token-field/index.js.map +1 -1
  238. package/build-module/form-token-field/types.js.map +1 -1
  239. package/build-module/gradient-picker/index.js +57 -15
  240. package/build-module/gradient-picker/index.js.map +1 -1
  241. package/build-module/gradient-picker/types.js.map +1 -1
  242. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  243. package/build-module/higher-order/with-focus-outside/index.js +1 -3
  244. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  245. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  246. package/build-module/index.js +1 -1
  247. package/build-module/index.js.map +1 -1
  248. package/build-module/input-control/styles/input-control-styles.js +23 -23
  249. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  250. package/build-module/item-group/item/component.js +0 -1
  251. package/build-module/item-group/item/component.js.map +1 -1
  252. package/build-module/item-group/item-group/component.js +0 -1
  253. package/build-module/item-group/item-group/component.js.map +1 -1
  254. package/build-module/menu-item/index.js +4 -2
  255. package/build-module/menu-item/index.js.map +1 -1
  256. package/build-module/menu-item/types.js.map +1 -1
  257. package/build-module/mobile/bottom-sheet/index.native.js +1 -0
  258. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  259. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  260. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -1
  261. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  262. package/build-module/navigation/index.js +0 -1
  263. package/build-module/navigation/index.js.map +1 -1
  264. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  265. package/build-module/navigator/navigator-provider/component.js +1 -2
  266. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  267. package/build-module/notice/index.js +19 -7
  268. package/build-module/notice/index.js.map +1 -1
  269. package/build-module/palette-edit/styles.js +10 -10
  270. package/build-module/palette-edit/styles.js.map +1 -1
  271. package/build-module/placeholder/index.js.map +1 -1
  272. package/build-module/popover/index.js +72 -155
  273. package/build-module/popover/index.js.map +1 -1
  274. package/build-module/popover/overlay-middlewares.js.map +1 -1
  275. package/build-module/popover/types.js.map +1 -1
  276. package/build-module/popover/utils.js +9 -83
  277. package/build-module/popover/utils.js.map +1 -1
  278. package/build-module/progress-bar/styles.js +6 -5
  279. package/build-module/progress-bar/styles.js.map +1 -1
  280. package/build-module/search-control/index.js +12 -3
  281. package/build-module/search-control/index.js.map +1 -1
  282. package/build-module/search-control/index.native.js +28 -25
  283. package/build-module/search-control/index.native.js.map +1 -1
  284. package/build-module/search-control/types.js.map +1 -1
  285. package/build-module/shortcut/index.js +13 -0
  286. package/build-module/shortcut/index.js.map +1 -1
  287. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js +3 -1
  288. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  289. package/build-module/slot-fill/bubbles-virtually/slot.js +14 -8
  290. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  291. package/build-module/slot-fill/index.js +6 -1
  292. package/build-module/slot-fill/index.js.map +1 -1
  293. package/build-module/spinner/index.js +0 -1
  294. package/build-module/spinner/index.js.map +1 -1
  295. package/build-module/text/styles.js +7 -7
  296. package/build-module/text/styles.js.map +1 -1
  297. package/build-module/theme/index.js +0 -1
  298. package/build-module/theme/index.js.map +1 -1
  299. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +32 -47
  300. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  301. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +41 -42
  302. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  303. package/build-module/toggle-group-control/toggle-group-control/component.js +10 -6
  304. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  305. package/build-module/toggle-group-control/toggle-group-control/styles.js +8 -14
  306. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  307. package/build-module/toggle-group-control/toggle-group-control/utils.js +42 -0
  308. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -0
  309. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +35 -16
  310. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  311. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +8 -7
  312. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  313. package/build-module/toggle-group-control/types.js.map +1 -1
  314. package/build-module/toolbar/toolbar/index.js +7 -1
  315. package/build-module/toolbar/toolbar/index.js.map +1 -1
  316. package/build-module/toolbar/toolbar-dropdown-menu/index.js +5 -3
  317. package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  318. package/build-module/toolbar/toolbar-group/index.js +15 -12
  319. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  320. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +0 -2
  321. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  322. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +3 -1
  323. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  324. package/build-module/toolbar/toolbar-group/types.js +2 -0
  325. package/build-module/toolbar/toolbar-group/types.js.map +1 -0
  326. package/build-module/toolbar/toolbar-item/index.js +1 -1
  327. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  328. package/build-module/tools-panel/tools-panel/component.js +0 -1
  329. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  330. package/build-module/tools-panel/tools-panel-header/component.js +5 -1
  331. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  332. package/build-module/tooltip/index.js +53 -224
  333. package/build-module/tooltip/index.js.map +1 -1
  334. package/build-module/tooltip/types.js +2 -0
  335. package/build-module/tooltip/types.js.map +1 -0
  336. package/build-module/tree-select/index.js +0 -1
  337. package/build-module/tree-select/index.js.map +1 -1
  338. package/build-module/ui/context/context-connect.js.map +1 -1
  339. package/build-module/ui/context/wordpress-component.js.map +1 -1
  340. package/build-module/unit-control/index.js +0 -1
  341. package/build-module/unit-control/index.js.map +1 -1
  342. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  343. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  344. package/build-module/utils/colors-values.js +1 -1
  345. package/build-module/utils/colors-values.js.map +1 -1
  346. package/build-module/utils/hooks/use-cx.js +2 -1
  347. package/build-module/utils/hooks/use-cx.js.map +1 -1
  348. package/build-module/utils/use-deprecated-props.js.map +1 -1
  349. package/build-module/view/component.js +1 -2
  350. package/build-module/view/component.js.map +1 -1
  351. package/build-style/style-rtl.css +35 -63
  352. package/build-style/style.css +35 -63
  353. package/build-types/alignment-matrix-control/stories/index.story.d.ts +2 -2
  354. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  355. package/build-types/angle-picker-control/stories/index.story.d.ts +2 -2
  356. package/build-types/angle-picker-control/stories/index.story.d.ts.map +1 -1
  357. package/build-types/animate/stories/index.story.d.ts +9 -9
  358. package/build-types/animate/stories/index.story.d.ts.map +1 -1
  359. package/build-types/animation/index.d.ts +1 -1
  360. package/build-types/animation/index.d.ts.map +1 -1
  361. package/build-types/base-control/hooks.d.ts +1 -1
  362. package/build-types/base-control/stories/index.story.d.ts +4 -4
  363. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  364. package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
  365. package/build-types/border-box-control/border-box-control/hook.d.ts +46 -46
  366. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +51 -51
  367. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  368. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +46 -46
  369. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +46 -46
  370. package/build-types/border-box-control/stories/index.story.d.ts +4 -4
  371. package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
  372. package/build-types/border-control/border-control/hook.d.ts +45 -45
  373. package/build-types/border-control/border-control-dropdown/hook.d.ts +45 -45
  374. package/build-types/border-control/border-control-style-picker/hook.d.ts +45 -45
  375. package/build-types/border-control/stories/index.story.d.ts +8 -8
  376. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  377. package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
  378. package/build-types/button/deprecated.d.ts +16 -22
  379. package/build-types/button/deprecated.d.ts.map +1 -1
  380. package/build-types/button/index.d.ts.map +1 -1
  381. package/build-types/button/stories/e2e/index.story.d.ts +3 -3
  382. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  383. package/build-types/button/stories/index.story.d.ts +10 -9
  384. package/build-types/button/stories/index.story.d.ts.map +1 -1
  385. package/build-types/button/types.d.ts +0 -4
  386. package/build-types/button/types.d.ts.map +1 -1
  387. package/build-types/button-group/stories/index.story.d.ts +3 -3
  388. package/build-types/button-group/stories/index.story.d.ts.map +1 -1
  389. package/build-types/card/card/hook.d.ts +46 -46
  390. package/build-types/card/card-body/hook.d.ts +46 -46
  391. package/build-types/card/card-divider/hook.d.ts +47 -47
  392. package/build-types/card/card-footer/hook.d.ts +46 -46
  393. package/build-types/card/card-header/hook.d.ts +46 -46
  394. package/build-types/card/card-media/hook.d.ts +46 -46
  395. package/build-types/card/stories/index.story.d.ts +4 -4
  396. package/build-types/card/stories/index.story.d.ts.map +1 -1
  397. package/build-types/checkbox-control/stories/index.story.d.ts +4 -4
  398. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  399. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +7 -0
  400. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -0
  401. package/build-types/circular-option-picker/circular-option-picker-context.d.ts +7 -0
  402. package/build-types/circular-option-picker/circular-option-picker-context.d.ts.map +1 -0
  403. package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts +7 -0
  404. package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts.map +1 -0
  405. package/build-types/circular-option-picker/circular-option-picker-option.d.ts +4 -0
  406. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -0
  407. package/build-types/circular-option-picker/circular-option-picker.d.ts +11 -0
  408. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -0
  409. package/build-types/circular-option-picker/index.d.ts +5 -56
  410. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  411. package/build-types/circular-option-picker/stories/index.story.d.ts +5 -3
  412. package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
  413. package/build-types/circular-option-picker/test/index.d.ts +2 -0
  414. package/build-types/circular-option-picker/test/index.d.ts.map +1 -0
  415. package/build-types/circular-option-picker/types.d.ts +53 -1
  416. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  417. package/build-types/color-indicator/stories/index.story.d.ts +3 -3
  418. package/build-types/color-indicator/stories/index.story.d.ts.map +1 -1
  419. package/build-types/color-palette/index.d.ts +3 -19
  420. package/build-types/color-palette/index.d.ts.map +1 -1
  421. package/build-types/color-palette/stories/index.story.d.ts +6 -39
  422. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  423. package/build-types/color-palette/styles.d.ts +1 -1
  424. package/build-types/color-palette/types.d.ts +31 -1
  425. package/build-types/color-palette/types.d.ts.map +1 -1
  426. package/build-types/color-picker/component.d.ts +1 -1
  427. package/build-types/color-picker/stories/index.story.d.ts +3 -3
  428. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  429. package/build-types/color-picker/styles.d.ts +6 -6
  430. package/build-types/combobox-control/index.d.ts.map +1 -1
  431. package/build-types/combobox-control/stories/index.story.d.ts +4 -4
  432. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  433. package/build-types/composite/index.d.ts +14 -1
  434. package/build-types/composite/index.d.ts.map +1 -1
  435. package/build-types/custom-gradient-picker/stories/index.story.d.ts +2 -2
  436. package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
  437. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +2 -2
  438. package/build-types/date-time/date/styles.d.ts +3 -3
  439. package/build-types/date-time/date-time/styles.d.ts +2 -2
  440. package/build-types/date-time/stories/date-time.story.d.ts +5 -5
  441. package/build-types/date-time/stories/date-time.story.d.ts.map +1 -1
  442. package/build-types/date-time/stories/date.story.d.ts +5 -5
  443. package/build-types/date-time/stories/date.story.d.ts.map +1 -1
  444. package/build-types/date-time/stories/time.story.d.ts +3 -3
  445. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  446. package/build-types/date-time/time/styles.d.ts +12 -12
  447. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  448. package/build-types/disabled/stories/index.story.d.ts +4 -4
  449. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  450. package/build-types/divider/stories/index.story.d.ts +5 -5
  451. package/build-types/divider/stories/index.story.d.ts.map +1 -1
  452. package/build-types/draggable/stories/index.story.d.ts +4 -4
  453. package/build-types/draggable/stories/index.story.d.ts.map +1 -1
  454. package/build-types/drop-zone/stories/index.story.d.ts +2 -2
  455. package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
  456. package/build-types/dropdown/index.d.ts.map +1 -1
  457. package/build-types/dropdown/stories/index.story.d.ts +6 -5
  458. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  459. package/build-types/dropdown/types.d.ts +12 -4
  460. package/build-types/dropdown/types.d.ts.map +1 -1
  461. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  462. package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
  463. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  464. package/build-types/dropdown-menu/types.d.ts +22 -5
  465. package/build-types/dropdown-menu/types.d.ts.map +1 -1
  466. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +2 -2
  467. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  468. package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
  469. package/build-types/duotone-picker/duotone-picker.d.ts +1 -1
  470. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  471. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +2 -2
  472. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts.map +1 -1
  473. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +2 -2
  474. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts.map +1 -1
  475. package/build-types/duotone-picker/types.d.ts +31 -1
  476. package/build-types/duotone-picker/types.d.ts.map +1 -1
  477. package/build-types/elevation/hook.d.ts +46 -46
  478. package/build-types/elevation/stories/index.story.d.ts +5 -5
  479. package/build-types/elevation/stories/index.story.d.ts.map +1 -1
  480. package/build-types/external-link/stories/index.story.d.ts +3 -3
  481. package/build-types/external-link/stories/index.story.d.ts.map +1 -1
  482. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  483. package/build-types/flex/flex/hook.d.ts +46 -46
  484. package/build-types/flex/flex-block/hook.d.ts +46 -46
  485. package/build-types/flex/flex-item/hook.d.ts +46 -46
  486. package/build-types/flex/stories/index.story.d.ts +4 -4
  487. package/build-types/flex/stories/index.story.d.ts.map +1 -1
  488. package/build-types/focal-point-picker/stories/index.story.d.ts +10 -10
  489. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  490. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  491. package/build-types/focusable-iframe/index.d.ts +4 -5
  492. package/build-types/focusable-iframe/index.d.ts.map +1 -1
  493. package/build-types/focusable-iframe/types.d.ts +8 -0
  494. package/build-types/focusable-iframe/types.d.ts.map +1 -0
  495. package/build-types/font-size-picker/stories/e2e/index.story.d.ts +2 -2
  496. package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
  497. package/build-types/font-size-picker/stories/index.story.d.ts +8 -8
  498. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  499. package/build-types/font-size-picker/styles.d.ts +2 -2
  500. package/build-types/form-file-upload/stories/index.story.d.ts +2 -2
  501. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  502. package/build-types/form-toggle/stories/index.story.d.ts +3 -3
  503. package/build-types/form-toggle/stories/index.story.d.ts.map +1 -1
  504. package/build-types/form-token-field/index.d.ts.map +1 -1
  505. package/build-types/form-token-field/stories/index.story.d.ts +7 -7
  506. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  507. package/build-types/form-token-field/types.d.ts +6 -0
  508. package/build-types/form-token-field/types.d.ts.map +1 -1
  509. package/build-types/gradient-picker/index.d.ts +1 -1
  510. package/build-types/gradient-picker/index.d.ts.map +1 -1
  511. package/build-types/gradient-picker/stories/index.story.d.ts +5 -38
  512. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  513. package/build-types/gradient-picker/types.d.ts +31 -1
  514. package/build-types/gradient-picker/types.d.ts.map +1 -1
  515. package/build-types/grid/hook.d.ts +46 -46
  516. package/build-types/grid/stories/index.story.d.ts +3 -3
  517. package/build-types/grid/stories/index.story.d.ts.map +1 -1
  518. package/build-types/guide/stories/index.story.d.ts +2 -2
  519. package/build-types/guide/stories/index.story.d.ts.map +1 -1
  520. package/build-types/h-stack/component.d.ts +1 -1
  521. package/build-types/h-stack/hook.d.ts +46 -46
  522. package/build-types/h-stack/stories/e2e/index.story.d.ts +3 -3
  523. package/build-types/h-stack/stories/e2e/index.story.d.ts.map +1 -1
  524. package/build-types/h-stack/stories/index.story.d.ts +3 -3
  525. package/build-types/h-stack/stories/index.story.d.ts.map +1 -1
  526. package/build-types/heading/hook.d.ts +45 -45
  527. package/build-types/heading/stories/index.story.d.ts +3 -3
  528. package/build-types/heading/stories/index.story.d.ts.map +1 -1
  529. package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -1
  530. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -0
  531. package/build-types/higher-order/with-focus-outside/index.d.ts.map +1 -1
  532. package/build-types/higher-order/with-focus-outside/test/index.d.ts +2 -0
  533. package/build-types/higher-order/with-focus-outside/test/index.d.ts.map +1 -0
  534. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
  535. package/build-types/icon/stories/index.story.d.ts +4 -4
  536. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  537. package/build-types/index.d.ts +1 -1
  538. package/build-types/index.d.ts.map +1 -1
  539. package/build-types/input-control/stories/index.story.d.ts +2 -2
  540. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  541. package/build-types/isolated-event-container/test/index.d.ts +2 -0
  542. package/build-types/isolated-event-container/test/index.d.ts.map +1 -0
  543. package/build-types/item-group/item/component.d.ts +0 -1
  544. package/build-types/item-group/item/component.d.ts.map +1 -1
  545. package/build-types/item-group/item/hook.d.ts +46 -46
  546. package/build-types/item-group/item-group/component.d.ts +0 -1
  547. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  548. package/build-types/item-group/item-group/hook.d.ts +46 -46
  549. package/build-types/item-group/stories/index.story.d.ts +6 -6
  550. package/build-types/item-group/stories/index.story.d.ts.map +1 -1
  551. package/build-types/keyboard-shortcuts/stories/index.story.d.ts +2 -2
  552. package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
  553. package/build-types/menu-group/stories/index.story.d.ts +3 -3
  554. package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
  555. package/build-types/menu-item/index.d.ts +5 -58
  556. package/build-types/menu-item/index.d.ts.map +1 -1
  557. package/build-types/menu-item/stories/index.story.d.ts +74 -0
  558. package/build-types/menu-item/stories/index.story.d.ts.map +1 -0
  559. package/build-types/menu-item/types.d.ts +3 -2
  560. package/build-types/menu-item/types.d.ts.map +1 -1
  561. package/build-types/menu-items-choice/stories/index.story.d.ts +3 -3
  562. package/build-types/menu-items-choice/stories/index.story.d.ts.map +1 -1
  563. package/build-types/modal/stories/index.story.d.ts +4 -4
  564. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  565. package/build-types/navigable-container/menu.d.ts +1 -1
  566. package/build-types/navigable-container/stories/navigable-menu.story.d.ts +3 -3
  567. package/build-types/navigable-container/stories/navigable-menu.story.d.ts.map +1 -1
  568. package/build-types/navigable-container/stories/tabbable-container.story.d.ts +3 -3
  569. package/build-types/navigable-container/stories/tabbable-container.story.d.ts.map +1 -1
  570. package/build-types/navigation/back-button/index.d.ts +1 -1
  571. package/build-types/navigation/index.d.ts +0 -1
  572. package/build-types/navigation/index.d.ts.map +1 -1
  573. package/build-types/navigation/stories/index.story.d.ts +2 -2
  574. package/build-types/navigation/stories/index.story.d.ts.map +1 -1
  575. package/build-types/navigation/stories/utils/controlled-state.d.ts +2 -2
  576. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -1
  577. package/build-types/navigation/stories/utils/default.d.ts +2 -2
  578. package/build-types/navigation/stories/utils/default.d.ts.map +1 -1
  579. package/build-types/navigation/stories/utils/group.d.ts +2 -2
  580. package/build-types/navigation/stories/utils/group.d.ts.map +1 -1
  581. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +2 -2
  582. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
  583. package/build-types/navigation/stories/utils/more-examples.d.ts +2 -2
  584. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -1
  585. package/build-types/navigation/stories/utils/search.d.ts +2 -2
  586. package/build-types/navigation/stories/utils/search.d.ts.map +1 -1
  587. package/build-types/navigation/styles/navigation-styles.d.ts +5 -3
  588. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  589. package/build-types/navigator/navigator-back-button/component.d.ts +2 -3
  590. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  591. package/build-types/navigator/navigator-back-button/hook.d.ts +53 -54
  592. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  593. package/build-types/navigator/navigator-button/component.d.ts +2 -3
  594. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  595. package/build-types/navigator/navigator-button/hook.d.ts +53 -54
  596. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  597. package/build-types/navigator/navigator-provider/component.d.ts +0 -1
  598. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  599. package/build-types/navigator/navigator-to-parent-button/component.d.ts +2 -3
  600. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  601. package/build-types/navigator/stories/index.story.d.ts +5 -5
  602. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  603. package/build-types/notice/index.d.ts.map +1 -1
  604. package/build-types/notice/stories/index.story.d.ts +3 -3
  605. package/build-types/notice/stories/index.story.d.ts.map +1 -1
  606. package/build-types/number-control/index.d.ts +3 -3
  607. package/build-types/number-control/stories/index.story.d.ts +5 -5
  608. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  609. package/build-types/palette-edit/stories/index.story.d.ts +2 -2
  610. package/build-types/palette-edit/stories/index.story.d.ts.map +1 -1
  611. package/build-types/palette-edit/styles.d.ts +4 -4
  612. package/build-types/panel/stories/index.story.d.ts +6 -6
  613. package/build-types/panel/stories/index.story.d.ts.map +1 -1
  614. package/build-types/placeholder/index.d.ts.map +1 -1
  615. package/build-types/placeholder/stories/index.story.d.ts +3 -3
  616. package/build-types/placeholder/stories/index.story.d.ts.map +1 -1
  617. package/build-types/popover/index.d.ts +1 -1
  618. package/build-types/popover/index.d.ts.map +1 -1
  619. package/build-types/popover/overlay-middlewares.d.ts +3 -3
  620. package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
  621. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  622. package/build-types/popover/stories/index.story.d.ts +7 -7
  623. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  624. package/build-types/popover/types.d.ts +6 -4
  625. package/build-types/popover/types.d.ts.map +1 -1
  626. package/build-types/popover/utils.d.ts +3 -27
  627. package/build-types/popover/utils.d.ts.map +1 -1
  628. package/build-types/progress-bar/stories/index.story.d.ts +3 -3
  629. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  630. package/build-types/progress-bar/styles.d.ts.map +1 -1
  631. package/build-types/query-controls/stories/index.story.d.ts +4 -4
  632. package/build-types/query-controls/stories/index.story.d.ts.map +1 -1
  633. package/build-types/radio-control/stories/index.story.d.ts +3 -3
  634. package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
  635. package/build-types/range-control/index.d.ts +1 -1
  636. package/build-types/range-control/stories/index.story.d.ts +9 -9
  637. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  638. package/build-types/range-control/styles/range-control-styles.d.ts +3 -3
  639. package/build-types/resizable-box/index.d.ts +1 -1
  640. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  641. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  642. package/build-types/resizable-box/stories/index.story.d.ts +4 -4
  643. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  644. package/build-types/responsive-wrapper/stories/index.story.d.ts +3 -3
  645. package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
  646. package/build-types/sandbox/stories/index.story.d.ts +2 -2
  647. package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
  648. package/build-types/scroll-lock/stories/index.story.d.ts +3 -3
  649. package/build-types/scroll-lock/stories/index.story.d.ts.map +1 -1
  650. package/build-types/scrollable/hook.d.ts +46 -46
  651. package/build-types/scrollable/stories/index.story.d.ts +3 -3
  652. package/build-types/scrollable/stories/index.story.d.ts.map +1 -1
  653. package/build-types/search-control/index.d.ts +4 -2
  654. package/build-types/search-control/index.d.ts.map +1 -1
  655. package/build-types/search-control/stories/index.story.d.ts +10 -6
  656. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  657. package/build-types/search-control/types.d.ts +12 -0
  658. package/build-types/search-control/types.d.ts.map +1 -1
  659. package/build-types/select-control/stories/index.story.d.ts +2 -2
  660. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  661. package/build-types/shortcut/index.d.ts +13 -0
  662. package/build-types/shortcut/index.d.ts.map +1 -1
  663. package/build-types/shortcut/stories/index.story.d.ts +13 -0
  664. package/build-types/shortcut/stories/index.story.d.ts.map +1 -0
  665. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts +1 -0
  666. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -1
  667. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -6
  668. package/build-types/slot-fill/index.d.ts +1 -1
  669. package/build-types/slot-fill/index.d.ts.map +1 -1
  670. package/build-types/snackbar/stories/index.story.d.ts +7 -7
  671. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  672. package/build-types/snackbar/stories/list.story.d.ts +3 -3
  673. package/build-types/snackbar/stories/list.story.d.ts.map +1 -1
  674. package/build-types/spacer/hook.d.ts +46 -46
  675. package/build-types/spacer/stories/index.story.d.ts +3 -3
  676. package/build-types/spacer/stories/index.story.d.ts.map +1 -1
  677. package/build-types/spinner/index.d.ts +1 -2
  678. package/build-types/spinner/index.d.ts.map +1 -1
  679. package/build-types/spinner/stories/index.story.d.ts +4 -4
  680. package/build-types/spinner/stories/index.story.d.ts.map +1 -1
  681. package/build-types/surface/hook.d.ts +46 -46
  682. package/build-types/surface/stories/index.story.d.ts +3 -3
  683. package/build-types/surface/stories/index.story.d.ts.map +1 -1
  684. package/build-types/tab-panel/stories/index.story.d.ts +2 -2
  685. package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
  686. package/build-types/text/hook.d.ts +46 -46
  687. package/build-types/text/styles.d.ts.map +1 -1
  688. package/build-types/text-control/index.d.ts +3 -3
  689. package/build-types/text-control/stories/index.story.d.ts +4 -4
  690. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  691. package/build-types/text-highlight/stories/index.story.d.ts +3 -3
  692. package/build-types/text-highlight/stories/index.story.d.ts.map +1 -1
  693. package/build-types/textarea-control/stories/index.story.d.ts +3 -3
  694. package/build-types/textarea-control/stories/index.story.d.ts.map +1 -1
  695. package/build-types/theme/index.d.ts +0 -1
  696. package/build-types/theme/index.d.ts.map +1 -1
  697. package/build-types/theme/stories/index.story.d.ts +4 -4
  698. package/build-types/theme/stories/index.story.d.ts.map +1 -1
  699. package/build-types/tip/stories/index.story.d.ts +3 -3
  700. package/build-types/tip/stories/index.story.d.ts.map +1 -1
  701. package/build-types/toggle-control/stories/index.story.d.ts +4 -4
  702. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  703. package/build-types/toggle-group-control/stories/index.story.d.ts +6 -6
  704. package/build-types/toggle-group-control/stories/index.story.d.ts.map +1 -1
  705. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +2 -4
  706. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
  707. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +2 -4
  708. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  709. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +2 -2
  710. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  711. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -5
  712. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  713. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts +18 -0
  714. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -0
  715. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
  716. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +5 -1
  717. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  718. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +1 -0
  719. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  720. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  721. package/build-types/toggle-group-control/types.d.ts +13 -24
  722. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  723. package/build-types/toolbar/stories/index.story.d.ts +2 -2
  724. package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
  725. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  726. package/build-types/toolbar/toolbar-button/index.d.ts +16 -22
  727. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  728. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -1
  729. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -1
  730. package/build-types/toolbar/toolbar-group/index.d.ts +10 -14
  731. package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -1
  732. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +3 -5
  733. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -1
  734. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -5
  735. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -1
  736. package/build-types/toolbar/toolbar-group/types.d.ts +77 -0
  737. package/build-types/toolbar/toolbar-group/types.d.ts.map +1 -0
  738. package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -1
  739. package/build-types/tools-panel/stories/index.story.d.ts +8 -8
  740. package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
  741. package/build-types/tools-panel/tools-panel/component.d.ts +0 -1
  742. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  743. package/build-types/tools-panel/tools-panel/hook.d.ts +46 -46
  744. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  745. package/build-types/tools-panel/tools-panel-header/hook.d.ts +46 -46
  746. package/build-types/tools-panel/tools-panel-item/hook.d.ts +46 -46
  747. package/build-types/tooltip/index.d.ts +8 -5
  748. package/build-types/tooltip/index.d.ts.map +1 -1
  749. package/build-types/tooltip/stories/index.story.d.ts +13 -0
  750. package/build-types/tooltip/stories/index.story.d.ts.map +1 -0
  751. package/build-types/tooltip/test/index.d.ts +2 -0
  752. package/build-types/tooltip/test/index.d.ts.map +1 -0
  753. package/build-types/tooltip/test/utils/index.d.ts +11 -0
  754. package/build-types/tooltip/test/utils/index.d.ts.map +1 -0
  755. package/build-types/tooltip/types.d.ts +61 -0
  756. package/build-types/tooltip/types.d.ts.map +1 -0
  757. package/build-types/tree-grid/stories/index.story.d.ts +2 -2
  758. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  759. package/build-types/tree-select/index.d.ts +0 -1
  760. package/build-types/tree-select/index.d.ts.map +1 -1
  761. package/build-types/tree-select/stories/index.story.d.ts +2 -2
  762. package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
  763. package/build-types/truncate/hook.d.ts +46 -46
  764. package/build-types/truncate/stories/index.story.d.ts +4 -4
  765. package/build-types/truncate/stories/index.story.d.ts.map +1 -1
  766. package/build-types/ui/tooltip/content.d.ts +1 -1
  767. package/build-types/unit-control/index.d.ts +1 -2
  768. package/build-types/unit-control/index.d.ts.map +1 -1
  769. package/build-types/unit-control/stories/index.story.d.ts +7 -7
  770. package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
  771. package/build-types/unit-control/styles/unit-control-styles.d.ts +3 -3
  772. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  773. package/build-types/unit-control/unit-select-control.d.ts +1 -1
  774. package/build-types/utils/hooks/use-cx.d.ts +2 -1
  775. package/build-types/utils/hooks/use-cx.d.ts.map +1 -1
  776. package/build-types/utils/use-deprecated-props.d.ts +1 -1
  777. package/build-types/v-stack/component.d.ts +1 -1
  778. package/build-types/v-stack/hook.d.ts +46 -46
  779. package/build-types/v-stack/stories/e2e/index.story.d.ts +3 -3
  780. package/build-types/v-stack/stories/e2e/index.story.d.ts.map +1 -1
  781. package/build-types/v-stack/stories/index.story.d.ts +4 -4
  782. package/build-types/v-stack/stories/index.story.d.ts.map +1 -1
  783. package/build-types/view/component.d.ts +0 -1
  784. package/build-types/view/component.d.ts.map +1 -1
  785. package/build-types/view/stories/index.story.d.ts +3 -3
  786. package/build-types/view/stories/index.story.d.ts.map +1 -1
  787. package/build-types/visually-hidden/stories/index.story.d.ts +5 -5
  788. package/build-types/visually-hidden/stories/index.story.d.ts.map +1 -1
  789. package/build-types/z-stack/stories/index.story.d.ts +3 -3
  790. package/build-types/z-stack/stories/index.story.d.ts.map +1 -1
  791. package/package.json +20 -20
  792. package/src/alignment-matrix-control/stories/index.story.tsx +7 -3
  793. package/src/angle-picker-control/stories/index.story.tsx +3 -3
  794. package/src/animate/stories/index.story.tsx +12 -10
  795. package/src/animation/index.tsx +1 -0
  796. package/src/base-control/stories/index.story.tsx +5 -9
  797. package/src/border-box-control/stories/index.story.tsx +5 -9
  798. package/src/border-control/border-control/README.md +2 -2
  799. package/src/border-control/border-control-dropdown/component.tsx +1 -1
  800. package/src/border-control/stories/index.story.tsx +8 -14
  801. package/src/border-control/styles.ts +7 -7
  802. package/src/border-control/test/index.js +79 -69
  803. package/src/box-control/unit-control.tsx +1 -1
  804. package/src/button/README.md +0 -6
  805. package/src/button/index.tsx +9 -1
  806. package/src/button/stories/e2e/index.story.tsx +3 -3
  807. package/src/button/stories/index.story.tsx +10 -10
  808. package/src/button/test/index.tsx +19 -0
  809. package/src/button/types.ts +0 -4
  810. package/src/button-group/stories/index.story.tsx +4 -6
  811. package/src/card/stories/index.story.tsx +5 -5
  812. package/src/checkbox-control/stories/index.story.tsx +7 -6
  813. package/src/circular-option-picker/README.md +14 -0
  814. package/src/circular-option-picker/circular-option-picker-actions.tsx +60 -0
  815. package/src/circular-option-picker/circular-option-picker-context.tsx +12 -0
  816. package/src/circular-option-picker/circular-option-picker-option-group.tsx +34 -0
  817. package/src/circular-option-picker/circular-option-picker-option.tsx +139 -0
  818. package/src/circular-option-picker/circular-option-picker.tsx +202 -0
  819. package/src/circular-option-picker/index.tsx +7 -174
  820. package/src/circular-option-picker/stories/index.story.tsx +42 -5
  821. package/src/circular-option-picker/style.scss +11 -7
  822. package/src/circular-option-picker/test/index.tsx +133 -0
  823. package/src/circular-option-picker/types.ts +64 -1
  824. package/src/color-indicator/stories/index.story.tsx +4 -6
  825. package/src/color-palette/README.md +14 -0
  826. package/src/color-palette/index.tsx +69 -28
  827. package/src/color-palette/stories/index.story.tsx +24 -19
  828. package/src/color-palette/test/index.tsx +32 -30
  829. package/src/color-palette/types.ts +34 -1
  830. package/src/color-picker/hsv-color-picker.native.js +88 -0
  831. package/src/color-picker/hue-picker.native.js +194 -0
  832. package/src/color-picker/index.native.js +2 -1
  833. package/src/color-picker/saturation-picker.native.js +163 -0
  834. package/src/color-picker/stories/index.story.tsx +3 -3
  835. package/src/color-picker/style.native.scss +23 -0
  836. package/src/combobox-control/index.tsx +7 -5
  837. package/src/combobox-control/stories/index.story.tsx +3 -3
  838. package/src/composite/{index.js → index.ts} +3 -0
  839. package/src/confirm-dialog/stories/index.story.js +13 -14
  840. package/src/confirm-dialog/test/index.js +10 -18
  841. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +1 -1
  842. package/src/custom-gradient-picker/gradient-bar/test/utils.ts +5 -5
  843. package/src/custom-gradient-picker/stories/index.story.tsx +3 -3
  844. package/src/date-time/stories/date-time.story.tsx +8 -10
  845. package/src/date-time/stories/date.story.tsx +8 -9
  846. package/src/date-time/stories/time.story.tsx +4 -4
  847. package/src/date-time/time/timezone.tsx +1 -1
  848. package/src/dimension-control/stories/index.story.tsx +3 -3
  849. package/src/disabled/stories/index.story.tsx +4 -4
  850. package/src/divider/stories/index.story.tsx +6 -6
  851. package/src/draggable/stories/index.story.tsx +5 -7
  852. package/src/drop-zone/stories/index.story.tsx +3 -3
  853. package/src/dropdown/README.md +13 -3
  854. package/src/dropdown/index.tsx +16 -34
  855. package/src/dropdown/stories/index.story.tsx +17 -12
  856. package/src/dropdown/types.ts +12 -4
  857. package/src/dropdown-menu/README.md +18 -0
  858. package/src/dropdown-menu/index.tsx +8 -1
  859. package/src/dropdown-menu/stories/index.story.tsx +8 -3
  860. package/src/dropdown-menu/types.ts +23 -6
  861. package/src/dropdown-menu-v2/stories/index.story.tsx +24 -10
  862. package/src/dropdown-menu-v2/styles.ts +1 -1
  863. package/src/duotone-picker/README.md +14 -0
  864. package/src/duotone-picker/color-list-picker/index.tsx +28 -12
  865. package/src/duotone-picker/duotone-picker.tsx +33 -0
  866. package/src/duotone-picker/stories/duotone-picker.story.tsx +3 -6
  867. package/src/duotone-picker/stories/duotone-swatch.story.tsx +3 -3
  868. package/src/duotone-picker/types.ts +34 -1
  869. package/src/elevation/stories/index.story.tsx +7 -7
  870. package/src/external-link/stories/index.story.tsx +4 -6
  871. package/src/flex/stories/index.story.tsx +6 -6
  872. package/src/focal-point-picker/stories/index.story.tsx +3 -3
  873. package/src/focusable-iframe/{index.js → index.tsx} +7 -4
  874. package/src/focusable-iframe/types.ts +9 -0
  875. package/src/font-size-picker/stories/e2e/index.story.tsx +3 -3
  876. package/src/font-size-picker/stories/index.story.tsx +10 -10
  877. package/src/form-file-upload/stories/index.story.tsx +3 -3
  878. package/src/form-toggle/stories/index.story.tsx +4 -7
  879. package/src/form-token-field/README.md +1 -0
  880. package/src/form-token-field/index.tsx +5 -1
  881. package/src/form-token-field/stories/index.story.tsx +10 -11
  882. package/src/form-token-field/style.scss +5 -9
  883. package/src/form-token-field/test/index.tsx +36 -1
  884. package/src/form-token-field/types.ts +7 -1
  885. package/src/gradient-picker/README.md +14 -0
  886. package/src/gradient-picker/index.tsx +60 -11
  887. package/src/gradient-picker/stories/index.story.tsx +3 -3
  888. package/src/gradient-picker/types.ts +34 -1
  889. package/src/grid/stories/index.story.tsx +4 -4
  890. package/src/guide/stories/index.story.tsx +3 -3
  891. package/src/h-stack/stories/e2e/index.story.tsx +4 -4
  892. package/src/h-stack/stories/index.story.tsx +4 -4
  893. package/src/heading/stories/index.story.tsx +3 -3
  894. package/src/higher-order/navigate-regions/index.tsx +5 -6
  895. package/src/higher-order/with-filters/test/index.tsx +36 -43
  896. package/src/higher-order/with-focus-outside/{index.js → index.tsx} +8 -5
  897. package/src/higher-order/with-focus-outside/test/{index.js → index.tsx} +13 -11
  898. package/src/higher-order/with-notices/test/index.tsx +1 -1
  899. package/src/higher-order/with-spoken-messages/index.tsx +7 -8
  900. package/src/icon/stories/index.story.tsx +5 -5
  901. package/src/index.ts +5 -1
  902. package/src/input-control/stories/index.story.tsx +5 -3
  903. package/src/input-control/styles/input-control-styles.tsx +2 -2
  904. package/src/isolated-event-container/test/{index.js → index.tsx} +1 -1
  905. package/src/item-group/item/component.tsx +0 -1
  906. package/src/item-group/item-group/component.tsx +0 -1
  907. package/src/item-group/stories/index.story.tsx +11 -12
  908. package/src/keyboard-shortcuts/stories/index.story.tsx +3 -3
  909. package/src/menu-group/stories/index.story.tsx +5 -5
  910. package/src/menu-item/README.md +1 -1
  911. package/src/menu-item/index.tsx +5 -2
  912. package/src/menu-item/stories/index.story.tsx +80 -0
  913. package/src/menu-item/types.ts +3 -2
  914. package/src/menu-items-choice/stories/index.story.tsx +4 -6
  915. package/src/mobile/bottom-sheet/index.native.js +1 -0
  916. package/src/mobile/global-styles-context/index.native.js +7 -8
  917. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -1
  918. package/src/modal/stories/index.story.tsx +5 -10
  919. package/src/modal/test/index.tsx +107 -0
  920. package/src/navigable-container/stories/navigable-menu.story.tsx +3 -3
  921. package/src/navigable-container/stories/tabbable-container.story.tsx +3 -3
  922. package/src/navigation/index.tsx +0 -1
  923. package/src/navigation/stories/index.story.tsx +16 -2
  924. package/src/navigation/stories/utils/controlled-state.tsx +2 -2
  925. package/src/navigation/stories/utils/default.tsx +2 -2
  926. package/src/navigation/stories/utils/group.tsx +2 -2
  927. package/src/navigation/stories/utils/hide-if-empty.tsx +2 -2
  928. package/src/navigation/stories/utils/more-examples.tsx +2 -2
  929. package/src/navigation/stories/utils/search.tsx +2 -2
  930. package/src/navigation/use-navigation-tree-nodes.tsx +1 -1
  931. package/src/navigator/navigator-provider/component.tsx +0 -1
  932. package/src/navigator/stories/index.story.tsx +9 -10
  933. package/src/notice/index.tsx +18 -6
  934. package/src/notice/stories/index.story.tsx +6 -6
  935. package/src/notice/style.scss +0 -1
  936. package/src/notice/test/__snapshots__/index.tsx.snap +9 -1
  937. package/src/number-control/stories/index.story.tsx +3 -3
  938. package/src/palette-edit/stories/index.story.tsx +3 -3
  939. package/src/palette-edit/styles.js +2 -2
  940. package/src/panel/stories/index.story.tsx +9 -11
  941. package/src/placeholder/index.tsx +1 -0
  942. package/src/placeholder/stories/index.story.tsx +4 -6
  943. package/src/placeholder/style.scss +2 -4
  944. package/src/popover/README.md +2 -2
  945. package/src/popover/index.tsx +106 -203
  946. package/src/popover/overlay-middlewares.tsx +2 -2
  947. package/src/popover/stories/index.story.tsx +8 -10
  948. package/src/popover/test/index.tsx +18 -4
  949. package/src/popover/types.ts +6 -5
  950. package/src/popover/utils.ts +19 -118
  951. package/src/progress-bar/stories/index.story.tsx +4 -6
  952. package/src/progress-bar/styles.ts +4 -1
  953. package/src/query-controls/stories/index.story.tsx +5 -6
  954. package/src/radio-control/stories/index.story.tsx +4 -6
  955. package/src/radio-group/stories/index.story.js +1 -0
  956. package/src/range-control/stories/index.story.tsx +12 -18
  957. package/src/resizable-box/stories/index.story.tsx +3 -3
  958. package/src/responsive-wrapper/stories/index.story.tsx +4 -5
  959. package/src/sandbox/stories/index.story.tsx +3 -5
  960. package/src/scroll-lock/stories/index.story.tsx +3 -3
  961. package/src/scrollable/stories/index.story.tsx +4 -4
  962. package/src/search-control/README.md +7 -0
  963. package/src/search-control/index.native.js +39 -27
  964. package/src/search-control/index.tsx +10 -1
  965. package/src/search-control/stories/index.story.tsx +3 -3
  966. package/src/search-control/style.scss +14 -7
  967. package/src/search-control/types.ts +12 -0
  968. package/src/select-control/stories/index.story.tsx +3 -3
  969. package/src/shortcut/index.tsx +13 -0
  970. package/src/shortcut/stories/index.story.tsx +33 -0
  971. package/src/slot-fill/README.md +5 -5
  972. package/src/slot-fill/bubbles-virtually/slot-fill-context.js +3 -0
  973. package/src/slot-fill/bubbles-virtually/slot.js +17 -5
  974. package/src/slot-fill/index.js +6 -1
  975. package/src/slot-fill/stories/index.story.js +2 -0
  976. package/src/slot-fill/test/__snapshots__/slot.js.snap +12 -4
  977. package/src/snackbar/stories/index.story.tsx +10 -13
  978. package/src/snackbar/stories/list.story.tsx +3 -3
  979. package/src/spacer/stories/index.story.tsx +4 -4
  980. package/src/spinner/index.tsx +0 -1
  981. package/src/spinner/stories/index.story.tsx +5 -5
  982. package/src/surface/stories/index.story.tsx +4 -4
  983. package/src/tab-panel/stories/index.story.tsx +5 -13
  984. package/src/tab-panel/test/index.tsx +14 -25
  985. package/src/text/styles.js +2 -1
  986. package/src/text-control/stories/index.story.tsx +7 -6
  987. package/src/text-highlight/stories/index.story.tsx +4 -6
  988. package/src/textarea-control/stories/index.story.tsx +4 -6
  989. package/src/theme/README.md +5 -5
  990. package/src/theme/index.tsx +0 -1
  991. package/src/theme/stories/index.story.tsx +5 -5
  992. package/src/tip/stories/index.story.tsx +4 -4
  993. package/src/toggle-control/stories/index.story.tsx +3 -3
  994. package/src/toggle-group-control/stories/index.story.tsx +17 -11
  995. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +567 -59
  996. package/src/toggle-group-control/test/index.tsx +110 -56
  997. package/src/toggle-group-control/toggle-group-control/README.md +0 -1
  998. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +39 -57
  999. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +52 -48
  1000. package/src/toggle-group-control/toggle-group-control/component.tsx +12 -6
  1001. package/src/toggle-group-control/toggle-group-control/styles.ts +2 -19
  1002. package/src/toggle-group-control/toggle-group-control/utils.ts +50 -0
  1003. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +70 -20
  1004. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +17 -3
  1005. package/src/toggle-group-control/types.ts +14 -32
  1006. package/src/toolbar/stories/index.story.tsx +16 -8
  1007. package/src/toolbar/test/toolbar-group.tsx +13 -7
  1008. package/src/toolbar/toolbar/index.tsx +9 -1
  1009. package/src/toolbar/toolbar-dropdown-menu/{index.js → index.tsx} +11 -4
  1010. package/src/toolbar/toolbar-group/README.md +2 -2
  1011. package/src/toolbar/toolbar-group/{index.js → index.tsx} +19 -14
  1012. package/src/toolbar/toolbar-group/{toolbar-group-collapsed.js → toolbar-group-collapsed.tsx} +10 -4
  1013. package/src/toolbar/toolbar-group/toolbar-group-container.tsx +16 -0
  1014. package/src/toolbar/toolbar-group/types.ts +92 -0
  1015. package/src/toolbar/toolbar-item/index.tsx +3 -1
  1016. package/src/tools-panel/stories/index.story.tsx +17 -12
  1017. package/src/tools-panel/tools-panel/component.tsx +0 -1
  1018. package/src/tools-panel/tools-panel-header/component.tsx +3 -0
  1019. package/src/tooltip/README.md +31 -28
  1020. package/src/tooltip/index.tsx +106 -0
  1021. package/src/tooltip/stories/index.story.tsx +59 -0
  1022. package/src/tooltip/style.scss +2 -27
  1023. package/src/tooltip/test/index.tsx +335 -0
  1024. package/src/tooltip/test/utils/index.tsx +20 -0
  1025. package/src/tooltip/types.ts +61 -0
  1026. package/src/tree-grid/stories/index.story.tsx +5 -3
  1027. package/src/tree-select/index.tsx +0 -1
  1028. package/src/tree-select/stories/index.story.tsx +3 -3
  1029. package/src/truncate/stories/index.story.tsx +5 -7
  1030. package/src/ui/context/context-connect.ts +3 -3
  1031. package/src/ui/context/wordpress-component.ts +4 -4
  1032. package/src/unit-control/index.tsx +9 -5
  1033. package/src/unit-control/stories/index.story.tsx +10 -9
  1034. package/src/unit-control/styles/unit-control-styles.ts +3 -1
  1035. package/src/unit-control/test/utils.ts +1 -1
  1036. package/src/utils/colors-values.js +1 -1
  1037. package/src/utils/hooks/use-cx.ts +2 -1
  1038. package/src/utils/use-deprecated-props.ts +1 -1
  1039. package/src/v-stack/stories/e2e/index.story.tsx +4 -4
  1040. package/src/v-stack/stories/index.story.tsx +3 -3
  1041. package/src/view/component.tsx +0 -1
  1042. package/src/view/stories/index.story.tsx +4 -4
  1043. package/src/visually-hidden/stories/index.story.tsx +7 -7
  1044. package/src/z-stack/stories/index.story.tsx +4 -4
  1045. package/tsconfig.tsbuildinfo +1 -1
  1046. package/build/popover/limit-shift.js +0 -129
  1047. package/build/popover/limit-shift.js.map +0 -1
  1048. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -78
  1049. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
  1050. package/build-module/popover/limit-shift.js +0 -122
  1051. package/build-module/popover/limit-shift.js.map +0 -1
  1052. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -76
  1053. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
  1054. package/build-types/popover/limit-shift.d.ts +0 -87
  1055. package/build-types/popover/limit-shift.d.ts.map +0 -1
  1056. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +0 -9
  1057. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +0 -1
  1058. package/src/color-palette/test/__snapshots__/index.tsx.snap +0 -288
  1059. package/src/popover/limit-shift.ts +0 -205
  1060. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +0 -84
  1061. package/src/toolbar/toolbar-group/toolbar-group-container.js +0 -8
  1062. package/src/tooltip/index.js +0 -293
  1063. package/src/tooltip/stories/index.story.js +0 -85
  1064. package/src/tooltip/test/index.js +0 -323
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _element = _interopRequireWildcard(require("@wordpress/element"));
9
+ var _reactNative = require("react-native");
10
+ var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
11
+ var _colord = require("colord");
12
+ var _styleNative = _interopRequireDefault(require("./style.native.scss"));
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ /**
16
+ * External dependencies
17
+ */
18
+
19
+ /**
20
+ * WordPress dependencies
21
+ */
22
+
23
+ /**
24
+ * Internal dependencies
25
+ */
26
+
27
+ class SaturationValuePicker extends _element.Component {
28
+ constructor(props) {
29
+ super(props);
30
+ this.panResponder = _reactNative.PanResponder.create({
31
+ onStartShouldSetPanResponder: () => true,
32
+ onStartShouldSetPanResponderCapture: () => true,
33
+ onMoveShouldSetPanResponder: () => true,
34
+ onMoveShouldSetPanResponderCapture: () => true,
35
+ onPanResponderGrant: (evt, gestureState) => {
36
+ const {
37
+ onPress
38
+ } = this.props;
39
+ const {
40
+ saturation,
41
+ value
42
+ } = this.computeSatValPress(evt);
43
+ this.dragStartValue = {
44
+ saturation,
45
+ value
46
+ };
47
+ if (onPress) {
48
+ onPress({
49
+ ...this.computeSatValPress(evt),
50
+ nativeEvent: evt.nativeEvent
51
+ });
52
+ }
53
+ this.fireDragEvent('onDragStart', gestureState);
54
+ },
55
+ onPanResponderMove: (evt, gestureState) => {
56
+ this.fireDragEvent('onDragMove', gestureState);
57
+ },
58
+ onPanResponderTerminationRequest: () => true,
59
+ onPanResponderRelease: (evt, gestureState) => {
60
+ this.fireDragEvent('onDragEnd', gestureState);
61
+ },
62
+ onPanResponderTerminate: (evt, gestureState) => {
63
+ this.fireDragEvent('onDragTerminate', gestureState);
64
+ },
65
+ onShouldBlockNativeResponder: () => true
66
+ });
67
+ }
68
+ normalizeValue(value) {
69
+ if (value < 0) return 0;
70
+ if (value > 1) return 1;
71
+ return value;
72
+ }
73
+ computeSatValDrag(gestureState) {
74
+ const {
75
+ dx,
76
+ dy
77
+ } = gestureState;
78
+ const {
79
+ size
80
+ } = this.props;
81
+ const {
82
+ saturation,
83
+ value
84
+ } = this.dragStartValue;
85
+ const diffx = dx / size.width;
86
+ const diffy = dy / size.height;
87
+ return {
88
+ saturation: this.normalizeValue(saturation + diffx),
89
+ value: this.normalizeValue(value - diffy)
90
+ };
91
+ }
92
+ computeSatValPress(event) {
93
+ const {
94
+ nativeEvent
95
+ } = event;
96
+ const {
97
+ locationX,
98
+ locationY
99
+ } = nativeEvent;
100
+ const {
101
+ size
102
+ } = this.props;
103
+ return {
104
+ saturation: this.normalizeValue(locationX / size.width),
105
+ value: 1 - this.normalizeValue(locationY / size.height)
106
+ };
107
+ }
108
+ fireDragEvent(eventName, gestureState) {
109
+ const {
110
+ [eventName]: event
111
+ } = this.props;
112
+ if (event) {
113
+ event({
114
+ ...this.computeSatValDrag(gestureState),
115
+ gestureState
116
+ });
117
+ }
118
+ }
119
+ render() {
120
+ const {
121
+ size,
122
+ sliderSize = 24,
123
+ hue = 0,
124
+ value = 1,
125
+ saturation = 1,
126
+ containerStyle = {},
127
+ borderRadius = 0,
128
+ currentColor
129
+ } = this.props;
130
+ return (0, _element.createElement)(_reactNative.View, {
131
+ style: [_styleNative.default['hsv-container'], containerStyle, {
132
+ height: size.height + sliderSize,
133
+ width: size.width + sliderSize
134
+ }],
135
+ ...this.panResponder.panHandlers
136
+ }, (0, _element.createElement)(_reactNativeLinearGradient.default, {
137
+ style: [_styleNative.default['gradient-container'], {
138
+ borderRadius
139
+ }],
140
+ colors: ['#fff', (0, _colord.colord)({
141
+ h: hue,
142
+ s: 100,
143
+ l: 50
144
+ }).toHex()],
145
+ start: {
146
+ x: 0,
147
+ y: 0.5
148
+ },
149
+ end: {
150
+ x: 1,
151
+ y: 0.5
152
+ }
153
+ }, (0, _element.createElement)(_reactNativeLinearGradient.default, {
154
+ colors: ['rgba(0, 0, 0, 0)', '#000']
155
+ }, (0, _element.createElement)(_reactNative.View, {
156
+ style: {
157
+ height: size.height,
158
+ width: size.width
159
+ }
160
+ }))), (0, _element.createElement)(_reactNative.View, {
161
+ pointerEvents: "none",
162
+ style: [_styleNative.default['saturation-slider'], {
163
+ width: sliderSize,
164
+ height: sliderSize,
165
+ borderRadius: sliderSize / 2,
166
+ borderWidth: sliderSize / 10,
167
+ backgroundColor: currentColor,
168
+ transform: [{
169
+ translateX: size.width * saturation
170
+ }, {
171
+ translateY: size.height * (1 - value)
172
+ }]
173
+ }]
174
+ }));
175
+ }
176
+ }
177
+ exports.default = SaturationValuePicker;
178
+ //# sourceMappingURL=saturation-picker.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","_interopRequireWildcard","require","_reactNative","_reactNativeLinearGradient","_interopRequireDefault","_colord","_styleNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SaturationValuePicker","Component","constructor","props","panResponder","PanResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","evt","gestureState","onPress","saturation","value","computeSatValPress","dragStartValue","nativeEvent","fireDragEvent","onPanResponderMove","onPanResponderTerminationRequest","onPanResponderRelease","onPanResponderTerminate","onShouldBlockNativeResponder","normalizeValue","computeSatValDrag","dx","dy","size","diffx","width","diffy","height","event","locationX","locationY","eventName","render","sliderSize","hue","containerStyle","borderRadius","currentColor","createElement","View","style","styles","panHandlers","colors","colord","h","s","l","toHex","start","x","y","end","pointerEvents","borderWidth","backgroundColor","transform","translateX","translateY","exports"],"sources":["@wordpress/components/src/color-picker/saturation-picker.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, PanResponder } from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport React, { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.native.scss';\n\nexport default class SaturationValuePicker extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.panResponder = PanResponder.create( {\n\t\t\tonStartShouldSetPanResponder: () => true,\n\t\t\tonStartShouldSetPanResponderCapture: () => true,\n\t\t\tonMoveShouldSetPanResponder: () => true,\n\t\t\tonMoveShouldSetPanResponderCapture: () => true,\n\t\t\tonPanResponderGrant: ( evt, gestureState ) => {\n\t\t\t\tconst { onPress } = this.props;\n\t\t\t\tconst { saturation, value } = this.computeSatValPress( evt );\n\t\t\t\tthis.dragStartValue = {\n\t\t\t\t\tsaturation,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t\tif ( onPress ) {\n\t\t\t\t\tonPress( {\n\t\t\t\t\t\t...this.computeSatValPress( evt ),\n\t\t\t\t\t\tnativeEvent: evt.nativeEvent,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tthis.fireDragEvent( 'onDragStart', gestureState );\n\t\t\t},\n\t\t\tonPanResponderMove: ( evt, gestureState ) => {\n\t\t\t\tthis.fireDragEvent( 'onDragMove', gestureState );\n\t\t\t},\n\t\t\tonPanResponderTerminationRequest: () => true,\n\t\t\tonPanResponderRelease: ( evt, gestureState ) => {\n\t\t\t\tthis.fireDragEvent( 'onDragEnd', gestureState );\n\t\t\t},\n\t\t\tonPanResponderTerminate: ( evt, gestureState ) => {\n\t\t\t\tthis.fireDragEvent( 'onDragTerminate', gestureState );\n\t\t\t},\n\t\t\tonShouldBlockNativeResponder: () => true,\n\t\t} );\n\t}\n\n\tnormalizeValue( value ) {\n\t\tif ( value < 0 ) return 0;\n\t\tif ( value > 1 ) return 1;\n\t\treturn value;\n\t}\n\n\tcomputeSatValDrag( gestureState ) {\n\t\tconst { dx, dy } = gestureState;\n\t\tconst { size } = this.props;\n\t\tconst { saturation, value } = this.dragStartValue;\n\t\tconst diffx = dx / size.width;\n\t\tconst diffy = dy / size.height;\n\t\treturn {\n\t\t\tsaturation: this.normalizeValue( saturation + diffx ),\n\t\t\tvalue: this.normalizeValue( value - diffy ),\n\t\t};\n\t}\n\n\tcomputeSatValPress( event ) {\n\t\tconst { nativeEvent } = event;\n\t\tconst { locationX, locationY } = nativeEvent;\n\t\tconst { size } = this.props;\n\t\treturn {\n\t\t\tsaturation: this.normalizeValue( locationX / size.width ),\n\t\t\tvalue: 1 - this.normalizeValue( locationY / size.height ),\n\t\t};\n\t}\n\n\tfireDragEvent( eventName, gestureState ) {\n\t\tconst { [ eventName ]: event } = this.props;\n\t\tif ( event ) {\n\t\t\tevent( {\n\t\t\t\t...this.computeSatValDrag( gestureState ),\n\t\t\t\tgestureState,\n\t\t\t} );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tsize,\n\t\t\tsliderSize = 24,\n\t\t\thue = 0,\n\t\t\tvalue = 1,\n\t\t\tsaturation = 1,\n\t\t\tcontainerStyle = {},\n\t\t\tborderRadius = 0,\n\t\t\tcurrentColor,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles[ 'hsv-container' ],\n\t\t\t\t\tcontainerStyle,\n\t\t\t\t\t{\n\t\t\t\t\t\theight: size.height + sliderSize,\n\t\t\t\t\t\twidth: size.width + sliderSize,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\t{ ...this.panResponder.panHandlers }\n\t\t\t>\n\t\t\t\t<LinearGradient\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles[ 'gradient-container' ],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tborderRadius,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tcolors={ [\n\t\t\t\t\t\t'#fff',\n\t\t\t\t\t\tcolord( { h: hue, s: 100, l: 50 } ).toHex(),\n\t\t\t\t\t] }\n\t\t\t\t\tstart={ { x: 0, y: 0.5 } }\n\t\t\t\t\tend={ { x: 1, y: 0.5 } }\n\t\t\t\t>\n\t\t\t\t\t<LinearGradient colors={ [ 'rgba(0, 0, 0, 0)', '#000' ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\theight: size.height,\n\t\t\t\t\t\t\t\twidth: size.width,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</LinearGradient>\n\t\t\t\t</LinearGradient>\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles[ 'saturation-slider' ],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: sliderSize,\n\t\t\t\t\t\t\theight: sliderSize,\n\t\t\t\t\t\t\tborderRadius: sliderSize / 2,\n\t\t\t\t\t\t\tborderWidth: sliderSize / 10,\n\t\t\t\t\t\t\tbackgroundColor: currentColor,\n\t\t\t\t\t\t\ttransform: [\n\t\t\t\t\t\t\t\t{ translateX: size.width * saturation },\n\t\t\t\t\t\t\t\t{ translateY: size.height * ( 1 - value ) },\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/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n"],"mappings":"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"}
@@ -35,13 +35,10 @@ var _useDeprecatedProps = require("../utils/use-deprecated-props");
35
35
 
36
36
  const noop = () => {};
37
37
  const DetectOutside = (0, _withFocusOutside.default)(class extends _element.Component {
38
- // @ts-expect-error - TODO: Should be resolved when `withFocusOutside` is refactored to TypeScript
39
38
  handleFocusOutside(event) {
40
- // @ts-expect-error - TODO: Should be resolved when `withFocusOutside` is refactored to TypeScript
41
39
  this.props.onFocusOutside(event);
42
40
  }
43
41
  render() {
44
- // @ts-expect-error - TODO: Should be resolved when `withFocusOutside` is refactored to TypeScript
45
42
  return this.props.children;
46
43
  }
47
44
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_compose","_a11y","_icons","_styles","_tokenInput","_suggestionsList","_baseControl","_button","_flex","_withFocusOutside","_hooks","_strings","_useDeprecatedProps","noop","DetectOutside","withFocusOutside","Component","handleFocusOutside","event","props","onFocusOutside","render","children","getIndexOfMatchingSuggestion","selectedSuggestion","matchingSuggestions","indexOf","ComboboxControl","_currentOption$label","__nextHasNoMarginBottom","__next40pxDefaultSize","value","valueProp","label","options","onChange","onChangeProp","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","__","__experimentalRenderItem","useDeprecated36pxDefaultSizeProp","setValue","useControlledValue","currentOption","find","option","currentLabel","instanceId","useInstanceId","setSelectedSuggestion","useState","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","useRef","useMemo","startsWithMatch","containsMatch","match","normalizeTextString","forEach","index","push","concat","onSuggestionSelected","newSelectedSuggestion","speak","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","nativeEvent","isComposing","keyCode","code","onBlur","onFocus","onInputChange","text","handleOnReset","current","focus","useEffect","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","sprintf","_n","createElement","default","classnames","id","tabIndex","InputWrapperFlex","FlexBlock","ref","selectedSuggestionIndex","FlexItem","icon","closeSmall","disabled","onClick","displayTransform","suggestion","suggestions","selectedIndex","onHover","onSelect","scrollIntoView","_default","exports"],"sources":["@wordpress/components/src/combobox-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock, FlexItem } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport { useControlledValue } from '../utils/hooks';\nimport { normalizeTextString } from '../utils/strings';\nimport type { ComboboxControlOption, ComboboxControlProps } from './types';\nimport type { TokenInputProps } from '../form-token-field/types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst noop = () => {};\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component {\n\t\t// @ts-expect-error - TODO: Should be resolved when `withFocusOutside` is refactored to TypeScript\n\t\thandleFocusOutside( event ) {\n\t\t\t// @ts-expect-error - TODO: Should be resolved when `withFocusOutside` is refactored to TypeScript\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\t// @ts-expect-error - TODO: Should be resolved when `withFocusOutside` is refactored to TypeScript\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nconst getIndexOfMatchingSuggestion = (\n\tselectedSuggestion: ComboboxControlOption | null,\n\tmatchingSuggestions: ComboboxControlOption[]\n) =>\n\tselectedSuggestion === null\n\t\t? -1\n\t\t: matchingSuggestions.indexOf( selectedSuggestion );\n\n/**\n * `ComboboxControl` is an enhanced version of a [`SelectControl`](../select-control/README.md) with the addition of\n * being able to search for options using a search input.\n *\n * ```jsx\n * import { ComboboxControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const options = [\n * \t{\n * \t\tvalue: 'small',\n * \t\tlabel: 'Small',\n * \t},\n * \t{\n * \t\tvalue: 'normal',\n * \t\tlabel: 'Normal',\n * \t},\n * \t{\n * \t\tvalue: 'large',\n * \t\tlabel: 'Large',\n * \t},\n * ];\n *\n * function MyComboboxControl() {\n * \tconst [ fontSize, setFontSize ] = useState();\n * \tconst [ filteredOptions, setFilteredOptions ] = useState( options );\n * \treturn (\n * \t\t<ComboboxControl\n * \t\t\tlabel=\"Font Size\"\n * \t\t\tvalue={ fontSize }\n * \t\t\tonChange={ setFontSize }\n * \t\t\toptions={ filteredOptions }\n * \t\t\tonFilterValueChange={ ( inputValue ) =>\n * \t\t\t\tsetFilteredOptions(\n * \t\t\t\t\toptions.filter( ( option ) =>\n * \t\t\t\t\t\toption.label\n * \t\t\t\t\t\t\t.toLowerCase()\n * \t\t\t\t\t\t\t.startsWith( inputValue.toLowerCase() )\n * \t\t\t\t\t)\n * \t\t\t\t)\n * \t\t\t}\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction ComboboxControl( props: ComboboxControlProps ) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\t__next40pxDefaultSize = false,\n\t\tvalue: valueProp,\n\t\tlabel,\n\t\toptions,\n\t\tonChange: onChangeProp,\n\t\tonFilterValueChange = noop,\n\t\thideLabelFromVision,\n\t\thelp,\n\t\tallowReset = true,\n\t\tclassName,\n\t\tmessages = {\n\t\t\tselected: __( 'Item selected.' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t} = useDeprecated36pxDefaultSizeProp< ComboboxControlProps >(\n\t\tprops,\n\t\t'wp.components.ComboboxControl'\n\t);\n\n\tconst [ value, setValue ] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange: onChangeProp,\n\t} );\n\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef< HTMLInputElement >( null );\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch: ComboboxControlOption[] = [];\n\t\tconst containsMatch: ComboboxControlOption[] = [];\n\t\tconst match = normalizeTextString( inputValue );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = normalizeTextString( option.label ).indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options ] );\n\n\tconst onSuggestionSelected = (\n\t\tnewSelectedSuggestion: ComboboxControlOption\n\t) => {\n\t\tsetValue( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = getIndexOfMatchingSuggestion(\n\t\t\tselectedSuggestion,\n\t\t\tmatchingSuggestions\n\t\t);\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown: React.KeyboardEventHandler< HTMLDivElement > = (\n\t\tevent\n\t) => {\n\t\tlet preventDefault = false;\n\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.code ) {\n\t\t\tcase 'Enter':\n\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tsetIsExpanded( false );\n\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tsetIsExpanded( true );\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange: TokenInputProps[ 'onChange' ] = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tsetValue( null );\n\t\tinputContainer.current?.focus();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tgetIndexOfMatchingSuggestion(\n\t\t\t\tselectedSuggestion,\n\t\t\t\tmatchingSuggestions\n\t\t\t) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'components-combobox-control'\n\t\t\t\t) }\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t// The empty string for `value` here is not actually used, but is\n\t\t\t\t\t\t\t// just a quick way to satisfy the TypeScript requirements of SuggestionsList.\n\t\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/47581/files#r1091089330\n\t\t\t\t\t\t\tmatch={ { label: inputValue, value: '' } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t\t__experimentalRenderItem={\n\t\t\t\t\t\t\t\t__experimentalRenderItem\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</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_compose","_a11y","_icons","_styles","_tokenInput","_suggestionsList","_baseControl","_button","_flex","_withFocusOutside","_hooks","_strings","_useDeprecatedProps","noop","DetectOutside","withFocusOutside","Component","handleFocusOutside","event","props","onFocusOutside","render","children","getIndexOfMatchingSuggestion","selectedSuggestion","matchingSuggestions","indexOf","ComboboxControl","_currentOption$label","__nextHasNoMarginBottom","__next40pxDefaultSize","value","valueProp","label","options","onChange","onChangeProp","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","__","__experimentalRenderItem","useDeprecated36pxDefaultSizeProp","setValue","useControlledValue","currentOption","find","option","currentLabel","instanceId","useInstanceId","setSelectedSuggestion","useState","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","useRef","useMemo","startsWithMatch","containsMatch","match","normalizeTextString","forEach","index","push","concat","onSuggestionSelected","newSelectedSuggestion","speak","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","nativeEvent","isComposing","keyCode","code","onBlur","onFocus","onInputChange","text","handleOnReset","current","focus","useEffect","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","sprintf","_n","createElement","default","classnames","id","tabIndex","InputWrapperFlex","FlexBlock","ref","selectedSuggestionIndex","FlexItem","icon","closeSmall","disabled","onClick","displayTransform","suggestion","suggestions","selectedIndex","onHover","onSelect","scrollIntoView","_default","exports"],"sources":["@wordpress/components/src/combobox-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock, FlexItem } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport { useControlledValue } from '../utils/hooks';\nimport { normalizeTextString } from '../utils/strings';\nimport type { ComboboxControlOption, ComboboxControlProps } from './types';\nimport type { TokenInputProps } from '../form-token-field/types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst noop = () => {};\n\ninterface DetectOutsideComponentProps {\n\tonFocusOutside: ( event: React.FocusEvent ) => void;\n\tchildren?: React.ReactNode;\n}\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component< DetectOutsideComponentProps > {\n\t\thandleFocusOutside( event: React.FocusEvent ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nconst getIndexOfMatchingSuggestion = (\n\tselectedSuggestion: ComboboxControlOption | null,\n\tmatchingSuggestions: ComboboxControlOption[]\n) =>\n\tselectedSuggestion === null\n\t\t? -1\n\t\t: matchingSuggestions.indexOf( selectedSuggestion );\n\n/**\n * `ComboboxControl` is an enhanced version of a [`SelectControl`](../select-control/README.md) with the addition of\n * being able to search for options using a search input.\n *\n * ```jsx\n * import { ComboboxControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const options = [\n * \t{\n * \t\tvalue: 'small',\n * \t\tlabel: 'Small',\n * \t},\n * \t{\n * \t\tvalue: 'normal',\n * \t\tlabel: 'Normal',\n * \t},\n * \t{\n * \t\tvalue: 'large',\n * \t\tlabel: 'Large',\n * \t},\n * ];\n *\n * function MyComboboxControl() {\n * \tconst [ fontSize, setFontSize ] = useState();\n * \tconst [ filteredOptions, setFilteredOptions ] = useState( options );\n * \treturn (\n * \t\t<ComboboxControl\n * \t\t\tlabel=\"Font Size\"\n * \t\t\tvalue={ fontSize }\n * \t\t\tonChange={ setFontSize }\n * \t\t\toptions={ filteredOptions }\n * \t\t\tonFilterValueChange={ ( inputValue ) =>\n * \t\t\t\tsetFilteredOptions(\n * \t\t\t\t\toptions.filter( ( option ) =>\n * \t\t\t\t\t\toption.label\n * \t\t\t\t\t\t\t.toLowerCase()\n * \t\t\t\t\t\t\t.startsWith( inputValue.toLowerCase() )\n * \t\t\t\t\t)\n * \t\t\t\t)\n * \t\t\t}\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction ComboboxControl( props: ComboboxControlProps ) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\t__next40pxDefaultSize = false,\n\t\tvalue: valueProp,\n\t\tlabel,\n\t\toptions,\n\t\tonChange: onChangeProp,\n\t\tonFilterValueChange = noop,\n\t\thideLabelFromVision,\n\t\thelp,\n\t\tallowReset = true,\n\t\tclassName,\n\t\tmessages = {\n\t\t\tselected: __( 'Item selected.' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t} = useDeprecated36pxDefaultSizeProp< ComboboxControlProps >(\n\t\tprops,\n\t\t'wp.components.ComboboxControl'\n\t);\n\n\tconst [ value, setValue ] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange: onChangeProp,\n\t} );\n\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef< HTMLInputElement >( null );\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch: ComboboxControlOption[] = [];\n\t\tconst containsMatch: ComboboxControlOption[] = [];\n\t\tconst match = normalizeTextString( inputValue );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = normalizeTextString( option.label ).indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options ] );\n\n\tconst onSuggestionSelected = (\n\t\tnewSelectedSuggestion: ComboboxControlOption\n\t) => {\n\t\tsetValue( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = getIndexOfMatchingSuggestion(\n\t\t\tselectedSuggestion,\n\t\t\tmatchingSuggestions\n\t\t);\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown: React.KeyboardEventHandler< HTMLDivElement > = (\n\t\tevent\n\t) => {\n\t\tlet preventDefault = false;\n\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.code ) {\n\t\t\tcase 'Enter':\n\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tsetIsExpanded( false );\n\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tsetIsExpanded( true );\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange: TokenInputProps[ 'onChange' ] = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tsetValue( null );\n\t\tinputContainer.current?.focus();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tgetIndexOfMatchingSuggestion(\n\t\t\t\tselectedSuggestion,\n\t\t\t\tmatchingSuggestions\n\t\t\t) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'components-combobox-control'\n\t\t\t\t) }\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t// The empty string for `value` here is not actually used, but is\n\t\t\t\t\t\t\t// just a quick way to satisfy the TypeScript requirements of SuggestionsList.\n\t\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/47581/files#r1091089330\n\t\t\t\t\t\t\tmatch={ { label: inputValue, value: '' } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t\t__experimentalRenderItem={\n\t\t\t\t\t\t\t\t__experimentalRenderItem\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</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reakit","require"],"sources":["@wordpress/components/src/composite/index.js"],"sourcesContent":["/**\n * Composite is a component that may contain navigable items represented by\n * CompositeItem. It's inspired by the WAI-ARIA Composite Role and implements\n * all the keyboard navigation mechanisms to ensure that there's only one\n * tab stop for the whole Composite element. This means that it can behave as\n * a roving tabindex or aria-activedescendant container.\n *\n * @see https://reakit.io/docs/composite/\n *\n * The plan is to build own API that accounts for future breaking changes\n * in Reakit (https://github.com/WordPress/gutenberg/pull/28085).\n */\n/* eslint-disable-next-line no-restricted-imports */\nexport {\n\tComposite,\n\tCompositeGroup,\n\tCompositeItem,\n\tuseCompositeState,\n} from 'reakit';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAAA,OAAA,GAAAC,OAAA"}
1
+ {"version":3,"names":["_reakit","require"],"sources":["@wordpress/components/src/composite/index.ts"],"sourcesContent":["/**\n * Composite is a component that may contain navigable items represented by\n * CompositeItem. It's inspired by the WAI-ARIA Composite Role and implements\n * all the keyboard navigation mechanisms to ensure that there's only one\n * tab stop for the whole Composite element. This means that it can behave as\n * a roving tabindex or aria-activedescendant container.\n *\n * @see https://reakit.io/docs/composite/\n *\n * The plan is to build own API that accounts for future breaking changes\n * in Reakit (https://github.com/WordPress/gutenberg/pull/28085).\n */\n/* eslint-disable-next-line no-restricted-imports */\nexport {\n\tComposite,\n\tCompositeGroup,\n\tCompositeItem,\n\tuseCompositeState,\n} from 'reakit';\n\n/* eslint-disable-next-line no-restricted-imports */\nexport type { CompositeStateReturn as CompositeState } from 'reakit';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAAA,OAAA,GAAAC,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_colord","_compose","_i18n","_icons","_button","_hStack","_colorPicker","_visuallyHidden","_colorPalette","_utils","_constants","ControlPointButton","isOpen","position","color","additionalProps","instanceId","useInstanceId","descriptionId","createElement","Fragment","default","sprintf","__","className","classnames","VisuallyHidden","id","GradientColorPickerDropdown","isRenderedInSidebar","props","popoverProps","useMemo","placement","offset","mergedClassName","CustomColorPickerDropdown","ControlPoints","disableRemove","disableAlpha","gradientPickerDomRef","ignoreMarkerPosition","value","controlPoints","onChange","onStartControlPointChange","onStopControlPointChange","__experimentalIsRenderedInSidebar","controlPointMoveState","useRef","onMouseMove","event","current","undefined","relativePosition","getHorizontalRelativeGradientPosition","clientX","initialPosition","index","significantMoveHappened","Math","abs","MINIMUM_SIGNIFICANT_MOVE","updateControlPointPosition","cleanEventListeners","window","removeEventListener","listenersActivated","cleanEventListenersRef","useEffect","map","point","key","onClose","renderToggle","onToggle","onClick","onMouseDown","addEventListener","onKeyDown","code","stopPropagation","clampPercent","KEYBOARD_CONTROL_POINT_VARIATION","renderContent","ColorPicker","enableAlpha","updateControlPointColor","colord","toRgbString","length","HStack","alignment","removeControlPoint","variant","style","left","transform","InsertPoint","onOpenInserter","onCloseInserter","insertPosition","alreadyInsertedPoint","setAlreadyInsertedPoint","useState","icon","plus","addControlPoint","updateControlPointColorByPosition","_default","exports"],"sources":["@wordpress/components/src/custom-gradient-picker/gradient-bar/control-points.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useRef, useState, useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport { HStack } from '../../h-stack';\nimport { ColorPicker } from '../../color-picker';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { CustomColorPickerDropdown } from '../../color-palette';\n\nimport {\n\taddControlPoint,\n\tclampPercent,\n\tremoveControlPoint,\n\tupdateControlPointColor,\n\tupdateControlPointColorByPosition,\n\tupdateControlPointPosition,\n\tgetHorizontalRelativeGradientPosition,\n} from './utils';\nimport {\n\tMINIMUM_SIGNIFICANT_MOVE,\n\tKEYBOARD_CONTROL_POINT_VARIATION,\n} from './constants';\nimport type { WordPressComponentProps } from '../../ui/context';\nimport type {\n\tControlPointButtonProps,\n\tControlPointMoveState,\n\tControlPointsProps,\n\tInsertPointProps,\n} from '../types';\nimport type { CustomColorPickerDropdownProps } from '../../color-palette/types';\n\nfunction ControlPointButton( {\n\tisOpen,\n\tposition,\n\tcolor,\n\t...additionalProps\n}: WordPressComponentProps< ControlPointButtonProps, 'button', true > ) {\n\tconst instanceId = useInstanceId( ControlPointButton );\n\tconst descriptionId = `components-custom-gradient-picker__control-point-button-description-${ instanceId }`;\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t// translators: %1$s: gradient position e.g: 70, %2$s: gradient color code e.g: rgb(52,121,151).\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Gradient control point at position %1$s%% with color code %2$s.'\n\t\t\t\t\t),\n\t\t\t\t\tposition,\n\t\t\t\t\tcolor\n\t\t\t\t) }\n\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'components-custom-gradient-picker__control-point-button',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isOpen,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t{ ...additionalProps }\n\t\t\t/>\n\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t{ __(\n\t\t\t\t\t'Use your left or right arrow keys or drag and drop with the mouse to change the gradient position. Press the button to change the color or remove the control point.'\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n\nfunction GradientColorPickerDropdown( {\n\tisRenderedInSidebar,\n\tclassName,\n\t...props\n}: CustomColorPickerDropdownProps ) {\n\t// Open the popover below the gradient control/insertion point\n\tconst popoverProps = useMemo(\n\t\t() =>\n\t\t\t( {\n\t\t\t\tplacement: 'bottom',\n\t\t\t\toffset: 8,\n\t\t\t} as const ),\n\t\t[]\n\t);\n\n\tconst mergedClassName = classnames(\n\t\t'components-custom-gradient-picker__control-point-dropdown',\n\t\tclassName\n\t);\n\n\treturn (\n\t\t<CustomColorPickerDropdown\n\t\t\tisRenderedInSidebar={ isRenderedInSidebar }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName={ mergedClassName }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction ControlPoints( {\n\tdisableRemove,\n\tdisableAlpha,\n\tgradientPickerDomRef,\n\tignoreMarkerPosition,\n\tvalue: controlPoints,\n\tonChange,\n\tonStartControlPointChange,\n\tonStopControlPointChange,\n\t__experimentalIsRenderedInSidebar,\n}: ControlPointsProps ) {\n\tconst controlPointMoveState = useRef< ControlPointMoveState >();\n\n\tconst onMouseMove = ( event: MouseEvent ) => {\n\t\tif (\n\t\t\tcontrolPointMoveState.current === undefined ||\n\t\t\tgradientPickerDomRef.current === null\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst relativePosition = getHorizontalRelativeGradientPosition(\n\t\t\tevent.clientX,\n\t\t\tgradientPickerDomRef.current\n\t\t);\n\n\t\tconst { initialPosition, index, significantMoveHappened } =\n\t\t\tcontrolPointMoveState.current;\n\n\t\tif (\n\t\t\t! significantMoveHappened &&\n\t\t\tMath.abs( initialPosition - relativePosition ) >=\n\t\t\t\tMINIMUM_SIGNIFICANT_MOVE\n\t\t) {\n\t\t\tcontrolPointMoveState.current.significantMoveHappened = true;\n\t\t}\n\n\t\tonChange(\n\t\t\tupdateControlPointPosition( controlPoints, index, relativePosition )\n\t\t);\n\t};\n\n\tconst cleanEventListeners = () => {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.removeEventListener &&\n\t\t\tcontrolPointMoveState.current &&\n\t\t\tcontrolPointMoveState.current.listenersActivated\n\t\t) {\n\t\t\twindow.removeEventListener( 'mousemove', onMouseMove );\n\t\t\twindow.removeEventListener( 'mouseup', cleanEventListeners );\n\t\t\tonStopControlPointChange();\n\t\t\tcontrolPointMoveState.current.listenersActivated = false;\n\t\t}\n\t};\n\n\t// Adding `cleanEventListeners` to the dependency array below requires the function itself to be wrapped in a `useCallback`\n\t// This memoization would prevent the event listeners from being properly cleaned.\n\t// Instead, we'll pass a ref to the function in our `useEffect` so `cleanEventListeners` itself is no longer a dependency.\n\tconst cleanEventListenersRef = useRef< () => void >();\n\tcleanEventListenersRef.current = cleanEventListeners;\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tcleanEventListenersRef.current?.();\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ controlPoints.map( ( point, index ) => {\n\t\t\t\tconst initialPosition = point?.position;\n\t\t\t\treturn (\n\t\t\t\t\tignoreMarkerPosition !== initialPosition && (\n\t\t\t\t\t\t<GradientColorPickerDropdown\n\t\t\t\t\t\t\tisRenderedInSidebar={\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonClose={ onStopControlPointChange }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<ControlPointButton\n\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current &&\n\t\t\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current\n\t\t\t\t\t\t\t\t\t\t\t\t.significantMoveHappened\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\t\t\t\t\tonStopControlPointChange();\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonMouseDown={ () => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\twindow &&\n\t\t\t\t\t\t\t\t\t\t\twindow.addEventListener\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current = {\n\t\t\t\t\t\t\t\t\t\t\t\tinitialPosition,\n\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\tsignificantMoveHappened: false,\n\t\t\t\t\t\t\t\t\t\t\t\tlistenersActivated: true,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t\t\t'mousemove',\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseMove\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t\t\t'mouseup',\n\t\t\t\t\t\t\t\t\t\t\t\tcleanEventListeners\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint.position -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\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} else if (\n\t\t\t\t\t\t\t\t\t\t\tevent.code === 'ArrowRight'\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint.position +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\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}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\t\t\tposition={ point.position }\n\t\t\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tupdateControlPointColor(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolord(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor\n\t\t\t\t\t\t\t\t\t\t\t\t\t).toRgbString()\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} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ ! disableRemove &&\n\t\t\t\t\t\t\t\t\t\tcontrolPoints.length > 2 && (\n\t\t\t\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-custom-gradient-picker__remove-control-point-wrapper\"\n\t\t\t\t\t\t\t\t\t\t\t\talignment=\"center\"\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<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tremoveControlPoint(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\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\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\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\tvariant=\"link\"\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\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove Control Point'\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</Button>\n\t\t\t\t\t\t\t\t\t\t\t</HStack>\n\t\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) }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tleft: `${ point.position }%`,\n\t\t\t\t\t\t\t\ttransform: 'translateX( -50% )',\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);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nfunction InsertPoint( {\n\tvalue: controlPoints,\n\tonChange,\n\tonOpenInserter,\n\tonCloseInserter,\n\tinsertPosition,\n\tdisableAlpha,\n\t__experimentalIsRenderedInSidebar,\n}: InsertPointProps ) {\n\tconst [ alreadyInsertedPoint, setAlreadyInsertedPoint ] = useState( false );\n\treturn (\n\t\t<GradientColorPickerDropdown\n\t\t\tisRenderedInSidebar={ __experimentalIsRenderedInSidebar }\n\t\t\tclassName=\"components-custom-gradient-picker__inserter\"\n\t\t\tonClose={ () => {\n\t\t\t\tonCloseInserter();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\tonCloseInserter();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( false );\n\t\t\t\t\t\t\tonOpenInserter();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"components-custom-gradient-picker__insert-point-dropdown\"\n\t\t\t\t\ticon={ plus }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\tif ( ! alreadyInsertedPoint ) {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\taddControlPoint(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( true );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tupdateControlPointColorByPosition(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tstyle={\n\t\t\t\tinsertPosition !== null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tleft: `${ insertPosition }%`,\n\t\t\t\t\t\t\ttransform: 'translateX( -50% )',\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\nControlPoints.InsertPoint = InsertPoint;\n\nexport default ControlPoints;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_colord","_compose","_i18n","_icons","_button","_hStack","_colorPicker","_visuallyHidden","_colorPalette","_utils","_constants","ControlPointButton","isOpen","position","color","additionalProps","instanceId","useInstanceId","descriptionId","createElement","Fragment","default","sprintf","__","className","classnames","VisuallyHidden","id","GradientColorPickerDropdown","isRenderedInSidebar","props","popoverProps","useMemo","placement","offset","mergedClassName","CustomColorPickerDropdown","ControlPoints","disableRemove","disableAlpha","gradientPickerDomRef","ignoreMarkerPosition","value","controlPoints","onChange","onStartControlPointChange","onStopControlPointChange","__experimentalIsRenderedInSidebar","controlPointMoveState","useRef","onMouseMove","event","current","undefined","relativePosition","getHorizontalRelativeGradientPosition","clientX","initialPosition","index","significantMoveHappened","Math","abs","MINIMUM_SIGNIFICANT_MOVE","updateControlPointPosition","cleanEventListeners","window","removeEventListener","listenersActivated","cleanEventListenersRef","useEffect","map","point","key","onClose","renderToggle","onToggle","onClick","onMouseDown","addEventListener","onKeyDown","code","stopPropagation","clampPercent","KEYBOARD_CONTROL_POINT_VARIATION","renderContent","ColorPicker","enableAlpha","updateControlPointColor","colord","toRgbString","length","HStack","alignment","removeControlPoint","variant","style","left","transform","InsertPoint","onOpenInserter","onCloseInserter","insertPosition","alreadyInsertedPoint","setAlreadyInsertedPoint","useState","icon","plus","addControlPoint","updateControlPointColorByPosition","_default","exports"],"sources":["@wordpress/components/src/custom-gradient-picker/gradient-bar/control-points.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useRef, useState, useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport { HStack } from '../../h-stack';\nimport { ColorPicker } from '../../color-picker';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { CustomColorPickerDropdown } from '../../color-palette';\n\nimport {\n\taddControlPoint,\n\tclampPercent,\n\tremoveControlPoint,\n\tupdateControlPointColor,\n\tupdateControlPointColorByPosition,\n\tupdateControlPointPosition,\n\tgetHorizontalRelativeGradientPosition,\n} from './utils';\nimport {\n\tMINIMUM_SIGNIFICANT_MOVE,\n\tKEYBOARD_CONTROL_POINT_VARIATION,\n} from './constants';\nimport type { WordPressComponentProps } from '../../ui/context';\nimport type {\n\tControlPointButtonProps,\n\tControlPointMoveState,\n\tControlPointsProps,\n\tInsertPointProps,\n} from '../types';\nimport type { CustomColorPickerDropdownProps } from '../../color-palette/types';\n\nfunction ControlPointButton( {\n\tisOpen,\n\tposition,\n\tcolor,\n\t...additionalProps\n}: WordPressComponentProps< ControlPointButtonProps, 'button', true > ) {\n\tconst instanceId = useInstanceId( ControlPointButton );\n\tconst descriptionId = `components-custom-gradient-picker__control-point-button-description-${ instanceId }`;\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t// translators: %1$s: gradient position e.g: 70, %2$s: gradient color code e.g: rgb(52,121,151).\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Gradient control point at position %1$s%% with color code %2$s.'\n\t\t\t\t\t),\n\t\t\t\t\tposition,\n\t\t\t\t\tcolor\n\t\t\t\t) }\n\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'components-custom-gradient-picker__control-point-button',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isOpen,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t{ ...additionalProps }\n\t\t\t/>\n\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t{ __(\n\t\t\t\t\t'Use your left or right arrow keys or drag and drop with the mouse to change the gradient position. Press the button to change the color or remove the control point.'\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n\nfunction GradientColorPickerDropdown( {\n\tisRenderedInSidebar,\n\tclassName,\n\t...props\n}: CustomColorPickerDropdownProps ) {\n\t// Open the popover below the gradient control/insertion point\n\tconst popoverProps = useMemo(\n\t\t() =>\n\t\t\t( {\n\t\t\t\tplacement: 'bottom',\n\t\t\t\toffset: 8,\n\t\t\t} ) as const,\n\t\t[]\n\t);\n\n\tconst mergedClassName = classnames(\n\t\t'components-custom-gradient-picker__control-point-dropdown',\n\t\tclassName\n\t);\n\n\treturn (\n\t\t<CustomColorPickerDropdown\n\t\t\tisRenderedInSidebar={ isRenderedInSidebar }\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName={ mergedClassName }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction ControlPoints( {\n\tdisableRemove,\n\tdisableAlpha,\n\tgradientPickerDomRef,\n\tignoreMarkerPosition,\n\tvalue: controlPoints,\n\tonChange,\n\tonStartControlPointChange,\n\tonStopControlPointChange,\n\t__experimentalIsRenderedInSidebar,\n}: ControlPointsProps ) {\n\tconst controlPointMoveState = useRef< ControlPointMoveState >();\n\n\tconst onMouseMove = ( event: MouseEvent ) => {\n\t\tif (\n\t\t\tcontrolPointMoveState.current === undefined ||\n\t\t\tgradientPickerDomRef.current === null\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst relativePosition = getHorizontalRelativeGradientPosition(\n\t\t\tevent.clientX,\n\t\t\tgradientPickerDomRef.current\n\t\t);\n\n\t\tconst { initialPosition, index, significantMoveHappened } =\n\t\t\tcontrolPointMoveState.current;\n\n\t\tif (\n\t\t\t! significantMoveHappened &&\n\t\t\tMath.abs( initialPosition - relativePosition ) >=\n\t\t\t\tMINIMUM_SIGNIFICANT_MOVE\n\t\t) {\n\t\t\tcontrolPointMoveState.current.significantMoveHappened = true;\n\t\t}\n\n\t\tonChange(\n\t\t\tupdateControlPointPosition( controlPoints, index, relativePosition )\n\t\t);\n\t};\n\n\tconst cleanEventListeners = () => {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.removeEventListener &&\n\t\t\tcontrolPointMoveState.current &&\n\t\t\tcontrolPointMoveState.current.listenersActivated\n\t\t) {\n\t\t\twindow.removeEventListener( 'mousemove', onMouseMove );\n\t\t\twindow.removeEventListener( 'mouseup', cleanEventListeners );\n\t\t\tonStopControlPointChange();\n\t\t\tcontrolPointMoveState.current.listenersActivated = false;\n\t\t}\n\t};\n\n\t// Adding `cleanEventListeners` to the dependency array below requires the function itself to be wrapped in a `useCallback`\n\t// This memoization would prevent the event listeners from being properly cleaned.\n\t// Instead, we'll pass a ref to the function in our `useEffect` so `cleanEventListeners` itself is no longer a dependency.\n\tconst cleanEventListenersRef = useRef< () => void >();\n\tcleanEventListenersRef.current = cleanEventListeners;\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tcleanEventListenersRef.current?.();\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ controlPoints.map( ( point, index ) => {\n\t\t\t\tconst initialPosition = point?.position;\n\t\t\t\treturn (\n\t\t\t\t\tignoreMarkerPosition !== initialPosition && (\n\t\t\t\t\t\t<GradientColorPickerDropdown\n\t\t\t\t\t\t\tisRenderedInSidebar={\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonClose={ onStopControlPointChange }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<ControlPointButton\n\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current &&\n\t\t\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current\n\t\t\t\t\t\t\t\t\t\t\t\t.significantMoveHappened\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\t\t\t\t\tonStopControlPointChange();\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonMouseDown={ () => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\twindow &&\n\t\t\t\t\t\t\t\t\t\t\twindow.addEventListener\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tcontrolPointMoveState.current = {\n\t\t\t\t\t\t\t\t\t\t\t\tinitialPosition,\n\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\tsignificantMoveHappened: false,\n\t\t\t\t\t\t\t\t\t\t\t\tlistenersActivated: true,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tonStartControlPointChange();\n\t\t\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t\t\t'mousemove',\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseMove\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t\t\t\t\t\t'mouseup',\n\t\t\t\t\t\t\t\t\t\t\t\tcleanEventListeners\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint.position -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\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} else if (\n\t\t\t\t\t\t\t\t\t\t\tevent.code === 'ArrowRight'\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t// Stop propagation of the key press event to avoid focus moving\n\t\t\t\t\t\t\t\t\t\t\t// to another editor area.\n\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tupdateControlPointPosition(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclampPercent(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpoint.position +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKEYBOARD_CONTROL_POINT_VARIATION\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}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\t\t\tposition={ point.position }\n\t\t\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\t\t\t\t\t\tcolor={ point.color }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\tupdateControlPointColor(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolord(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor\n\t\t\t\t\t\t\t\t\t\t\t\t\t).toRgbString()\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} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ ! disableRemove &&\n\t\t\t\t\t\t\t\t\t\tcontrolPoints.length > 2 && (\n\t\t\t\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-custom-gradient-picker__remove-control-point-wrapper\"\n\t\t\t\t\t\t\t\t\t\t\t\talignment=\"center\"\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<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tremoveControlPoint(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\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\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\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\tvariant=\"link\"\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\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove Control Point'\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</Button>\n\t\t\t\t\t\t\t\t\t\t\t</HStack>\n\t\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) }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tleft: `${ point.position }%`,\n\t\t\t\t\t\t\t\ttransform: 'translateX( -50% )',\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);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nfunction InsertPoint( {\n\tvalue: controlPoints,\n\tonChange,\n\tonOpenInserter,\n\tonCloseInserter,\n\tinsertPosition,\n\tdisableAlpha,\n\t__experimentalIsRenderedInSidebar,\n}: InsertPointProps ) {\n\tconst [ alreadyInsertedPoint, setAlreadyInsertedPoint ] = useState( false );\n\treturn (\n\t\t<GradientColorPickerDropdown\n\t\t\tisRenderedInSidebar={ __experimentalIsRenderedInSidebar }\n\t\t\tclassName=\"components-custom-gradient-picker__inserter\"\n\t\t\tonClose={ () => {\n\t\t\t\tonCloseInserter();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\tonCloseInserter();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( false );\n\t\t\t\t\t\t\tonOpenInserter();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"components-custom-gradient-picker__insert-point-dropdown\"\n\t\t\t\t\ticon={ plus }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tenableAlpha={ ! disableAlpha }\n\t\t\t\t\tonChange={ ( color ) => {\n\t\t\t\t\t\tif ( ! alreadyInsertedPoint ) {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\taddControlPoint(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetAlreadyInsertedPoint( true );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tupdateControlPointColorByPosition(\n\t\t\t\t\t\t\t\t\tcontrolPoints,\n\t\t\t\t\t\t\t\t\tinsertPosition,\n\t\t\t\t\t\t\t\t\tcolord( color ).toRgbString()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\tstyle={\n\t\t\t\tinsertPosition !== null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tleft: `${ insertPosition }%`,\n\t\t\t\t\t\t\ttransform: 'translateX( -50% )',\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\nControlPoints.InsertPoint = InsertPoint;\n\nexport default ControlPoints;\n"],"mappings":"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"}
@@ -39,7 +39,7 @@ const TimeZone = () => {
39
39
  const zoneAbbr = '' !== timezone.abbr && isNaN(Number(timezone.abbr)) ? timezone.abbr : `UTC${offsetSymbol}${timezone.offset}`;
40
40
  const timezoneDetail = 'UTC' === timezone.string ? (0, _i18n.__)('Coordinated Universal Time') : `(${zoneAbbr}) ${timezone.string.replace('_', ' ')}`;
41
41
  return (0, _element.createElement)(_tooltip.default, {
42
- position: "top center",
42
+ placement: "top",
43
43
  text: timezoneDetail
44
44
  }, (0, _element.createElement)(_styles.TimeZone, {
45
45
  className: "components-datetime__timezone"
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_date","_tooltip","_interopRequireDefault","_styles","TimeZone","timezone","getDateSettings","userTimezoneOffset","Date","getTimezoneOffset","Number","offset","offsetSymbol","zoneAbbr","abbr","isNaN","timezoneDetail","string","__","replace","_element","createElement","default","position","text","className","_default","exports"],"sources":["@wordpress/components/src/date-time/time/timezone.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getSettings as getDateSettings } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../../tooltip';\nimport { TimeZone as StyledComponent } from './styles';\n\n/**\n * Displays timezone information when user timezone is different from site\n * timezone.\n */\nconst TimeZone = () => {\n\tconst { timezone } = getDateSettings();\n\n\t// Convert timezone offset to hours.\n\tconst userTimezoneOffset = -1 * ( new Date().getTimezoneOffset() / 60 );\n\n\t// System timezone and user timezone match, nothing needed.\n\t// Compare as numbers because it comes over as string.\n\tif ( Number( timezone.offset ) === userTimezoneOffset ) {\n\t\treturn null;\n\t}\n\n\tconst offsetSymbol = Number( timezone.offset ) >= 0 ? '+' : '';\n\tconst zoneAbbr =\n\t\t'' !== timezone.abbr && isNaN( Number( timezone.abbr ) )\n\t\t\t? timezone.abbr\n\t\t\t: `UTC${ offsetSymbol }${ timezone.offset }`;\n\n\tconst timezoneDetail =\n\t\t'UTC' === timezone.string\n\t\t\t? __( 'Coordinated Universal Time' )\n\t\t\t: `(${ zoneAbbr }) ${ timezone.string.replace( '_', ' ' ) }`;\n\n\treturn (\n\t\t<Tooltip position=\"top center\" text={ timezoneDetail }>\n\t\t\t<StyledComponent className=\"components-datetime__timezone\">\n\t\t\t\t{ zoneAbbr }\n\t\t\t</StyledComponent>\n\t\t</Tooltip>\n\t);\n};\n\nexport default TimeZone;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,MAAMK,QAAQ,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,iBAAe,EAAC,CAAC;;EAEtC;EACA,MAAMC,kBAAkB,GAAG,CAAC,CAAC,IAAK,IAAIC,IAAI,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAE;;EAEvE;EACA;EACA,IAAKC,MAAM,CAAEL,QAAQ,CAACM,MAAO,CAAC,KAAKJ,kBAAkB,EAAG;IACvD,OAAO,IAAI;EACZ;EAEA,MAAMK,YAAY,GAAGF,MAAM,CAAEL,QAAQ,CAACM,MAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE;EAC9D,MAAME,QAAQ,GACb,EAAE,KAAKR,QAAQ,CAACS,IAAI,IAAIC,KAAK,CAAEL,MAAM,CAAEL,QAAQ,CAACS,IAAK,CAAE,CAAC,GACrDT,QAAQ,CAACS,IAAI,GACZ,MAAMF,YAAc,GAAGP,QAAQ,CAACM,MAAQ,EAAC;EAE9C,MAAMK,cAAc,GACnB,KAAK,KAAKX,QAAQ,CAACY,MAAM,GACtB,IAAAC,QAAE,EAAE,4BAA6B,CAAC,GACjC,IAAIL,QAAU,KAAKR,QAAQ,CAACY,MAAM,CAACE,OAAO,CAAE,GAAG,EAAE,GAAI,CAAG,EAAC;EAE9D,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACpB,QAAA,CAAAqB,OAAO;IAACC,QAAQ,EAAC,YAAY;IAACC,IAAI,EAAGR;EAAgB,GACrD,IAAAI,QAAA,CAAAC,aAAA,EAAClB,OAAA,CAAAC,QAAe;IAACqB,SAAS,EAAC;EAA+B,GACvDZ,QACc,CACT,CAAC;AAEZ,CAAC;AAAC,IAAAa,QAAA,GAEatB,QAAQ;AAAAuB,OAAA,CAAAL,OAAA,GAAAI,QAAA"}
1
+ {"version":3,"names":["_i18n","require","_date","_tooltip","_interopRequireDefault","_styles","TimeZone","timezone","getDateSettings","userTimezoneOffset","Date","getTimezoneOffset","Number","offset","offsetSymbol","zoneAbbr","abbr","isNaN","timezoneDetail","string","__","replace","_element","createElement","default","placement","text","className","_default","exports"],"sources":["@wordpress/components/src/date-time/time/timezone.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getSettings as getDateSettings } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../../tooltip';\nimport { TimeZone as StyledComponent } from './styles';\n\n/**\n * Displays timezone information when user timezone is different from site\n * timezone.\n */\nconst TimeZone = () => {\n\tconst { timezone } = getDateSettings();\n\n\t// Convert timezone offset to hours.\n\tconst userTimezoneOffset = -1 * ( new Date().getTimezoneOffset() / 60 );\n\n\t// System timezone and user timezone match, nothing needed.\n\t// Compare as numbers because it comes over as string.\n\tif ( Number( timezone.offset ) === userTimezoneOffset ) {\n\t\treturn null;\n\t}\n\n\tconst offsetSymbol = Number( timezone.offset ) >= 0 ? '+' : '';\n\tconst zoneAbbr =\n\t\t'' !== timezone.abbr && isNaN( Number( timezone.abbr ) )\n\t\t\t? timezone.abbr\n\t\t\t: `UTC${ offsetSymbol }${ timezone.offset }`;\n\n\tconst timezoneDetail =\n\t\t'UTC' === timezone.string\n\t\t\t? __( 'Coordinated Universal Time' )\n\t\t\t: `(${ zoneAbbr }) ${ timezone.string.replace( '_', ' ' ) }`;\n\n\treturn (\n\t\t<Tooltip placement=\"top\" text={ timezoneDetail }>\n\t\t\t<StyledComponent className=\"components-datetime__timezone\">\n\t\t\t\t{ zoneAbbr }\n\t\t\t</StyledComponent>\n\t\t</Tooltip>\n\t);\n};\n\nexport default TimeZone;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,MAAMK,QAAQ,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,iBAAe,EAAC,CAAC;;EAEtC;EACA,MAAMC,kBAAkB,GAAG,CAAC,CAAC,IAAK,IAAIC,IAAI,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAE;;EAEvE;EACA;EACA,IAAKC,MAAM,CAAEL,QAAQ,CAACM,MAAO,CAAC,KAAKJ,kBAAkB,EAAG;IACvD,OAAO,IAAI;EACZ;EAEA,MAAMK,YAAY,GAAGF,MAAM,CAAEL,QAAQ,CAACM,MAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE;EAC9D,MAAME,QAAQ,GACb,EAAE,KAAKR,QAAQ,CAACS,IAAI,IAAIC,KAAK,CAAEL,MAAM,CAAEL,QAAQ,CAACS,IAAK,CAAE,CAAC,GACrDT,QAAQ,CAACS,IAAI,GACZ,MAAMF,YAAc,GAAGP,QAAQ,CAACM,MAAQ,EAAC;EAE9C,MAAMK,cAAc,GACnB,KAAK,KAAKX,QAAQ,CAACY,MAAM,GACtB,IAAAC,QAAE,EAAE,4BAA6B,CAAC,GACjC,IAAIL,QAAU,KAAKR,QAAQ,CAACY,MAAM,CAACE,OAAO,CAAE,GAAG,EAAE,GAAI,CAAG,EAAC;EAE9D,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACpB,QAAA,CAAAqB,OAAO;IAACC,SAAS,EAAC,KAAK;IAACC,IAAI,EAAGR;EAAgB,GAC/C,IAAAI,QAAA,CAAAC,aAAA,EAAClB,OAAA,CAAAC,QAAe;IAACqB,SAAS,EAAC;EAA+B,GACvDZ,QACc,CACT,CAAC;AAEZ,CAAC;AAAC,IAAAa,QAAA,GAEatB,QAAQ;AAAAuB,OAAA,CAAAL,OAAA,GAAAI,QAAA"}
@@ -10,6 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _compose = require("@wordpress/compose");
11
11
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
12
12
  var _context = require("../ui/context");
13
+ var _hooks = require("../utils/hooks");
13
14
  var _popover = _interopRequireDefault(require("../popover"));
14
15
  /**
15
16
  * External dependencies
@@ -23,15 +24,6 @@ var _popover = _interopRequireDefault(require("../popover"));
23
24
  * Internal dependencies
24
25
  */
25
26
 
26
- function useObservableState(initialState, onStateChange) {
27
- const [state, setState] = (0, _element.useState)(initialState);
28
- return [state, value => {
29
- setState(value);
30
- if (onStateChange) {
31
- onStateChange(value);
32
- }
33
- }];
34
- }
35
27
  const UnconnectedDropdown = (props, forwardedRef) => {
36
28
  const {
37
29
  renderContent,
@@ -45,6 +37,8 @@ const UnconnectedDropdown = (props, forwardedRef) => {
45
37
  onClose,
46
38
  onToggle,
47
39
  style,
40
+ open,
41
+ defaultOpen,
48
42
  // Deprecated props
49
43
  position,
50
44
  // From context system
@@ -62,15 +56,11 @@ const UnconnectedDropdown = (props, forwardedRef) => {
62
56
  // re-renders when the popover's anchor updates.
63
57
  const [fallbackPopoverAnchor, setFallbackPopoverAnchor] = (0, _element.useState)(null);
64
58
  const containerRef = (0, _element.useRef)();
65
- const [isOpen, setIsOpen] = useObservableState(false, onToggle);
66
- (0, _element.useEffect)(() => () => {
67
- if (onToggle && isOpen) {
68
- onToggle(false);
69
- }
70
- }, [onToggle, isOpen]);
71
- function toggle() {
72
- setIsOpen(!isOpen);
73
- }
59
+ const [isOpen, setIsOpen] = (0, _hooks.useControlledValue)({
60
+ defaultValue: defaultOpen,
61
+ value: open,
62
+ onChange: onToggle
63
+ });
74
64
 
75
65
  /**
76
66
  * Closes the popover when focus leaves it unless the toggle was pressed or
@@ -91,14 +81,12 @@ const UnconnectedDropdown = (props, forwardedRef) => {
91
81
  }
92
82
  }
93
83
  function close() {
94
- if (onClose) {
95
- onClose();
96
- }
84
+ onClose?.();
97
85
  setIsOpen(false);
98
86
  }
99
87
  const args = {
100
- isOpen,
101
- onToggle: toggle,
88
+ isOpen: !!isOpen,
89
+ onToggle: () => setIsOpen(!isOpen),
102
90
  onClose: close
103
91
  };
104
92
  const popoverPropsHaveAnchor = !!popoverProps?.anchor ||
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_compose","_deprecated","_context","_popover","useObservableState","initialState","onStateChange","state","setState","useState","value","UnconnectedDropdown","props","forwardedRef","renderContent","renderToggle","className","contentClassName","expandOnMobile","headerTitle","focusOnMount","popoverProps","onClose","onToggle","style","position","variant","useContextSystem","undefined","deprecated","since","alternative","hint","fallbackPopoverAnchor","setFallbackPopoverAnchor","containerRef","useRef","isOpen","setIsOpen","useEffect","toggle","closeIfFocusOutside","current","ownerDocument","dialog","activeElement","closest","contains","close","args","popoverPropsHaveAnchor","anchor","anchorRef","getAnchorRect","anchorRect","createElement","ref","useMergeRefs","tabIndex","default","onFocusOutside","offset","classnames","Dropdown","contextConnect","exports","_default"],"sources":["@wordpress/components/src/dropdown/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { contextConnect, useContextSystem } from '../ui/context';\nimport Popover from '../popover';\nimport type { DropdownProps, DropdownInternalContext } from './types';\n\nfunction useObservableState(\n\tinitialState: boolean,\n\tonStateChange?: ( newState: boolean ) => void\n) {\n\tconst [ state, setState ] = useState( initialState );\n\treturn [\n\t\tstate,\n\t\t( value: boolean ) => {\n\t\t\tsetState( value );\n\t\t\tif ( onStateChange ) {\n\t\t\t\tonStateChange( value );\n\t\t\t}\n\t\t},\n\t] as const;\n}\n\nconst UnconnectedDropdown = (\n\tprops: DropdownProps,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\trenderContent,\n\t\trenderToggle,\n\t\tclassName,\n\t\tcontentClassName,\n\t\texpandOnMobile,\n\t\theaderTitle,\n\t\tfocusOnMount,\n\t\tpopoverProps,\n\t\tonClose,\n\t\tonToggle,\n\t\tstyle,\n\n\t\t// Deprecated props\n\t\tposition,\n\n\t\t// From context system\n\t\tvariant,\n\t} = useContextSystem< DropdownProps & DropdownInternalContext >(\n\t\tprops,\n\t\t'Dropdown'\n\t);\n\n\tif ( position !== undefined ) {\n\t\tdeprecated( '`position` prop in wp.components.Dropdown', {\n\t\t\tsince: '6.2',\n\t\t\talternative: '`popoverProps.placement` prop',\n\t\t\thint: 'Note that the `position` prop will override any values passed through the `popoverProps.placement` prop.',\n\t\t} );\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ fallbackPopoverAnchor, setFallbackPopoverAnchor ] =\n\t\tuseState< HTMLDivElement | null >( null );\n\tconst containerRef = useRef< HTMLDivElement >();\n\tconst [ isOpen, setIsOpen ] = useObservableState( false, onToggle );\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tif ( onToggle && isOpen ) {\n\t\t\t\tonToggle( false );\n\t\t\t}\n\t\t},\n\t\t[ onToggle, isOpen ]\n\t);\n\n\tfunction toggle() {\n\t\tsetIsOpen( ! isOpen );\n\t}\n\n\t/**\n\t * Closes the popover when focus leaves it unless the toggle was pressed or\n\t * focus has moved to a separate dialog. The former is to let the toggle\n\t * handle closing the popover and the latter is to preserve presence in\n\t * case a dialog has opened, allowing focus to return when it's dismissed.\n\t */\n\tfunction closeIfFocusOutside() {\n\t\tif ( ! containerRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst dialog =\n\t\t\townerDocument?.activeElement?.closest( '[role=\"dialog\"]' );\n\t\tif (\n\t\t\t! containerRef.current.contains( ownerDocument.activeElement ) &&\n\t\t\t( ! dialog || dialog.contains( containerRef.current ) )\n\t\t) {\n\t\t\tclose();\n\t\t}\n\t}\n\n\tfunction close() {\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tsetIsOpen( false );\n\t}\n\n\tconst args = { isOpen, onToggle: toggle, onClose: close };\n\tconst popoverPropsHaveAnchor =\n\t\t!! popoverProps?.anchor ||\n\t\t// Note: `anchorRef`, `getAnchorRect` and `anchorRect` are deprecated and\n\t\t// be removed from `Popover` from WordPress 6.3\n\t\t!! popoverProps?.anchorRef ||\n\t\t!! popoverProps?.getAnchorRect ||\n\t\t!! popoverProps?.anchorRect;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ className }\n\t\t\tref={ useMergeRefs( [\n\t\t\t\tcontainerRef,\n\t\t\t\tforwardedRef,\n\t\t\t\tsetFallbackPopoverAnchor,\n\t\t\t] ) }\n\t\t\t// Some UAs focus the closest focusable parent when the toggle is\n\t\t\t// clicked. Making this div focusable ensures such UAs will focus\n\t\t\t// it and `closeIfFocusOutside` can tell if the toggle was clicked.\n\t\t\ttabIndex={ -1 }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ renderToggle( args ) }\n\t\t\t{ isOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition={ position }\n\t\t\t\t\tonClose={ close }\n\t\t\t\t\tonFocusOutside={ closeIfFocusOutside }\n\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t\t\t// This value is used to ensure that the dropdowns\n\t\t\t\t\t// align with the editor header by default.\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tanchor={\n\t\t\t\t\t\t! popoverPropsHaveAnchor\n\t\t\t\t\t\t\t? fallbackPopoverAnchor\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvariant={ variant }\n\t\t\t\t\t{ ...popoverProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-dropdown__content',\n\t\t\t\t\t\tpopoverProps?.className,\n\t\t\t\t\t\tcontentClassName\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * Renders a button that opens a floating content modal when clicked.\n *\n * ```jsx\n * import { Button, Dropdown } from '@wordpress/components';\n *\n * const MyDropdown = () => (\n * <Dropdown\n * className=\"my-container-class-name\"\n * contentClassName=\"my-dropdown-content-classname\"\n * popoverProps={ { placement: 'bottom-start' } }\n * renderToggle={ ( { isOpen, onToggle } ) => (\n * <Button\n * variant=\"primary\"\n * onClick={ onToggle }\n * aria-expanded={ isOpen }\n * >\n * Toggle Dropdown!\n * </Button>\n * ) }\n * renderContent={ () => <div>This is the content of the dropdown.</div> }\n * />\n * );\n * ```\n */\nexport const Dropdown = contextConnect( UnconnectedDropdown, 'Dropdown' );\n\nexport default Dropdown;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_compose","_deprecated","_context","_hooks","_popover","UnconnectedDropdown","props","forwardedRef","renderContent","renderToggle","className","contentClassName","expandOnMobile","headerTitle","focusOnMount","popoverProps","onClose","onToggle","style","open","defaultOpen","position","variant","useContextSystem","undefined","deprecated","since","alternative","hint","fallbackPopoverAnchor","setFallbackPopoverAnchor","useState","containerRef","useRef","isOpen","setIsOpen","useControlledValue","defaultValue","value","onChange","closeIfFocusOutside","current","ownerDocument","dialog","activeElement","closest","contains","close","args","popoverPropsHaveAnchor","anchor","anchorRef","getAnchorRect","anchorRect","createElement","ref","useMergeRefs","tabIndex","default","onFocusOutside","offset","classnames","Dropdown","contextConnect","exports","_default"],"sources":["@wordpress/components/src/dropdown/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { contextConnect, useContextSystem } from '../ui/context';\nimport { useControlledValue } from '../utils/hooks';\nimport Popover from '../popover';\nimport type { DropdownProps, DropdownInternalContext } from './types';\n\nconst UnconnectedDropdown = (\n\tprops: DropdownProps,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\n\t\trenderContent,\n\t\trenderToggle,\n\t\tclassName,\n\t\tcontentClassName,\n\t\texpandOnMobile,\n\t\theaderTitle,\n\t\tfocusOnMount,\n\t\tpopoverProps,\n\t\tonClose,\n\t\tonToggle,\n\t\tstyle,\n\n\t\topen,\n\t\tdefaultOpen,\n\n\t\t// Deprecated props\n\t\tposition,\n\n\t\t// From context system\n\t\tvariant,\n\t} = useContextSystem< DropdownProps & DropdownInternalContext >(\n\t\tprops,\n\t\t'Dropdown'\n\t);\n\n\tif ( position !== undefined ) {\n\t\tdeprecated( '`position` prop in wp.components.Dropdown', {\n\t\t\tsince: '6.2',\n\t\t\talternative: '`popoverProps.placement` prop',\n\t\t\thint: 'Note that the `position` prop will override any values passed through the `popoverProps.placement` prop.',\n\t\t} );\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ fallbackPopoverAnchor, setFallbackPopoverAnchor ] =\n\t\tuseState< HTMLDivElement | null >( null );\n\tconst containerRef = useRef< HTMLDivElement >();\n\n\tconst [ isOpen, setIsOpen ] = useControlledValue( {\n\t\tdefaultValue: defaultOpen,\n\t\tvalue: open,\n\t\tonChange: onToggle,\n\t} );\n\n\t/**\n\t * Closes the popover when focus leaves it unless the toggle was pressed or\n\t * focus has moved to a separate dialog. The former is to let the toggle\n\t * handle closing the popover and the latter is to preserve presence in\n\t * case a dialog has opened, allowing focus to return when it's dismissed.\n\t */\n\tfunction closeIfFocusOutside() {\n\t\tif ( ! containerRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst dialog =\n\t\t\townerDocument?.activeElement?.closest( '[role=\"dialog\"]' );\n\t\tif (\n\t\t\t! containerRef.current.contains( ownerDocument.activeElement ) &&\n\t\t\t( ! dialog || dialog.contains( containerRef.current ) )\n\t\t) {\n\t\t\tclose();\n\t\t}\n\t}\n\n\tfunction close() {\n\t\tonClose?.();\n\t\tsetIsOpen( false );\n\t}\n\n\tconst args = {\n\t\tisOpen: !! isOpen,\n\t\tonToggle: () => setIsOpen( ! isOpen ),\n\t\tonClose: close,\n\t};\n\tconst popoverPropsHaveAnchor =\n\t\t!! popoverProps?.anchor ||\n\t\t// Note: `anchorRef`, `getAnchorRect` and `anchorRect` are deprecated and\n\t\t// be removed from `Popover` from WordPress 6.3\n\t\t!! popoverProps?.anchorRef ||\n\t\t!! popoverProps?.getAnchorRect ||\n\t\t!! popoverProps?.anchorRect;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ className }\n\t\t\tref={ useMergeRefs( [\n\t\t\t\tcontainerRef,\n\t\t\t\tforwardedRef,\n\t\t\t\tsetFallbackPopoverAnchor,\n\t\t\t] ) }\n\t\t\t// Some UAs focus the closest focusable parent when the toggle is\n\t\t\t// clicked. Making this div focusable ensures such UAs will focus\n\t\t\t// it and `closeIfFocusOutside` can tell if the toggle was clicked.\n\t\t\ttabIndex={ -1 }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ renderToggle( args ) }\n\t\t\t{ isOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition={ position }\n\t\t\t\t\tonClose={ close }\n\t\t\t\t\tonFocusOutside={ closeIfFocusOutside }\n\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t\t\t// This value is used to ensure that the dropdowns\n\t\t\t\t\t// align with the editor header by default.\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tanchor={\n\t\t\t\t\t\t! popoverPropsHaveAnchor\n\t\t\t\t\t\t\t? fallbackPopoverAnchor\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvariant={ variant }\n\t\t\t\t\t{ ...popoverProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-dropdown__content',\n\t\t\t\t\t\tpopoverProps?.className,\n\t\t\t\t\t\tcontentClassName\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * Renders a button that opens a floating content modal when clicked.\n *\n * ```jsx\n * import { Button, Dropdown } from '@wordpress/components';\n *\n * const MyDropdown = () => (\n * <Dropdown\n * className=\"my-container-class-name\"\n * contentClassName=\"my-dropdown-content-classname\"\n * popoverProps={ { placement: 'bottom-start' } }\n * renderToggle={ ( { isOpen, onToggle } ) => (\n * <Button\n * variant=\"primary\"\n * onClick={ onToggle }\n * aria-expanded={ isOpen }\n * >\n * Toggle Dropdown!\n * </Button>\n * ) }\n * renderContent={ () => <div>This is the content of the dropdown.</div> }\n * />\n * );\n * ```\n */\nexport const Dropdown = contextConnect( UnconnectedDropdown, 'Dropdown' );\n\nexport default Dropdown;\n"],"mappings":";;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AANA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AAKA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAL,sBAAA,CAAAF,OAAA;AAlBA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;;AAMA,MAAMQ,mBAAmB,GAAGA,CAC3BC,KAAoB,EACpBC,YAAiC,KAC7B;EACJ,MAAM;IACLC,aAAa;IACbC,YAAY;IACZC,SAAS;IACTC,gBAAgB;IAChBC,cAAc;IACdC,WAAW;IACXC,YAAY;IACZC,YAAY;IACZC,OAAO;IACPC,QAAQ;IACRC,KAAK;IAELC,IAAI;IACJC,WAAW;IAEX;IACAC,QAAQ;IAER;IACAC;EACD,CAAC,GAAG,IAAAC,yBAAgB,EACnBjB,KAAK,EACL,UACD,CAAC;EAED,IAAKe,QAAQ,KAAKG,SAAS,EAAG;IAC7B,IAAAC,mBAAU,EAAE,2CAA2C,EAAE;MACxDC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE,+BAA+B;MAC5CC,IAAI,EAAE;IACP,CAAE,CAAC;EACJ;;EAEA;EACA;EACA,MAAM,CAAEC,qBAAqB,EAAEC,wBAAwB,CAAE,GACxD,IAAAC,iBAAQ,EAA2B,IAAK,CAAC;EAC1C,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAAmB,CAAC;EAE/C,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,yBAAkB,EAAE;IACjDC,YAAY,EAAEjB,WAAW;IACzBkB,KAAK,EAAEnB,IAAI;IACXoB,QAAQ,EAAEtB;EACX,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;AACA;EACC,SAASuB,mBAAmBA,CAAA,EAAG;IAC9B,IAAK,CAAER,YAAY,CAACS,OAAO,EAAG;MAC7B;IACD;IAEA,MAAM;MAAEC;IAAc,CAAC,GAAGV,YAAY,CAACS,OAAO;IAC9C,MAAME,MAAM,GACXD,aAAa,EAAEE,aAAa,EAAEC,OAAO,CAAE,iBAAkB,CAAC;IAC3D,IACC,CAAEb,YAAY,CAACS,OAAO,CAACK,QAAQ,CAAEJ,aAAa,CAACE,aAAc,CAAC,KAC5D,CAAED,MAAM,IAAIA,MAAM,CAACG,QAAQ,CAAEd,YAAY,CAACS,OAAQ,CAAC,CAAE,EACtD;MACDM,KAAK,CAAC,CAAC;IACR;EACD;EAEA,SAASA,KAAKA,CAAA,EAAG;IAChB/B,OAAO,GAAG,CAAC;IACXmB,SAAS,CAAE,KAAM,CAAC;EACnB;EAEA,MAAMa,IAAI,GAAG;IACZd,MAAM,EAAE,CAAC,CAAEA,MAAM;IACjBjB,QAAQ,EAAEA,CAAA,KAAMkB,SAAS,CAAE,CAAED,MAAO,CAAC;IACrClB,OAAO,EAAE+B;EACV,CAAC;EACD,MAAME,sBAAsB,GAC3B,CAAC,CAAElC,YAAY,EAAEmC,MAAM;EACvB;EACA;EACA,CAAC,CAAEnC,YAAY,EAAEoC,SAAS,IAC1B,CAAC,CAAEpC,YAAY,EAAEqC,aAAa,IAC9B,CAAC,CAAErC,YAAY,EAAEsC,UAAU;EAE5B,OACC,IAAAzD,QAAA,CAAA0D,aAAA;IACC5C,SAAS,EAAGA,SAAW;IACvB6C,GAAG,EAAG,IAAAC,qBAAY,EAAE,CACnBxB,YAAY,EACZzB,YAAY,EACZuB,wBAAwB,CACvB;IACF;IACA;IACA;IAAA;IACA2B,QAAQ,EAAG,CAAC,CAAG;IACfvC,KAAK,EAAGA;EAAO,GAEbT,YAAY,CAAEuC,IAAK,CAAC,EACpBd,MAAM,IACP,IAAAtC,QAAA,CAAA0D,aAAA,EAAClD,QAAA,CAAAsD,OAAO;IACPrC,QAAQ,EAAGA,QAAU;IACrBL,OAAO,EAAG+B,KAAO;IACjBY,cAAc,EAAGnB,mBAAqB;IACtC5B,cAAc,EAAGA,cAAgB;IACjCC,WAAW,EAAGA,WAAa;IAC3BC,YAAY,EAAGA;IACf;IACA;IAAA;IACA8C,MAAM,EAAG,EAAI;IACbV,MAAM,EACL,CAAED,sBAAsB,GACrBpB,qBAAqB,GACrBL,SACH;IACDF,OAAO,EAAGA,OAAS;IAAA,GACdP,YAAY;IACjBL,SAAS,EAAG,IAAAmD,mBAAU,EACrB,8BAA8B,EAC9B9C,YAAY,EAAEL,SAAS,EACvBC,gBACD;EAAG,GAEDH,aAAa,CAAEwC,IAAK,CACd,CAEN,CAAC;AAER,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMc,QAAQ,GAAG,IAAAC,uBAAc,EAAE1D,mBAAmB,EAAE,UAAW,CAAC;AAAC2D,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAAA,IAAAG,QAAA,GAE3DH,QAAQ;AAAAE,OAAA,CAAAN,OAAA,GAAAO,QAAA"}