@wordpress/components 19.17.0 → 20.0.1-next.d6164808d3.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 (599) hide show
  1. package/CHANGELOG.md +68 -1
  2. package/build/alignment-matrix-control/index.js +1 -1
  3. package/build/alignment-matrix-control/index.js.map +1 -1
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  5. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  6. package/build/angle-picker-control/index.js +3 -0
  7. package/build/angle-picker-control/index.js.map +1 -1
  8. package/build/angle-picker-control/styles/angle-picker-control-styles.js +14 -4
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  10. package/build/autocomplete/index.js +9 -11
  11. package/build/autocomplete/index.js.map +1 -1
  12. package/build/base-control/styles/base-control-styles.js +8 -8
  13. package/build/base-control/styles/base-control-styles.js.map +1 -1
  14. package/build/base-field/styles.js +5 -5
  15. package/build/base-field/styles.js.map +1 -1
  16. package/build/box-control/styles/box-control-visualizer-styles.js +8 -8
  17. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  18. package/build/color-list-picker/index.js +16 -5
  19. package/build/color-list-picker/index.js.map +1 -1
  20. package/build/color-palette/index.js +22 -12
  21. package/build/color-palette/index.js.map +1 -1
  22. package/build/color-palette/index.native.js +3 -3
  23. package/build/color-palette/index.native.js.map +1 -1
  24. package/build/combobox-control/index.js +7 -4
  25. package/build/combobox-control/index.js.map +1 -1
  26. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  27. package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
  28. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
  29. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
  30. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
  31. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -0
  32. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  33. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
  34. package/build/custom-gradient-picker/index.js +19 -4
  35. package/build/custom-gradient-picker/index.js.map +1 -1
  36. package/build/custom-select-control/index.js +21 -11
  37. package/build/custom-select-control/index.js.map +1 -1
  38. package/build/custom-select-control/styles.js +34 -0
  39. package/build/custom-select-control/styles.js.map +1 -0
  40. package/build/date-time/constants.js +9 -0
  41. package/build/date-time/constants.js.map +1 -0
  42. package/build/date-time/date/index.js +175 -186
  43. package/build/date-time/date/index.js.map +1 -1
  44. package/build/date-time/date/styles.js +59 -40
  45. package/build/date-time/date/styles.js.map +1 -1
  46. package/build/date-time/date-time/index.js +5 -2
  47. package/build/date-time/date-time/index.js.map +1 -1
  48. package/build/date-time/time/index.js +22 -17
  49. package/build/date-time/time/index.js.map +1 -1
  50. package/build/date-time/utils.js +27 -0
  51. package/build/date-time/utils.js.map +1 -0
  52. package/build/dimension-control/index.js +2 -6
  53. package/build/dimension-control/index.js.map +1 -1
  54. package/build/disabled/index.js +28 -11
  55. package/build/disabled/index.js.map +1 -1
  56. package/build/disabled/styles/disabled-styles.js +3 -3
  57. package/build/disabled/styles/disabled-styles.js.map +1 -1
  58. package/build/{swatch → disabled}/types.js +0 -0
  59. package/build/{swatch → disabled}/types.js.map +0 -0
  60. package/build/dropdown/index.js +5 -6
  61. package/build/dropdown/index.js.map +1 -1
  62. package/build/duotone-picker/custom-duotone-bar.js +2 -2
  63. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  64. package/build/duotone-picker/duotone-picker.js +9 -1
  65. package/build/duotone-picker/duotone-picker.js.map +1 -1
  66. package/build/duotone-picker/duotone-swatch.js +13 -3
  67. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  68. package/build/focal-point-picker/index.js +4 -6
  69. package/build/focal-point-picker/index.js.map +1 -1
  70. package/build/focal-point-picker/styles/focal-point-style.js +4 -4
  71. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  72. package/build/font-size-picker/index.js +43 -14
  73. package/build/font-size-picker/index.js.map +1 -1
  74. package/build/font-size-picker/utils.js +32 -22
  75. package/build/font-size-picker/utils.js.map +1 -1
  76. package/build/form-token-field/index.js +11 -5
  77. package/build/form-token-field/index.js.map +1 -1
  78. package/build/gradient-picker/index.js +15 -3
  79. package/build/gradient-picker/index.js.map +1 -1
  80. package/build/guide/index.js +5 -3
  81. package/build/guide/index.js.map +1 -1
  82. package/build/guide/page-control.js +3 -7
  83. package/build/guide/page-control.js.map +1 -1
  84. package/build/item-group/styles.js +10 -10
  85. package/build/item-group/styles.js.map +1 -1
  86. package/build/mobile/bottom-sheet/index.native.js +3 -6
  87. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  88. package/build/mobile/global-styles-context/utils.native.js +3 -1
  89. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  90. package/build/mobile/image/index.native.js +6 -26
  91. package/build/mobile/image/index.native.js.map +1 -1
  92. package/build/mobile/picker/index.android.js +3 -3
  93. package/build/mobile/picker/index.android.js.map +1 -1
  94. package/build/modal/index.js +1 -3
  95. package/build/modal/index.js.map +1 -1
  96. package/build/navigable-container/container.js +9 -8
  97. package/build/navigable-container/container.js.map +1 -1
  98. package/build/navigator/navigator-back-button/hook.js +0 -4
  99. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  100. package/build/navigator/navigator-button/hook.js +0 -4
  101. package/build/navigator/navigator-button/hook.js.map +1 -1
  102. package/build/notice/list.js +10 -6
  103. package/build/notice/list.js.map +1 -1
  104. package/build/palette-edit/index.js +1 -0
  105. package/build/palette-edit/index.js.map +1 -1
  106. package/build/palette-edit/styles.js +10 -10
  107. package/build/palette-edit/styles.js.map +1 -1
  108. package/build/popover/index.js +100 -97
  109. package/build/popover/index.js.map +1 -1
  110. package/build/popover/utils.js +178 -0
  111. package/build/popover/utils.js.map +1 -0
  112. package/build/range-control/index.js +3 -0
  113. package/build/range-control/index.js.map +1 -1
  114. package/build/range-control/styles/range-control-styles.js +43 -37
  115. package/build/range-control/styles/range-control-styles.js.map +1 -1
  116. package/build/select-control/chevron-down.js +30 -0
  117. package/build/select-control/chevron-down.js.map +1 -0
  118. package/build/select-control/index.js +7 -7
  119. package/build/select-control/index.js.map +1 -1
  120. package/build/select-control/styles/select-control-styles.js +30 -15
  121. package/build/select-control/styles/select-control-styles.js.map +1 -1
  122. package/build/snackbar/list.js +5 -3
  123. package/build/snackbar/list.js.map +1 -1
  124. package/build/spinner/index.js +2 -0
  125. package/build/spinner/index.js.map +1 -1
  126. package/build/text/styles.js +7 -7
  127. package/build/text/styles.js.map +1 -1
  128. package/build/toggle-group-control/toggle-group-control/component.js +16 -8
  129. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  130. package/build/toggle-group-control/toggle-group-control/styles.js +7 -5
  131. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  132. package/build/toggle-group-control/toggle-group-control-option/component.js +15 -5
  133. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  134. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
  135. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  136. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +20 -7
  137. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  138. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +26 -7
  139. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  140. package/build/tools-panel/styles.js +11 -11
  141. package/build/tools-panel/styles.js.map +1 -1
  142. package/build/ui/context/context-connect.js +1 -3
  143. package/build/ui/context/context-connect.js.map +1 -1
  144. package/build/unit-control/index.js +2 -3
  145. package/build/unit-control/index.js.map +1 -1
  146. package/build/utils/colors-values.js +52 -142
  147. package/build/utils/colors-values.js.map +1 -1
  148. package/build/utils/config-values.js +1 -1
  149. package/build/utils/config-values.js.map +1 -1
  150. package/build/utils/input/input-control.js +1 -1
  151. package/build/utils/input/input-control.js.map +1 -1
  152. package/build/utils/rtl.js +6 -5
  153. package/build/utils/rtl.js.map +1 -1
  154. package/build/utils/strings.js +50 -0
  155. package/build/utils/strings.js.map +1 -0
  156. package/build-module/alignment-matrix-control/index.js +1 -1
  157. package/build-module/alignment-matrix-control/index.js.map +1 -1
  158. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  159. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  160. package/build-module/angle-picker-control/index.js +3 -0
  161. package/build-module/angle-picker-control/index.js.map +1 -1
  162. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -4
  163. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  164. package/build-module/autocomplete/index.js +9 -10
  165. package/build-module/autocomplete/index.js.map +1 -1
  166. package/build-module/base-control/styles/base-control-styles.js +8 -8
  167. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  168. package/build-module/base-field/styles.js +5 -5
  169. package/build-module/base-field/styles.js.map +1 -1
  170. package/build-module/box-control/styles/box-control-visualizer-styles.js +8 -8
  171. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  172. package/build-module/color-list-picker/index.js +13 -5
  173. package/build-module/color-list-picker/index.js.map +1 -1
  174. package/build-module/color-palette/index.js +22 -11
  175. package/build-module/color-palette/index.js.map +1 -1
  176. package/build-module/color-palette/index.native.js +4 -4
  177. package/build-module/color-palette/index.native.js.map +1 -1
  178. package/build-module/combobox-control/index.js +6 -3
  179. package/build-module/combobox-control/index.js.map +1 -1
  180. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  181. package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
  182. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
  183. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
  184. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
  185. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -0
  186. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  187. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
  188. package/build-module/custom-gradient-picker/index.js +16 -3
  189. package/build-module/custom-gradient-picker/index.js.map +1 -1
  190. package/build-module/custom-select-control/index.js +20 -12
  191. package/build-module/custom-select-control/index.js.map +1 -1
  192. package/build-module/custom-select-control/styles.js +22 -0
  193. package/build-module/custom-select-control/styles.js.map +1 -0
  194. package/build-module/date-time/constants.js +2 -0
  195. package/build-module/date-time/constants.js.map +1 -0
  196. package/build-module/date-time/date/index.js +178 -184
  197. package/build-module/date-time/date/index.js.map +1 -1
  198. package/build-module/date-time/date/styles.js +47 -38
  199. package/build-module/date-time/date/styles.js.map +1 -1
  200. package/build-module/date-time/date-time/index.js +4 -2
  201. package/build-module/date-time/date-time/index.js.map +1 -1
  202. package/build-module/date-time/time/index.js +20 -16
  203. package/build-module/date-time/time/index.js.map +1 -1
  204. package/build-module/date-time/utils.js +19 -0
  205. package/build-module/date-time/utils.js.map +1 -0
  206. package/build-module/dimension-control/index.js +1 -5
  207. package/build-module/dimension-control/index.js.map +1 -1
  208. package/build-module/disabled/index.js +28 -11
  209. package/build-module/disabled/index.js.map +1 -1
  210. package/build-module/disabled/styles/disabled-styles.js +3 -3
  211. package/build-module/disabled/styles/disabled-styles.js.map +1 -1
  212. package/build-module/{swatch → disabled}/types.js +0 -0
  213. package/build-module/{swatch → disabled}/types.js.map +0 -0
  214. package/build-module/dropdown/index.js +5 -6
  215. package/build-module/dropdown/index.js.map +1 -1
  216. package/build-module/duotone-picker/custom-duotone-bar.js +1 -1
  217. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  218. package/build-module/duotone-picker/duotone-picker.js +7 -1
  219. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  220. package/build-module/duotone-picker/duotone-swatch.js +11 -3
  221. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  222. package/build-module/focal-point-picker/index.js +4 -5
  223. package/build-module/focal-point-picker/index.js.map +1 -1
  224. package/build-module/focal-point-picker/styles/focal-point-style.js +4 -4
  225. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  226. package/build-module/font-size-picker/index.js +39 -14
  227. package/build-module/font-size-picker/index.js.map +1 -1
  228. package/build-module/font-size-picker/utils.js +31 -23
  229. package/build-module/font-size-picker/utils.js.map +1 -1
  230. package/build-module/form-token-field/index.js +12 -6
  231. package/build-module/form-token-field/index.js.map +1 -1
  232. package/build-module/gradient-picker/index.js +14 -3
  233. package/build-module/gradient-picker/index.js.map +1 -1
  234. package/build-module/guide/index.js +5 -3
  235. package/build-module/guide/index.js.map +1 -1
  236. package/build-module/guide/page-control.js +3 -6
  237. package/build-module/guide/page-control.js.map +1 -1
  238. package/build-module/item-group/styles.js +10 -10
  239. package/build-module/item-group/styles.js.map +1 -1
  240. package/build-module/mobile/bottom-sheet/index.native.js +3 -5
  241. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  242. package/build-module/mobile/global-styles-context/utils.native.js +2 -1
  243. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  244. package/build-module/mobile/image/index.native.js +8 -28
  245. package/build-module/mobile/image/index.native.js.map +1 -1
  246. package/build-module/mobile/picker/index.android.js +3 -3
  247. package/build-module/mobile/picker/index.android.js.map +1 -1
  248. package/build-module/modal/index.js +1 -2
  249. package/build-module/modal/index.js.map +1 -1
  250. package/build-module/navigable-container/container.js +9 -7
  251. package/build-module/navigable-container/container.js.map +1 -1
  252. package/build-module/navigator/navigator-back-button/hook.js +0 -4
  253. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  254. package/build-module/navigator/navigator-button/hook.js +0 -4
  255. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  256. package/build-module/notice/list.js +10 -5
  257. package/build-module/notice/list.js.map +1 -1
  258. package/build-module/palette-edit/index.js +1 -0
  259. package/build-module/palette-edit/index.js.map +1 -1
  260. package/build-module/palette-edit/styles.js +10 -10
  261. package/build-module/palette-edit/styles.js.map +1 -1
  262. package/build-module/popover/index.js +100 -98
  263. package/build-module/popover/index.js.map +1 -1
  264. package/build-module/popover/utils.js +164 -0
  265. package/build-module/popover/utils.js.map +1 -0
  266. package/build-module/range-control/index.js +3 -0
  267. package/build-module/range-control/index.js.map +1 -1
  268. package/build-module/range-control/styles/range-control-styles.js +43 -37
  269. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  270. package/build-module/select-control/chevron-down.js +21 -0
  271. package/build-module/select-control/chevron-down.js.map +1 -0
  272. package/build-module/select-control/index.js +7 -7
  273. package/build-module/select-control/index.js.map +1 -1
  274. package/build-module/select-control/styles/select-control-styles.js +24 -13
  275. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  276. package/build-module/snackbar/list.js +5 -2
  277. package/build-module/snackbar/list.js.map +1 -1
  278. package/build-module/spinner/index.js +2 -0
  279. package/build-module/spinner/index.js.map +1 -1
  280. package/build-module/text/styles.js +7 -7
  281. package/build-module/text/styles.js.map +1 -1
  282. package/build-module/toggle-group-control/toggle-group-control/component.js +14 -7
  283. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  284. package/build-module/toggle-group-control/toggle-group-control/styles.js +5 -4
  285. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  286. package/build-module/toggle-group-control/toggle-group-control-option/component.js +17 -3
  287. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  288. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
  289. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  290. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +16 -6
  291. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  292. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +27 -5
  293. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  294. package/build-module/tools-panel/styles.js +11 -11
  295. package/build-module/tools-panel/styles.js.map +1 -1
  296. package/build-module/ui/context/context-connect.js +1 -2
  297. package/build-module/ui/context/context-connect.js.map +1 -1
  298. package/build-module/unit-control/index.js +2 -2
  299. package/build-module/unit-control/index.js.map +1 -1
  300. package/build-module/utils/colors-values.js +52 -141
  301. package/build-module/utils/colors-values.js.map +1 -1
  302. package/build-module/utils/config-values.js +1 -1
  303. package/build-module/utils/config-values.js.map +1 -1
  304. package/build-module/utils/input/input-control.js +1 -1
  305. package/build-module/utils/input/input-control.js.map +1 -1
  306. package/build-module/utils/rtl.js +6 -4
  307. package/build-module/utils/rtl.js.map +1 -1
  308. package/build-module/utils/strings.js +37 -0
  309. package/build-module/utils/strings.js.map +1 -0
  310. package/build-style/style-rtl.css +176 -1227
  311. package/build-style/style.css +171 -1225
  312. package/build-types/color-palette/index.d.ts +2 -1
  313. package/build-types/color-palette/index.d.ts.map +1 -1
  314. package/build-types/color-picker/styles.d.ts +2 -2
  315. package/build-types/date-time/constants.d.ts +2 -0
  316. package/build-types/date-time/constants.d.ts.map +1 -0
  317. package/build-types/date-time/date/index.d.ts +3 -1
  318. package/build-types/date-time/date/index.d.ts.map +1 -1
  319. package/build-types/date-time/date/styles.d.ts +22 -8
  320. package/build-types/date-time/date/styles.d.ts.map +1 -1
  321. package/build-types/date-time/date/test/index.d.ts +1 -1
  322. package/build-types/date-time/date/test/index.d.ts.map +1 -1
  323. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  324. package/build-types/date-time/time/index.d.ts.map +1 -1
  325. package/build-types/date-time/utils.d.ts +8 -0
  326. package/build-types/date-time/utils.d.ts.map +1 -0
  327. package/build-types/disabled/index.d.ts +35 -28
  328. package/build-types/disabled/index.d.ts.map +1 -1
  329. package/build-types/disabled/stories/index.d.ts +13 -0
  330. package/build-types/disabled/stories/index.d.ts.map +1 -0
  331. package/build-types/disabled/styles/disabled-styles.d.ts +2 -1
  332. package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
  333. package/build-types/disabled/test/index.d.ts +2 -0
  334. package/build-types/{flyout/flyout → disabled/test}/index.d.ts.map +1 -1
  335. package/build-types/disabled/types.d.ts +14 -0
  336. package/build-types/disabled/types.d.ts.map +1 -0
  337. package/build-types/dropdown/index.d.ts.map +1 -1
  338. package/build-types/form-token-field/index.d.ts.map +1 -1
  339. package/build-types/form-token-field/stories/index.d.ts +1 -0
  340. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  341. package/build-types/form-token-field/types.d.ts +7 -0
  342. package/build-types/form-token-field/types.d.ts.map +1 -1
  343. package/build-types/navigator/navigator-back-button/hook.d.ts +0 -3
  344. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  345. package/build-types/navigator/navigator-button/hook.d.ts +0 -3
  346. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  347. package/build-types/placeholder/test/index.d.ts +2 -0
  348. package/build-types/{flyout → placeholder/test}/index.d.ts.map +1 -1
  349. package/build-types/popover/index.d.ts +1 -1
  350. package/build-types/popover/index.d.ts.map +1 -1
  351. package/build-types/popover/utils.d.ts +26 -69
  352. package/build-types/popover/utils.d.ts.map +1 -1
  353. package/build-types/range-control/index.d.ts +2 -2
  354. package/build-types/range-control/index.d.ts.map +1 -1
  355. package/build-types/range-control/styles/range-control-styles.d.ts +5 -2
  356. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  357. package/build-types/range-control/types.d.ts +2 -2
  358. package/build-types/range-control/types.d.ts.map +1 -1
  359. package/build-types/select-control/chevron-down.d.ts +4 -0
  360. package/build-types/select-control/chevron-down.d.ts.map +1 -0
  361. package/build-types/select-control/index.d.ts.map +1 -1
  362. package/build-types/select-control/styles/select-control-styles.d.ts +8 -0
  363. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  364. package/build-types/spinner/index.d.ts.map +1 -1
  365. package/build-types/toggle-group-control/stories/index.d.ts +25 -0
  366. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -0
  367. package/build-types/toggle-group-control/test/index.d.ts +2 -0
  368. package/build-types/toggle-group-control/test/index.d.ts.map +1 -0
  369. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -3
  370. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  371. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -0
  372. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  373. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -7
  374. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  375. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  376. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -0
  377. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  378. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +11 -9
  379. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  380. package/build-types/toggle-group-control/types.d.ts +23 -10
  381. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  382. package/build-types/ui/context/context-connect.d.ts +3 -0
  383. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  384. package/build-types/ui/form-group/use-form-group.d.ts +2 -2
  385. package/build-types/unit-control/index.d.ts +2 -1
  386. package/build-types/unit-control/index.d.ts.map +1 -1
  387. package/build-types/unit-control/types.d.ts +5 -1
  388. package/build-types/unit-control/types.d.ts.map +1 -1
  389. package/build-types/utils/colors-values.d.ts +18 -97
  390. package/build-types/utils/colors-values.d.ts.map +1 -1
  391. package/build-types/utils/rtl.d.ts.map +1 -1
  392. package/build-types/utils/strings.d.ts +2 -0
  393. package/build-types/utils/strings.d.ts.map +1 -0
  394. package/package.json +22 -21
  395. package/src/alignment-matrix-control/index.js +1 -1
  396. package/src/alignment-matrix-control/stories/index.js +49 -24
  397. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -3
  398. package/src/angle-picker-control/index.js +7 -1
  399. package/src/angle-picker-control/stories/index.js +8 -5
  400. package/src/angle-picker-control/styles/angle-picker-control-styles.js +12 -3
  401. package/src/autocomplete/index.js +9 -18
  402. package/src/base-control/styles/base-control-styles.ts +1 -1
  403. package/src/base-field/styles.js +1 -1
  404. package/src/base-field/test/__snapshots__/index.js.snap +2 -2
  405. package/src/box-control/styles/box-control-visualizer-styles.js +0 -1
  406. package/src/box-control/test/index.js +8 -8
  407. package/src/button/test/index.js +188 -146
  408. package/src/color-list-picker/index.js +15 -3
  409. package/src/color-list-picker/style.scss +11 -0
  410. package/src/color-palette/index.js +32 -16
  411. package/src/color-palette/index.native.js +10 -6
  412. package/src/color-palette/stories/index.js +1 -1
  413. package/src/color-palette/test/__snapshots__/index.js.snap +17 -3
  414. package/src/combobox-control/index.js +6 -5
  415. package/src/combobox-control/stories/index.js +9 -3
  416. package/src/combobox-control/style.scss +0 -1
  417. package/src/confirm-dialog/test/index.js +85 -62
  418. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  419. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +54 -50
  420. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -3
  421. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/test/utils.js +0 -0
  422. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  423. package/src/custom-gradient-picker/index.js +18 -3
  424. package/src/custom-gradient-picker/stories/index.js +4 -3
  425. package/src/custom-gradient-picker/style.scss +30 -27
  426. package/src/custom-select-control/README.md +10 -0
  427. package/src/custom-select-control/index.js +22 -16
  428. package/src/custom-select-control/stories/index.js +1 -1
  429. package/src/custom-select-control/style.scss +0 -12
  430. package/src/custom-select-control/styles.ts +28 -0
  431. package/src/custom-select-control/test/index.js +4 -1
  432. package/src/date-time/constants.ts +1 -0
  433. package/src/date-time/date/index.tsx +289 -184
  434. package/src/date-time/date/styles.ts +86 -27
  435. package/src/date-time/date/test/index.tsx +18 -28
  436. package/src/date-time/date-time/index.tsx +3 -2
  437. package/src/date-time/time/index.tsx +23 -19
  438. package/src/date-time/utils.ts +17 -0
  439. package/src/dimension-control/index.js +1 -5
  440. package/src/disabled/index.tsx +80 -0
  441. package/src/disabled/stories/index.tsx +87 -0
  442. package/src/disabled/styles/{disabled-styles.js → disabled-styles.tsx} +0 -0
  443. package/src/disabled/test/index.tsx +174 -0
  444. package/src/disabled/types.ts +13 -0
  445. package/src/dropdown/index.js +3 -5
  446. package/src/dropdown-menu/stories/index.js +13 -2
  447. package/src/duotone-picker/custom-duotone-bar.js +1 -1
  448. package/src/duotone-picker/duotone-picker.js +34 -26
  449. package/src/duotone-picker/duotone-swatch.js +12 -5
  450. package/src/duotone-picker/stories/duotone-picker.js +66 -0
  451. package/src/duotone-picker/stories/duotone-swatch.js +32 -0
  452. package/src/focal-point-picker/index.js +10 -5
  453. package/src/focal-point-picker/styles/focal-point-style.js +0 -1
  454. package/src/focal-point-picker/test/index.js +78 -45
  455. package/src/font-size-picker/index.js +161 -144
  456. package/src/font-size-picker/stories/index.js +1 -0
  457. package/src/font-size-picker/style.scss +8 -5
  458. package/src/font-size-picker/test/index.js +13 -6
  459. package/src/font-size-picker/test/{util.js → utils.js} +77 -1
  460. package/src/font-size-picker/utils.js +38 -23
  461. package/src/form-token-field/README.md +1 -0
  462. package/src/form-token-field/index.tsx +24 -10
  463. package/src/form-token-field/stories/index.tsx +8 -0
  464. package/src/form-token-field/test/index.js +31 -0
  465. package/src/form-token-field/types.ts +7 -0
  466. package/src/gradient-picker/index.js +22 -7
  467. package/src/gradient-picker/stories/index.js +56 -81
  468. package/src/guide/index.js +3 -1
  469. package/src/guide/page-control.js +1 -6
  470. package/src/guide/stories/index.js +12 -11
  471. package/src/guide/test/index.js +54 -37
  472. package/src/guide/test/page-control.js +14 -17
  473. package/src/higher-order/with-notices/test/index.js +4 -2
  474. package/src/higher-order/with-spoken-messages/test/index.js +1 -1
  475. package/src/item-group/styles.ts +3 -3
  476. package/src/menu-group/test/index.js +18 -7
  477. package/src/mobile/bottom-sheet/index.native.js +2 -4
  478. package/src/mobile/global-styles-context/utils.native.js +2 -1
  479. package/src/mobile/image/index.native.js +9 -30
  480. package/src/mobile/picker/index.android.js +10 -4
  481. package/src/mobile/picker/styles.native.scss +4 -4
  482. package/src/modal/index.js +1 -2
  483. package/src/modal/test/index.js +11 -9
  484. package/src/navigable-container/container.js +12 -18
  485. package/src/navigable-container/test/menu.js +14 -11
  486. package/src/navigator/navigator-back-button/hook.ts +0 -3
  487. package/src/navigator/navigator-button/hook.ts +0 -3
  488. package/src/notice/list.js +12 -10
  489. package/src/palette-edit/index.js +1 -0
  490. package/src/palette-edit/styles.js +6 -5
  491. package/src/placeholder/README.md +1 -1
  492. package/src/placeholder/style.scss +65 -20
  493. package/src/placeholder/test/index.tsx +174 -0
  494. package/src/popover/index.js +133 -112
  495. package/src/popover/stories/index.js +17 -3
  496. package/src/popover/test/__snapshots__/index.js.snap +6 -6
  497. package/src/popover/test/index.js +129 -36
  498. package/src/popover/utils.js +107 -0
  499. package/src/range-control/index.tsx +3 -0
  500. package/src/range-control/styles/range-control-styles.ts +9 -4
  501. package/src/range-control/types.ts +5 -2
  502. package/src/select-control/chevron-down.tsx +25 -0
  503. package/src/select-control/index.tsx +6 -9
  504. package/src/select-control/styles/select-control-styles.ts +23 -14
  505. package/src/slot-fill/test/slot.js +5 -5
  506. package/src/snackbar/list.js +3 -2
  507. package/src/spinner/index.tsx +2 -0
  508. package/src/style.scss +0 -2
  509. package/src/text/styles.js +1 -1
  510. package/src/text/test/index.tsx +1 -1
  511. package/src/toggle-group-control/stories/index.tsx +127 -0
  512. package/src/toggle-group-control/test/__snapshots__/{index.js.snap → index.tsx.snap} +28 -22
  513. package/src/toggle-group-control/test/{index.js → index.tsx} +2 -4
  514. package/src/toggle-group-control/toggle-group-control/README.md +2 -0
  515. package/src/toggle-group-control/toggle-group-control/component.tsx +18 -9
  516. package/src/toggle-group-control/toggle-group-control/styles.ts +9 -6
  517. package/src/toggle-group-control/toggle-group-control-option/component.tsx +19 -3
  518. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -0
  519. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +18 -0
  520. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +6 -8
  521. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +30 -7
  522. package/src/toggle-group-control/types.ts +74 -59
  523. package/src/toolbar/test/index.js +4 -4
  524. package/src/toolbar-group/test/index.js +9 -15
  525. package/src/tools-panel/styles.ts +2 -2
  526. package/src/tools-panel/test/index.js +3 -2
  527. package/src/tooltip/test/index.js +188 -172
  528. package/src/ui/context/context-connect.ts +3 -2
  529. package/src/unit-control/index.tsx +2 -2
  530. package/src/unit-control/types.ts +10 -1
  531. package/src/utils/colors-values.js +42 -137
  532. package/src/utils/config-values.js +1 -1
  533. package/src/utils/input/input-control.js +6 -6
  534. package/src/utils/rtl.js +6 -2
  535. package/src/utils/strings.ts +72 -0
  536. package/src/utils/test/strings.js +15 -0
  537. package/tsconfig.json +0 -1
  538. package/tsconfig.tsbuildinfo +1 -1
  539. package/build/custom-gradient-bar/constants.js.map +0 -1
  540. package/build/custom-gradient-bar/control-points.js.map +0 -1
  541. package/build/custom-gradient-bar/index.js.map +0 -1
  542. package/build/custom-gradient-bar/utils.js.map +0 -1
  543. package/build/date-time/date/utils.js +0 -34
  544. package/build/date-time/date/utils.js.map +0 -1
  545. package/build/swatch/index.js +0 -41
  546. package/build/swatch/index.js.map +0 -1
  547. package/build-module/custom-gradient-bar/constants.js.map +0 -1
  548. package/build-module/custom-gradient-bar/control-points.js.map +0 -1
  549. package/build-module/custom-gradient-bar/index.js.map +0 -1
  550. package/build-module/custom-gradient-bar/utils.js.map +0 -1
  551. package/build-module/date-time/date/utils.js +0 -22
  552. package/build-module/date-time/date/utils.js.map +0 -1
  553. package/build-module/swatch/index.js +0 -30
  554. package/build-module/swatch/index.js.map +0 -1
  555. package/build-types/color-picker/color-display.d.ts +0 -13
  556. package/build-types/color-picker/color-display.d.ts.map +0 -1
  557. package/build-types/date-time/date/test/utils.d.ts +0 -2
  558. package/build-types/date-time/date/test/utils.d.ts.map +0 -1
  559. package/build-types/date-time/date/utils.d.ts +0 -15
  560. package/build-types/date-time/date/utils.d.ts.map +0 -1
  561. package/build-types/flyout/context.d.ts +0 -6
  562. package/build-types/flyout/context.d.ts.map +0 -1
  563. package/build-types/flyout/flyout/component.d.ts +0 -21
  564. package/build-types/flyout/flyout/component.d.ts.map +0 -1
  565. package/build-types/flyout/flyout/hook.d.ts +0 -270
  566. package/build-types/flyout/flyout/hook.d.ts.map +0 -1
  567. package/build-types/flyout/flyout/index.d.ts +0 -3
  568. package/build-types/flyout/flyout-content/component.d.ts +0 -3
  569. package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
  570. package/build-types/flyout/flyout-content/index.d.ts +0 -2
  571. package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
  572. package/build-types/flyout/index.d.ts +0 -2
  573. package/build-types/flyout/styles.d.ts +0 -22
  574. package/build-types/flyout/styles.d.ts.map +0 -1
  575. package/build-types/flyout/types.d.ts +0 -80
  576. package/build-types/flyout/types.d.ts.map +0 -1
  577. package/build-types/flyout/utils.d.ts +0 -8
  578. package/build-types/flyout/utils.d.ts.map +0 -1
  579. package/build-types/swatch/index.d.ts +0 -5
  580. package/build-types/swatch/index.d.ts.map +0 -1
  581. package/build-types/swatch/types.d.ts +0 -11
  582. package/build-types/swatch/types.d.ts.map +0 -1
  583. package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
  584. package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
  585. package/src/date-time/date/datepicker.scss +0 -863
  586. package/src/date-time/date/style.scss +0 -85
  587. package/src/date-time/date/test/utils.ts +0 -32
  588. package/src/date-time/date/utils.ts +0 -20
  589. package/src/date-time/style.scss +0 -1
  590. package/src/disabled/index.js +0 -55
  591. package/src/disabled/stories/index.js +0 -61
  592. package/src/disabled/test/index.js +0 -240
  593. package/src/menu-group/test/__snapshots__/index.js.snap +0 -23
  594. package/src/placeholder/test/index.js +0 -163
  595. package/src/swatch/index.tsx +0 -22
  596. package/src/swatch/style.scss +0 -21
  597. package/src/swatch/types.ts +0 -11
  598. package/src/toggle-group-control/stories/index.js +0 -203
  599. package/src/tools-panel/test/__snapshots__/index.js.snap +0 -210
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/palette-edit/styles.js"],"names":["IndicatorStyled","CircularOptionPicker","Option","NameInputControl","InputControl","InputControlContainer","COLORS","gray","CONFIG","controlBorderRadius","Input","InputBackdropUI","PaletteItem","View","borderWidth","surfaceBorderColor","blue","wordpress","NameContainer","PaletteHeading","Heading","PaletteActionsContainer","PaletteHStackHeader","HStack","PaletteEditStyles","DoneButton","Button","ui","theme","RemoveButton"],"mappings":";;;;;;;;;;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;;AAEO,MAAMA,eAAe,GAAG,iCAAQC,8BAAqBC,MAA7B;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,WACjB,kBAAO,CAAP,CADiB,cAEhB,kBAAO,CAAP,CAFgB,qvIAArB;;AAMA,MAAMC,gBAAgB,GAAG,iCAAQC,qBAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,CACzBC,6BADyB,kBAEZC,cAAOC,IAAP,CAAa,GAAb,CAFY,qBAGTC,cAAOC,mBAHE,QAIxBC,yBAJwB,EAIdA,yBAJc,EAIJA,yBAJI,EAIMA,yBAJN,cAKf,kBAAO,CAAP,CALe,QAOxBC,8BAPwB,EAOJA,8BAPI,EAOgBA,8BAPhB,2wIAAtB;;AAcA,MAAMC,WAAW,GAAG,iCAAQC,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,uBACD,kBAAO,CAAP,CADC,2BAECL,cAAOM,WAFR,0BAGFN,cAAOO,kBAHL,8EAMKP,cAAOC,mBANZ,+BAOMD,cAAOC,mBAPb,iDAUQD,cAAOC,mBAVf,kCAWSD,cAAOC,mBAXhB,2BAYED,cAAOO,kBAZT,iFAkBLT,cAAOU,IAAP,CAAYC,SAAZ,CAAuB,GAAvB,CAlBK,kuIAAjB;;AAsBA,MAAMC,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,mBACT,kBAAO,CAAP,CADS,mBAET,kBAAO,CAAP,CAFS,oBAGR,kBAAO,CAAP,CAHQ,0CAMtBN,WANsB,kDAOeN,cAAOU,IAAP,CAAYC,SAAZ,CAAuB,GAAvB,CAPf,ouIAAnB;;AAWA,MAAME,cAAc,GAAG,iCAAQC,gBAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,0CAEV,kBAAO,CAAP,CAFU,qxIAApB;;AAUA,MAAMC,uBAAuB,GAAG,iCAAQR,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,YACxB,kBAAO,CAAP,CADwB,8uIAA7B;;AAKA,MAAMS,mBAAmB,GAAG,iCAAQC,cAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,mBACb,kBAAO,CAAP,CADa,iuIAAzB;;AAIA,MAAMC,iBAAiB,GAAG,iCAAQX,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAvB;;AAQA,MAAMY,UAAU,GAAG,iCAAQC,eAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,cAEXpB,cAAOqB,EAAP,CAAUC,KAFC,kuIAAhB;;AAMA,MAAMC,YAAY,GAAG,iCAAQH,eAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,mBAER,kBAAO,CAAP,CAFQ,kuIAAlB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { Heading } from '../heading';\nimport { HStack } from '../h-stack';\nimport { space } from '../ui/utils/space';\nimport { COLORS, CONFIG } from '../utils';\nimport { View } from '../view';\nimport InputControl from '../input-control';\nimport {\n\tContainer as InputControlContainer,\n\tInput,\n\tBackdropUI as InputBackdropUI,\n} from '../input-control/styles/input-control-styles';\nimport CircularOptionPicker from '../circular-option-picker';\n\nexport const IndicatorStyled = styled( CircularOptionPicker.Option )`\n\twidth: ${ space( 6 ) };\n\theight: ${ space( 6 ) };\n\tpointer-events: none;\n`;\n\nexport const NameInputControl = styled( InputControl )`\n\t${ InputControlContainer } {\n\t\tbackground: ${ COLORS.gray[ 100 ] };\n\t\tborder-radius: ${ CONFIG.controlBorderRadius }};\n\t\t${ Input }${ Input }${ Input }${ Input } {\n\t\t\theight: ${ space( 8 ) };\n\t\t}\n\t\t${ InputBackdropUI }${ InputBackdropUI }${ InputBackdropUI } {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n`;\n\nexport const PaletteItem = styled( View )`\n\tpadding: 3px 0 3px ${ space( 3 ) };\n\theight: calc( 40px - ${ CONFIG.borderWidth } );\n\tborder: 1px solid ${ CONFIG.surfaceBorderColor };\n\tborder-bottom-color: transparent;\n\t&:first-of-type {\n\t\tborder-top-left-radius: ${ CONFIG.controlBorderRadius };\n\t\tborder-top-right-radius: ${ CONFIG.controlBorderRadius };\n\t}\n\t&:last-of-type {\n\t\tborder-bottom-left-radius: ${ CONFIG.controlBorderRadius };\n\t\tborder-bottom-right-radius: ${ CONFIG.controlBorderRadius };\n\t\tborder-bottom-color: ${ CONFIG.surfaceBorderColor };\n\t}\n\t&.is-selected + & {\n\t\tborder-top-color: transparent;\n\t}\n\t&.is-selected {\n\t\tborder-color: ${ COLORS.blue.wordpress[ 700 ] };\n\t}\n`;\n\nexport const NameContainer = styled.div`\n\tline-height: ${ space( 8 ) };\n\tmargin-left: ${ space( 2 ) };\n\tmargin-right: ${ space( 2 ) };\n\twhite-space: nowrap;\n\toverflow: hidden;\n\t${ PaletteItem }:hover & {\n\t\tcolor: var( --wp-admin-theme-color, ${ COLORS.blue.wordpress[ 700 ] } );\n\t}\n`;\n\nexport const PaletteHeading = styled( Heading )`\n\ttext-transform: uppercase;\n\tline-height: ${ space( 6 ) };\n\tfont-weight: 500;\n\t&&& {\n\t\tfont-size: 11px;\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nexport const PaletteActionsContainer = styled( View )`\n\theight: ${ space( 6 ) };\n\tdisplay: flex;\n`;\n\nexport const PaletteHStackHeader = styled( HStack )`\n\tmargin-bottom: ${ space( 2 ) };\n`;\n\nexport const PaletteEditStyles = styled( View )`\n\t&&& {\n\t\t.components-button.has-icon {\n\t\tmin-width: 0;\n\t\tpadding: 0;\n\t}\n`;\n\nexport const DoneButton = styled( Button )`\n\t&& {\n\t\tcolor: ${ COLORS.ui.theme };\n\t}\n`;\n\nexport const RemoveButton = styled( Button )`\n\t&& {\n\t\tmargin-top: ${ space( 1 ) };\n\t}\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/palette-edit/styles.js"],"names":["IndicatorStyled","CircularOptionPicker","Option","NameInputControl","InputControl","InputControlContainer","COLORS","gray","CONFIG","controlBorderRadius","Input","InputBackdropUI","PaletteItem","View","borderWidth","surfaceBorderColor","ui","theme","NameContainer","PaletteHeading","Heading","PaletteActionsContainer","PaletteHStackHeader","HStack","PaletteEditStyles","DoneButton","Button","RemoveButton"],"mappings":";;;;;;;;;;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;;;AAEO,MAAMA,eAAe,GAAG,iCAAQC,8BAAqBC,MAA7B;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,WACjB,kBAAO,CAAP,CADiB,cAEhB,kBAAO,CAAP,CAFgB,yrIAArB;;AAMA,MAAMC,gBAAgB,GAAG,iCAAQC,qBAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,CACzBC,6BADyB,kBAEZC,cAAOC,IAAP,CAAa,GAAb,CAFY,qBAGTC,cAAOC,mBAHE,OAIxBC,yBAJwB,EAIdA,yBAJc,EAIJA,yBAJI,EAIMA,yBAJN,cAKf,kBAAO,CAAP,CALe,QAOxBC,8BAPwB,EAOJA,8BAPI,EAOgBA,8BAPhB,gtIAAtB;;AAcA,MAAMC,WAAW,GAAG,iCAAQC,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,uBACD,kBAAO,CAAP,CADC,2BAECL,cAAOM,WAFR,0BAGFN,cAAOO,kBAHL,8EAMKP,cAAOC,mBANZ,+BAOMD,cAAOC,mBAPb,iDAUQD,cAAOC,mBAVf,kCAWSD,cAAOC,mBAXhB,2BAYED,cAAOO,kBAZT,iFAkBLT,cAAOU,EAAP,CAAUC,KAlBL,sqIAAjB;;AAsBA,MAAMC,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,mBACT,kBAAO,CAAP,CADS,mBAET,kBAAO,CAAP,CAFS,oBAGR,kBAAO,CAAP,CAHQ,0CAMtBN,WANsB,qBAOdN,cAAOU,EAAP,CAAUC,KAPI,sqIAAnB;;AAWA,MAAME,cAAc,GAAG,iCAAQC,gBAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,0CAEV,kBAAO,CAAP,CAFU,ytIAApB;;AAUA,MAAMC,uBAAuB,GAAG,iCAAQR,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,YACxB,kBAAO,CAAP,CADwB,krIAA7B;;AAKA,MAAMS,mBAAmB,GAAG,iCAAQC,cAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,mBACb,kBAAO,CAAP,CADa,qqIAAzB;;AAIA,MAAMC,iBAAiB,GAAG,iCAAQX,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAvB;;AASA,MAAMY,UAAU,GAAG,iCAAQC,eAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,cAEXpB,cAAOU,EAAP,CAAUC,KAFC,sqIAAhB;;AAMA,MAAMU,YAAY,GAAG,iCAAQD,eAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,mBAER,kBAAO,CAAP,CAFQ,sqIAAlB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { Heading } from '../heading';\nimport { HStack } from '../h-stack';\nimport { space } from '../ui/utils/space';\nimport { COLORS, CONFIG } from '../utils';\nimport { View } from '../view';\nimport InputControl from '../input-control';\nimport {\n\tContainer as InputControlContainer,\n\tInput,\n\tBackdropUI as InputBackdropUI,\n} from '../input-control/styles/input-control-styles';\nimport CircularOptionPicker from '../circular-option-picker';\n\nexport const IndicatorStyled = styled( CircularOptionPicker.Option )`\n\twidth: ${ space( 6 ) };\n\theight: ${ space( 6 ) };\n\tpointer-events: none;\n`;\n\nexport const NameInputControl = styled( InputControl )`\n\t${ InputControlContainer } {\n\t\tbackground: ${ COLORS.gray[ 100 ] };\n\t\tborder-radius: ${ CONFIG.controlBorderRadius };\n\t\t${ Input }${ Input }${ Input }${ Input } {\n\t\t\theight: ${ space( 8 ) };\n\t\t}\n\t\t${ InputBackdropUI }${ InputBackdropUI }${ InputBackdropUI } {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n`;\n\nexport const PaletteItem = styled( View )`\n\tpadding: 3px 0 3px ${ space( 3 ) };\n\theight: calc( 40px - ${ CONFIG.borderWidth } );\n\tborder: 1px solid ${ CONFIG.surfaceBorderColor };\n\tborder-bottom-color: transparent;\n\t&:first-of-type {\n\t\tborder-top-left-radius: ${ CONFIG.controlBorderRadius };\n\t\tborder-top-right-radius: ${ CONFIG.controlBorderRadius };\n\t}\n\t&:last-of-type {\n\t\tborder-bottom-left-radius: ${ CONFIG.controlBorderRadius };\n\t\tborder-bottom-right-radius: ${ CONFIG.controlBorderRadius };\n\t\tborder-bottom-color: ${ CONFIG.surfaceBorderColor };\n\t}\n\t&.is-selected + & {\n\t\tborder-top-color: transparent;\n\t}\n\t&.is-selected {\n\t\tborder-color: ${ COLORS.ui.theme };\n\t}\n`;\n\nexport const NameContainer = styled.div`\n\tline-height: ${ space( 8 ) };\n\tmargin-left: ${ space( 2 ) };\n\tmargin-right: ${ space( 2 ) };\n\twhite-space: nowrap;\n\toverflow: hidden;\n\t${ PaletteItem }:hover & {\n\t\tcolor: ${ COLORS.ui.theme };\n\t}\n`;\n\nexport const PaletteHeading = styled( Heading )`\n\ttext-transform: uppercase;\n\tline-height: ${ space( 6 ) };\n\tfont-weight: 500;\n\t&&& {\n\t\tfont-size: 11px;\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nexport const PaletteActionsContainer = styled( View )`\n\theight: ${ space( 6 ) };\n\tdisplay: flex;\n`;\n\nexport const PaletteHStackHeader = styled( HStack )`\n\tmargin-bottom: ${ space( 2 ) };\n`;\n\nexport const PaletteEditStyles = styled( View )`\n\t&&& {\n\t\t.components-button.has-icon {\n\t\t\tmin-width: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n`;\n\nexport const DoneButton = styled( Button )`\n\t&& {\n\t\tcolor: ${ COLORS.ui.theme };\n\t}\n`;\n\nexport const RemoveButton = styled( Button )`\n\t&& {\n\t\tmargin-top: ${ space( 1 ) };\n\t}\n`;\n"]}
@@ -15,6 +15,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
 
16
16
  var _reactDom = require("@floating-ui/react-dom");
17
17
 
18
+ var _framerMotion = require("framer-motion");
19
+
18
20
  var _compose = require("@wordpress/compose");
19
21
 
20
22
  var _icons = require("@wordpress/icons");
@@ -29,13 +31,14 @@ var _scrollLock = _interopRequireDefault(require("../scroll-lock"));
29
31
 
30
32
  var _slotFill = require("../slot-fill");
31
33
 
32
- var _animate = require("../animate");
34
+ var _utils = require("./utils");
33
35
 
34
36
  // @ts-nocheck
35
37
 
36
38
  /**
37
39
  * External dependencies
38
40
  */
41
+ // eslint-disable-next-line no-restricted-imports
39
42
 
40
43
  /**
41
44
  * WordPress dependencies
@@ -69,56 +72,38 @@ const ArrowTriangle = props => (0, _element.createElement)(_primitives.SVG, (0,
69
72
  vectorEffect: "non-scaling-stroke"
70
73
  }));
71
74
 
72
- const slotNameContext = (0, _element.createContext)();
73
-
74
- const positionToPlacement = position => {
75
- const [x, y, z] = position.split(' ');
76
-
77
- if (['top', 'bottom'].includes(x)) {
78
- let suffix = '';
79
-
80
- if (!!z && z === 'left' || y === 'right') {
81
- suffix = '-start';
82
- } else if (!!z && z === 'right' || y === 'left') {
83
- suffix = '-end';
84
- }
85
-
86
- return x + suffix;
87
- }
88
-
89
- return y;
90
- };
91
-
92
- const placementToAnimationOrigin = placement => {
93
- const [a, b] = placement.split('-');
94
- let x, y;
95
-
96
- if (a === 'top' || a === 'bottom') {
97
- x = a === 'top' ? 'bottom' : 'top';
98
- y = 'middle';
99
-
100
- if (b === 'start') {
101
- y = 'left';
102
- } else if (b === 'end') {
103
- y = 'right';
104
- }
105
- }
106
-
107
- if (a === 'left' || a === 'right') {
108
- x = 'center';
109
- y = a === 'left' ? 'right' : 'left';
110
-
111
- if (b === 'start') {
112
- x = 'top';
113
- } else if (b === 'end') {
114
- x = 'bottom';
115
- }
75
+ const MaybeAnimatedWrapper = (0, _element.forwardRef)((_ref, forwardedRef) => {
76
+ let {
77
+ style: receivedInlineStyles,
78
+ placement,
79
+ shouldAnimate = false,
80
+ ...props
81
+ } = _ref;
82
+ const shouldReduceMotion = (0, _framerMotion.useReducedMotion)();
83
+ const {
84
+ style: motionInlineStyles,
85
+ ...otherMotionProps
86
+ } = (0, _element.useMemo)(() => (0, _utils.placementToMotionAnimationProps)(placement), [placement]);
87
+
88
+ if (shouldAnimate && !shouldReduceMotion) {
89
+ return (0, _element.createElement)(_framerMotion.motion.div, (0, _extends2.default)({
90
+ style: { ...motionInlineStyles,
91
+ ...receivedInlineStyles
92
+ }
93
+ }, otherMotionProps, props, {
94
+ ref: forwardedRef
95
+ }));
116
96
  }
117
97
 
118
- return x + ' ' + y;
119
- };
98
+ return (0, _element.createElement)("div", (0, _extends2.default)({
99
+ style: receivedInlineStyles
100
+ }, props, {
101
+ ref: forwardedRef
102
+ }));
103
+ });
104
+ const slotNameContext = (0, _element.createContext)();
120
105
 
121
- const Popover = (_ref, forwardedRef) => {
106
+ const Popover = (_ref2, forwardedRef) => {
122
107
  let {
123
108
  range,
124
109
  animate = true,
@@ -130,7 +115,7 @@ const Popover = (_ref, forwardedRef) => {
130
115
  isAlternate,
131
116
  position,
132
117
  placement: placementProp = 'bottom-start',
133
- offset,
118
+ offset: offsetProp = 0,
134
119
  focusOnMount = 'firstElement',
135
120
  anchorRef,
136
121
  anchorRect,
@@ -142,7 +127,7 @@ const Popover = (_ref, forwardedRef) => {
142
127
  __unstableForcePosition = false,
143
128
  __unstableShift = false,
144
129
  ...contentProps
145
- } = _ref;
130
+ } = _ref2;
146
131
 
147
132
  if (range) {
148
133
  (0, _deprecated.default)('range prop in Popover component', {
@@ -156,8 +141,8 @@ const Popover = (_ref, forwardedRef) => {
156
141
  const isMobileViewport = (0, _compose.useViewportMatch)('medium', '<');
157
142
  const isExpanded = expandOnMobile && isMobileViewport;
158
143
  const hasArrow = !isExpanded && !noArrow;
159
- const normalizedPlacementFromProps = position ? positionToPlacement(position) : placementProp;
160
- const ownerDocument = (0, _element.useMemo)(() => {
144
+ const normalizedPlacementFromProps = position ? (0, _utils.positionToPlacement)(position) : placementProp;
145
+ const referenceOwnerDocument = (0, _element.useMemo)(() => {
161
146
  var _documentToReturn;
162
147
 
163
148
  let documentToReturn;
@@ -183,33 +168,25 @@ const Popover = (_ref, forwardedRef) => {
183
168
  }, [anchorRef, anchorRect, getAnchorRect]);
184
169
  /**
185
170
  * Offsets the position of the popover when the anchor is inside an iframe.
171
+ *
172
+ * Store the offset in a ref, due to constraints with floating-ui:
173
+ * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.
186
174
  */
187
175
 
188
- const frameOffset = (0, _element.useMemo)(() => {
189
- const {
190
- defaultView
191
- } = ownerDocument;
192
- const {
193
- frameElement
194
- } = defaultView;
195
-
196
- if (!frameElement || ownerDocument === document) {
197
- return undefined;
198
- }
176
+ const frameOffsetRef = (0, _element.useRef)((0, _utils.getFrameOffset)(referenceOwnerDocument));
177
+ /**
178
+ * Store the offset prop in a ref, due to constraints with floating-ui:
179
+ * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.
180
+ */
199
181
 
200
- const iframeRect = frameElement.getBoundingClientRect();
201
- return {
202
- x: iframeRect.left,
203
- y: iframeRect.top
204
- };
205
- }, [ownerDocument]);
206
- const middleware = [frameOffset || offset ? (0, _reactDom.offset)(_ref2 => {
182
+ const offsetRef = (0, _element.useRef)(offsetProp);
183
+ const middleware = [(0, _reactDom.offset)(_ref3 => {
207
184
  let {
208
185
  placement: currentPlacement
209
- } = _ref2;
186
+ } = _ref3;
210
187
 
211
- if (!frameOffset) {
212
- return offset;
188
+ if (!frameOffsetRef.current) {
189
+ return offsetRef.current;
213
190
  }
214
191
 
215
192
  const isTopBottomPlacement = currentPlacement.includes('top') || currentPlacement.includes('bottom'); // The main axis should represent the gap between the
@@ -222,20 +199,19 @@ const Popover = (_ref, forwardedRef) => {
222
199
 
223
200
  const hasBeforePlacement = currentPlacement.includes('top') || currentPlacement.includes('left');
224
201
  const mainAxisModifier = hasBeforePlacement ? -1 : 1;
225
- const normalizedOffset = offset ? offset : 0;
226
202
  return {
227
- mainAxis: normalizedOffset + frameOffset[mainAxis] * mainAxisModifier,
228
- crossAxis: frameOffset[crossAxis]
203
+ mainAxis: offsetRef.current + frameOffsetRef.current[mainAxis] * mainAxisModifier,
204
+ crossAxis: frameOffsetRef.current[crossAxis]
229
205
  };
230
- }) : undefined, __unstableForcePosition ? undefined : (0, _reactDom.flip)(), __unstableForcePosition ? undefined : (0, _reactDom.size)({
206
+ }), __unstableForcePosition ? undefined : (0, _reactDom.flip)(), __unstableForcePosition ? undefined : (0, _reactDom.size)({
231
207
  apply(sizeProps) {
232
208
  const {
233
- height
209
+ availableHeight
234
210
  } = sizeProps;
235
211
  if (!refs.floating.current) return; // Reduce the height of the popover to the available space.
236
212
 
237
213
  Object.assign(refs.floating.current.firstChild.style, {
238
- maxHeight: `${height}px`,
214
+ maxHeight: `${availableHeight}px`,
239
215
  overflow: 'auto'
240
216
  });
241
217
  }
@@ -291,7 +267,11 @@ const Popover = (_ref, forwardedRef) => {
291
267
  } = (0, _reactDom.useFloating)({
292
268
  placement: normalizedPlacementFromProps,
293
269
  middleware
294
- }); // Update the `reference`'s ref.
270
+ });
271
+ (0, _element.useEffect)(() => {
272
+ offsetRef.current = offsetProp;
273
+ update();
274
+ }, [offsetProp, update]); // Update the `reference`'s ref.
295
275
  //
296
276
  // In floating-ui's terms:
297
277
  // - "reference" refers to the popover's anchor element.
@@ -357,8 +337,10 @@ const Popover = (_ref, forwardedRef) => {
357
337
  return;
358
338
  }
359
339
 
360
- return (0, _reactDom.autoUpdate)(resultingReferenceRef, refs.floating.current, update);
361
- }, [anchorRef, anchorRect, getAnchorRect]); // This is only needed for a smooth transition when moving blocks.
340
+ return (0, _reactDom.autoUpdate)(resultingReferenceRef, refs.floating.current, update); // 'reference' and 'refs.floating' are refs and don't need to be listed
341
+ // as dependencies (see https://github.com/WordPress/gutenberg/pull/41612)
342
+ // eslint-disable-next-line react-hooks/exhaustive-deps
343
+ }, [anchorRef, anchorRect, getAnchorRect, update]); // This is only needed for a smooth transition when moving blocks.
362
344
 
363
345
  (0, _element.useLayoutEffect)(() => {
364
346
  if (!__unstableObserveElement) {
@@ -372,31 +354,52 @@ const Popover = (_ref, forwardedRef) => {
372
354
  return () => {
373
355
  observer.disconnect();
374
356
  };
375
- }, [__unstableObserveElement]); // If the reference element is in a different ownerDocument (e.g. iFrame),
357
+ }, [__unstableObserveElement, update]); // If the reference element is in a different ownerDocument (e.g. iFrame),
376
358
  // we need to manually update the floating's position as the reference's owner
377
- // document scrolls.
359
+ // document scrolls. Also update the frame offset if the view resizes.
378
360
 
379
361
  (0, _element.useLayoutEffect)(() => {
380
- if (ownerDocument === document) {
362
+ var _referenceOwnerDocume;
363
+
364
+ if (referenceOwnerDocument === document) {
365
+ frameOffsetRef.current = undefined;
381
366
  return;
382
367
  }
383
368
 
384
- ownerDocument.addEventListener('scroll', update);
385
- return () => ownerDocument.removeEventListener('scroll', update);
386
- }, [ownerDocument]);
387
- /** @type {false | string} */
369
+ const {
370
+ defaultView
371
+ } = referenceOwnerDocument;
372
+ referenceOwnerDocument.addEventListener('scroll', update);
373
+ let updateFrameOffset;
374
+ const hasFrameElement = !!(referenceOwnerDocument !== null && referenceOwnerDocument !== void 0 && (_referenceOwnerDocume = referenceOwnerDocument.defaultView) !== null && _referenceOwnerDocume !== void 0 && _referenceOwnerDocume.frameElement);
375
+
376
+ if (hasFrameElement) {
377
+ updateFrameOffset = () => {
378
+ frameOffsetRef.current = (0, _utils.getFrameOffset)(referenceOwnerDocument);
379
+ update();
380
+ };
388
381
 
389
- const animateClassName = !!animate && (0, _animate.getAnimateClassName)({
390
- type: 'appear',
391
- origin: placementToAnimationOrigin(computedPlacement)
392
- });
382
+ updateFrameOffset();
383
+ defaultView.addEventListener('resize', updateFrameOffset);
384
+ }
385
+
386
+ return () => {
387
+ referenceOwnerDocument.removeEventListener('scroll', update);
388
+
389
+ if (updateFrameOffset) {
390
+ defaultView.removeEventListener('resize', updateFrameOffset);
391
+ }
392
+ };
393
+ }, [referenceOwnerDocument, update]);
393
394
  const mergedFloatingRef = (0, _compose.useMergeRefs)([floating, dialogRef, forwardedRef]); // Disable reason: We care to capture the _bubbled_ events from inputs
394
395
  // within popover as inferring close intent.
395
396
 
396
397
  let content = // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
397
398
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
398
- (0, _element.createElement)("div", (0, _extends2.default)({
399
- className: (0, _classnames.default)('components-popover', className, animateClassName, {
399
+ (0, _element.createElement)(MaybeAnimatedWrapper, (0, _extends2.default)({
400
+ shouldAnimate: animate && !isExpanded,
401
+ placement: computedPlacement,
402
+ className: (0, _classnames.default)('components-popover', className, {
400
403
  'is-expanded': isExpanded,
401
404
  'is-alternate': isAlternate
402
405
  })
@@ -445,10 +448,10 @@ const Popover = (_ref, forwardedRef) => {
445
448
 
446
449
  const PopoverContainer = (0, _element.forwardRef)(Popover);
447
450
 
448
- function PopoverSlot(_ref3, ref) {
451
+ function PopoverSlot(_ref4, ref) {
449
452
  let {
450
453
  name = SLOT_NAME
451
- } = _ref3;
454
+ } = _ref4;
452
455
  return (0, _element.createElement)(_slotFill.Slot, {
453
456
  bubblesVirtually: true,
454
457
  name: name,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["SLOT_NAME","ArrowTriangle","props","slotNameContext","positionToPlacement","position","x","y","z","split","includes","suffix","placementToAnimationOrigin","placement","a","b","Popover","forwardedRef","range","animate","headerTitle","onClose","children","className","noArrow","isAlternate","placementProp","offset","focusOnMount","anchorRef","anchorRect","getAnchorRect","expandOnMobile","onFocusOutside","__unstableSlotName","__unstableObserveElement","__unstableForcePosition","__unstableShift","contentProps","since","version","arrowRef","anchorRefFallback","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","ownerDocument","documentToReturn","top","startContainer","current","document","frameOffset","defaultView","frameElement","undefined","iframeRect","getBoundingClientRect","left","middleware","currentPlacement","isTopBottomPlacement","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","normalizedOffset","apply","sizeProps","height","refs","floating","Object","assign","firstChild","style","maxHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","reference","strategy","update","computedPlacement","middlewareData","arrow","arrowData","resultingReferenceRef","topRect","bottomRect","bottom","window","DOMRect","width","rect","right","parentNode","observer","MutationObserver","observe","attributes","disconnect","addEventListener","removeEventListener","animateClassName","origin","mergedFloatingRef","content","Number","isNaN","close","join","isFinite","ref","PopoverContainer","PopoverSlot","name","Slot","__unstableSlotNameProvider","Provider"],"mappings":";;;;;;;;;AAmBA;;;;AAfA;;AACA;;AAsBA;;AAKA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AA1CA;;AACA;AACA;AACA;;AAaA;AACA;AACA;;AAkBA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA,MAAMA,SAAS,GAAG,SAAlB,C,CAEA;AACA;AACA;AACA;;AACA,MAAMC,aAAa,GAAKC,KAAF,IACrB,4BAAC,eAAD,6BACMA,KADN;AAEC,EAAA,KAAK,EAAC,4BAFP;AAGC,EAAA,OAAO,EAAI,aAHZ;AAIC,EAAA,SAAS,EAAC,8BAJX;AAKC,EAAA,IAAI,EAAC;AALN,IAOC,4BAAC,gBAAD;AACC,EAAA,SAAS,EAAC,iCADX;AAEC,EAAA,CAAC,EAAC;AAFH,EAPD,EAWC,4BAAC,gBAAD;AACC,EAAA,SAAS,EAAC,qCADX;AAEC,EAAA,CAAC,EAAC,uBAFH;AAGC,EAAA,YAAY,EAAC;AAHd,EAXD,CADD;;AAoBA,MAAMC,eAAe,GAAG,6BAAxB;;AAEA,MAAMC,mBAAmB,GAAKC,QAAF,IAAgB;AAC3C,QAAM,CAAEC,CAAF,EAAKC,CAAL,EAAQC,CAAR,IAAcH,QAAQ,CAACI,KAAT,CAAgB,GAAhB,CAApB;;AAEA,MAAK,CAAE,KAAF,EAAS,QAAT,EAAoBC,QAApB,CAA8BJ,CAA9B,CAAL,EAAyC;AACxC,QAAIK,MAAM,GAAG,EAAb;;AACA,QAAO,CAAC,CAAEH,CAAH,IAAQA,CAAC,KAAK,MAAhB,IAA4BD,CAAC,KAAK,OAAvC,EAAiD;AAChDI,MAAAA,MAAM,GAAG,QAAT;AACA,KAFD,MAEO,IAAO,CAAC,CAAEH,CAAH,IAAQA,CAAC,KAAK,OAAhB,IAA6BD,CAAC,KAAK,MAAxC,EAAiD;AACvDI,MAAAA,MAAM,GAAG,MAAT;AACA;;AACD,WAAOL,CAAC,GAAGK,MAAX;AACA;;AAED,SAAOJ,CAAP;AACA,CAdD;;AAgBA,MAAMK,0BAA0B,GAAKC,SAAF,IAAiB;AACnD,QAAM,CAAEC,CAAF,EAAKC,CAAL,IAAWF,SAAS,CAACJ,KAAV,CAAiB,GAAjB,CAAjB;AAEA,MAAIH,CAAJ,EAAOC,CAAP;;AACA,MAAKO,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,QAA1B,EAAqC;AACpCR,IAAAA,CAAC,GAAGQ,CAAC,KAAK,KAAN,GAAc,QAAd,GAAyB,KAA7B;AACAP,IAAAA,CAAC,GAAG,QAAJ;;AACA,QAAKQ,CAAC,KAAK,OAAX,EAAqB;AACpBR,MAAAA,CAAC,GAAG,MAAJ;AACA,KAFD,MAEO,IAAKQ,CAAC,KAAK,KAAX,EAAmB;AACzBR,MAAAA,CAAC,GAAG,OAAJ;AACA;AACD;;AAED,MAAKO,CAAC,KAAK,MAAN,IAAgBA,CAAC,KAAK,OAA3B,EAAqC;AACpCR,IAAAA,CAAC,GAAG,QAAJ;AACAC,IAAAA,CAAC,GAAGO,CAAC,KAAK,MAAN,GAAe,OAAf,GAAyB,MAA7B;;AACA,QAAKC,CAAC,KAAK,OAAX,EAAqB;AACpBT,MAAAA,CAAC,GAAG,KAAJ;AACA,KAFD,MAEO,IAAKS,CAAC,KAAK,KAAX,EAAmB;AACzBT,MAAAA,CAAC,GAAG,QAAJ;AACA;AACD;;AAED,SAAOA,CAAC,GAAG,GAAJ,GAAUC,CAAjB;AACA,CAzBD;;AA2BA,MAAMS,OAAO,GAAG,OAyBfC,YAzBe,KA0BX;AAAA,MAzBJ;AACCC,IAAAA,KADD;AAECC,IAAAA,OAAO,GAAG,IAFX;AAGCC,IAAAA,WAHD;AAICC,IAAAA,OAJD;AAKCC,IAAAA,QALD;AAMCC,IAAAA,SAND;AAOCC,IAAAA,OAAO,GAAG,IAPX;AAQCC,IAAAA,WARD;AASCpB,IAAAA,QATD;AAUCQ,IAAAA,SAAS,EAAEa,aAAa,GAAG,cAV5B;AAWCC,IAAAA,MAXD;AAYCC,IAAAA,YAAY,GAAG,cAZhB;AAaCC,IAAAA,SAbD;AAcCC,IAAAA,UAdD;AAeCC,IAAAA,aAfD;AAgBCC,IAAAA,cAhBD;AAiBCC,IAAAA,cAjBD;AAkBCC,IAAAA,kBAAkB,GAAGlC,SAlBtB;AAmBCmC,IAAAA,wBAnBD;AAoBCC,IAAAA,uBAAuB,GAAG,KApB3B;AAqBCC,IAAAA,eAAe,GAAG,KArBnB;AAsBC,OAAGC;AAtBJ,GAyBI;;AACJ,MAAKpB,KAAL,EAAa;AACZ,6BAAY,iCAAZ,EAA+C;AAC9CqB,MAAAA,KAAK,EAAE,KADuC;AAE9CC,MAAAA,OAAO,EAAE;AAFqC,KAA/C;AAIA;;AAED,QAAMC,QAAQ,GAAG,qBAAQ,IAAR,CAAjB;AACA,QAAMC,iBAAiB,GAAG,qBAAQ,IAAR,CAA1B;AAEA,QAAMC,gBAAgB,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAAzB;AACA,QAAMC,UAAU,GAAGZ,cAAc,IAAIW,gBAArC;AACA,QAAME,QAAQ,GAAG,CAAED,UAAF,IAAgB,CAAEpB,OAAnC;AACA,QAAMsB,4BAA4B,GAAGzC,QAAQ,GAC1CD,mBAAmB,CAAEC,QAAF,CADuB,GAE1CqB,aAFH;AAIA,QAAMqB,aAAa,GAAG,sBAAS,MAAM;AAAA;;AACpC,QAAIC,gBAAJ;;AAEA,QAAKnB,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEoB,GAAhB,EAAsB;AACrBD,MAAAA,gBAAgB,GAAGnB,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEoB,GAAX,CAAeF,aAAlC;AACA,KAFD,MAEO,IAAKlB,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEqB,cAAhB,EAAiC;AACvCF,MAAAA,gBAAgB,GAAGnB,SAAS,CAACqB,cAAV,CAAyBH,aAA5C;AACA,KAFM,MAEA,IAAKlB,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEsB,OAAhB,EAA0B;AAChCH,MAAAA,gBAAgB,GAAGnB,SAAS,CAACsB,OAAV,CAAkBJ,aAArC;AACA,KAFM,MAEA,IAAKlB,SAAL,EAAiB;AACvB;AACAmB,MAAAA,gBAAgB,GAAGnB,SAAS,CAACkB,aAA7B;AACA,KAHM,MAGA,IAAKjB,UAAU,IAAIA,UAAJ,aAAIA,UAAJ,eAAIA,UAAU,CAAEiB,aAA/B,EAA+C;AACrDC,MAAAA,gBAAgB,GAAGlB,UAAU,CAACiB,aAA9B;AACA,KAFM,MAEA,IAAKhB,aAAL,EAAqB;AAAA;;AAC3BiB,MAAAA,gBAAgB,qBAAGjB,aAAa,CAC/BW,iBAAiB,CAACS,OADa,CAAhB,mDAAG,eAEhBJ,aAFH;AAGA;;AAED,gCAAOC,gBAAP,iEAA2BI,QAA3B;AACA,GArBqB,EAqBnB,CAAEvB,SAAF,EAAaC,UAAb,EAAyBC,aAAzB,CArBmB,CAAtB;AAuBA;AACD;AACA;;AACC,QAAMsB,WAAW,GAAG,sBAAS,MAAM;AAClC,UAAM;AAAEC,MAAAA;AAAF,QAAkBP,aAAxB;AACA,UAAM;AAAEQ,MAAAA;AAAF,QAAmBD,WAAzB;;AAEA,QAAK,CAAEC,YAAF,IAAkBR,aAAa,KAAKK,QAAzC,EAAoD;AACnD,aAAOI,SAAP;AACA;;AAED,UAAMC,UAAU,GAAGF,YAAY,CAACG,qBAAb,EAAnB;AACA,WAAO;AAAEpD,MAAAA,CAAC,EAAEmD,UAAU,CAACE,IAAhB;AAAsBpD,MAAAA,CAAC,EAAEkD,UAAU,CAACR;AAApC,KAAP;AACA,GAVmB,EAUjB,CAAEF,aAAF,CAViB,CAApB;AAYA,QAAMa,UAAU,GAAG,CAClBP,WAAW,IAAI1B,MAAf,GACG,sBAAkB,SAAuC;AAAA,QAArC;AAAEd,MAAAA,SAAS,EAAEgD;AAAb,KAAqC;;AACzD,QAAK,CAAER,WAAP,EAAqB;AACpB,aAAO1B,MAAP;AACA;;AAED,UAAMmC,oBAAoB,GACzBD,gBAAgB,CAACnD,QAAjB,CAA2B,KAA3B,KACAmD,gBAAgB,CAACnD,QAAjB,CAA2B,QAA3B,CAFD,CALyD,CASzD;AACA;AACA;;AACA,UAAMqD,QAAQ,GAAGD,oBAAoB,GAAG,GAAH,GAAS,GAA9C;AACA,UAAME,SAAS,GAAGD,QAAQ,KAAK,GAAb,GAAmB,GAAnB,GAAyB,GAA3C,CAbyD,CAezD;AACA;;AACA,UAAME,kBAAkB,GACvBJ,gBAAgB,CAACnD,QAAjB,CAA2B,KAA3B,KACAmD,gBAAgB,CAACnD,QAAjB,CAA2B,MAA3B,CAFD;AAGA,UAAMwD,gBAAgB,GAAGD,kBAAkB,GAAG,CAAC,CAAJ,GAAQ,CAAnD;AACA,UAAME,gBAAgB,GAAGxC,MAAM,GAAGA,MAAH,GAAY,CAA3C;AAEA,WAAO;AACNoC,MAAAA,QAAQ,EACPI,gBAAgB,GAChBd,WAAW,CAAEU,QAAF,CAAX,GAA0BG,gBAHrB;AAINF,MAAAA,SAAS,EAAEX,WAAW,CAAEW,SAAF;AAJhB,KAAP;AAMC,GA7BD,CADH,GA+BGR,SAhCe,EAiClBpB,uBAAuB,GAAGoB,SAAH,GAAe,qBAjCpB,EAkClBpB,uBAAuB,GACpBoB,SADoB,GAEpB,oBAAM;AACNY,IAAAA,KAAK,CAAEC,SAAF,EAAc;AAClB,YAAM;AAAEC,QAAAA;AAAF,UAAaD,SAAnB;AACA,UAAK,CAAEE,IAAI,CAACC,QAAL,CAAcrB,OAArB,EAA+B,OAFb,CAGlB;;AACAsB,MAAAA,MAAM,CAACC,MAAP,CAAeH,IAAI,CAACC,QAAL,CAAcrB,OAAd,CAAsBwB,UAAtB,CAAiCC,KAAhD,EAAuD;AACtDC,QAAAA,SAAS,EAAG,GAAGP,MAAQ,IAD+B;AAEtDQ,QAAAA,QAAQ,EAAE;AAF4C,OAAvD;AAIA;;AATK,GAAN,CApCe,EA+ClBzC,eAAe,GACZ,qBAAO;AACP2B,IAAAA,SAAS,EAAE,IADJ;AAEPe,IAAAA,OAAO,EAAE,2BAFF;AAGPC,IAAAA,OAAO,EAAE,CAHF,CAGK;;AAHL,GAAP,CADY,GAMZxB,SArDe,EAsDlBX,QAAQ,GAAG,qBAAO;AAAEoC,IAAAA,OAAO,EAAExC;AAAX,GAAP,CAAH,GAAoCe,SAtD1B,EAuDjB0B,MAvDiB,CAuDPC,CAAF,IAAS,CAAC,CAAEA,CAvDH,CAAnB;;AAwDA,QAAMC,QAAQ,GAAG,yBAAYjF,eAAZ,KAAiC+B,kBAAlD;;AACA,QAAMmD,IAAI,GAAG,uBAASD,QAAT,CAAb;AAEA,MAAIE,aAAJ;;AAEA,MAAKjE,OAAO,IAAIY,cAAhB,EAAiC;AAChCqD,IAAAA,aAAa,GAAG,CAAEC,IAAF,EAAQC,KAAR,KAAmB;AAClC;AACA;AACA,UAAKD,IAAI,KAAK,eAAT,IAA4BtD,cAAjC,EAAkD;AACjDA,QAAAA,cAAc,CAAEuD,KAAF,CAAd;AACA,OAFD,MAEO,IAAKnE,OAAL,EAAe;AACrBA,QAAAA,OAAO;AACP;AACD,KARD;AASA;;AAED,QAAM,CAAEoE,SAAF,EAAaC,WAAb,IAA6B,sCAAW;AAC7C9D,IAAAA,YAD6C;AAE7C+D,IAAAA,iBAAiB,EAAEL,aAF0B;AAG7CjE,IAAAA,OAAO,EAAEiE;AAHoC,GAAX,CAAnC;AAMA,QAAM;AACL;AACAhF,IAAAA,CAFK;AAGLC,IAAAA,CAHK;AAIL;AACA;AACAqF,IAAAA,SANK;AAOLpB,IAAAA,QAPK;AAQL;AACAD,IAAAA,IATK;AAUL;AACAsB,IAAAA,QAXK;AAYLC,IAAAA,MAZK;AAaLjF,IAAAA,SAAS,EAAEkF,iBAbN;AAcLC,IAAAA,cAAc,EAAE;AAAEC,MAAAA,KAAK,EAAEC,SAAS,GAAG;AAArB;AAdX,MAeF,2BAAa;AAAErF,IAAAA,SAAS,EAAEiC,4BAAb;AAA2Cc,IAAAA;AAA3C,GAAb,CAfJ,CAvII,CAwJJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,gCAAiB,MAAM;AACtB,QAAIuC,qBAAJ;;AAEA,QAAKtE,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEoB,GAAhB,EAAsB;AACrB;AACA;AACAkD,MAAAA,qBAAqB,GAAG;AACvBzC,QAAAA,qBAAqB,GAAG;AACvB,gBAAM0C,OAAO,GAAGvE,SAAS,CAACoB,GAAV,CAAcS,qBAAd,EAAhB;AACA,gBAAM2C,UAAU,GAAGxE,SAAS,CAACyE,MAAV,CAAiB5C,qBAAjB,EAAnB;AACA,iBAAO,IAAI6C,MAAM,CAACC,OAAX,CACNJ,OAAO,CAAC9F,CADF,EAEN8F,OAAO,CAAC7F,CAFF,EAGN6F,OAAO,CAACK,KAHF,EAINJ,UAAU,CAACC,MAAX,GAAoBF,OAAO,CAACnD,GAJtB,CAAP;AAMA;;AAVsB,OAAxB;AAYA,KAfD,MAeO,IAAKpB,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEsB,OAAhB,EAA0B;AAChC;AACAgD,MAAAA,qBAAqB,GAAGtE,SAAS,CAACsB,OAAlC;AACA,KAHM,MAGA,IAAKtB,SAAL,EAAiB;AACvB;AACA;AACAsE,MAAAA,qBAAqB,GAAGtE,SAAxB;AACA,KAJM,MAIA,IAAKC,UAAL,EAAkB;AACxB;AACAqE,MAAAA,qBAAqB,GAAG;AACvBzC,QAAAA,qBAAqB,GAAG;AACvB,iBAAO5B,UAAP;AACA;;AAHsB,OAAxB;AAKA,KAPM,MAOA,IAAKC,aAAL,EAAqB;AAC3B;AACAoE,MAAAA,qBAAqB,GAAG;AACvBzC,QAAAA,qBAAqB,GAAG;AAAA;;AACvB,gBAAMgD,IAAI,GAAG3E,aAAa,CAAEW,iBAAiB,CAACS,OAApB,CAA1B;AACA,iBAAO,IAAIoD,MAAM,CAACC,OAAX,YACNE,IAAI,CAACpG,CADC,6CACIoG,IAAI,CAAC/C,IADT,aAEN+C,IAAI,CAACnG,CAFC,6CAEImG,IAAI,CAACzD,GAFT,iBAGNyD,IAAI,CAACD,KAHC,qDAGQC,IAAI,CAACC,KAAL,GAAaD,IAAI,CAAC/C,IAH1B,kBAIN+C,IAAI,CAACpC,MAJC,uDAISoC,IAAI,CAACJ,MAAL,GAAcI,IAAI,CAACzD,GAJ5B,CAAP;AAMA;;AATsB,OAAxB;AAWA,KAbM,MAaA,IAAKP,iBAAiB,CAACS,OAAvB,EAAiC;AACvC;AACA;AACAgD,MAAAA,qBAAqB,GAAGzD,iBAAiB,CAACS,OAAlB,CAA0ByD,UAAlD;AACA;;AAED,QAAK,CAAET,qBAAP,EAA+B;AAC9B;AACA;;AAEDP,IAAAA,SAAS,CAAEO,qBAAF,CAAT;;AAEA,QAAK,CAAE5B,IAAI,CAACC,QAAL,CAAcrB,OAArB,EAA+B;AAC9B;AACA;;AAED,WAAO,0BACNgD,qBADM,EAEN5B,IAAI,CAACC,QAAL,CAAcrB,OAFR,EAGN2C,MAHM,CAAP;AAKA,GAlED,EAkEG,CAAEjE,SAAF,EAAaC,UAAb,EAAyBC,aAAzB,CAlEH,EAjKI,CAqOJ;;AACA,gCAAiB,MAAM;AACtB,QAAK,CAAEI,wBAAP,EAAkC;AACjC;AACA;;AACD,UAAM0E,QAAQ,GAAG,IAAIN,MAAM,CAACO,gBAAX,CAA6BhB,MAA7B,CAAjB;AACAe,IAAAA,QAAQ,CAACE,OAAT,CAAkB5E,wBAAlB,EAA4C;AAAE6E,MAAAA,UAAU,EAAE;AAAd,KAA5C;AAEA,WAAO,MAAM;AACZH,MAAAA,QAAQ,CAACI,UAAT;AACA,KAFD;AAGA,GAVD,EAUG,CAAE9E,wBAAF,CAVH,EAtOI,CAkPJ;AACA;AACA;;AACA,gCAAiB,MAAM;AACtB,QAAKY,aAAa,KAAKK,QAAvB,EAAkC;AACjC;AACA;;AAEDL,IAAAA,aAAa,CAACmE,gBAAd,CAAgC,QAAhC,EAA0CpB,MAA1C;AACA,WAAO,MAAM/C,aAAa,CAACoE,mBAAd,CAAmC,QAAnC,EAA6CrB,MAA7C,CAAb;AACA,GAPD,EAOG,CAAE/C,aAAF,CAPH;AASA;;AACA,QAAMqE,gBAAgB,GACrB,CAAC,CAAEjG,OAAH,IACA,kCAAqB;AACpBoE,IAAAA,IAAI,EAAE,QADc;AAEpB8B,IAAAA,MAAM,EAAEzG,0BAA0B,CAAEmF,iBAAF;AAFd,GAArB,CAFD;AAOA,QAAMuB,iBAAiB,GAAG,2BAAc,CACvC9C,QADuC,EAEvCiB,SAFuC,EAGvCxE,YAHuC,CAAd,CAA1B,CAtQI,CA4QJ;AACA;;AAEA,MAAIsG,OAAO,GACV;AACA;AACA;AACC,IAAA,SAAS,EAAG,yBACX,oBADW,EAEXhG,SAFW,EAGX6F,gBAHW,EAIX;AACC,qBAAexE,UADhB;AAEC,sBAAgBnB;AAFjB,KAJW;AADb,KAUMa,YAVN;AAWC,IAAA,GAAG,EAAGgF;AAXP,KAYM5B,WAZN;AAaC,IAAA,QAAQ,EAAC,IAbV;AAcC,IAAA,KAAK,EACJ9C,UAAU,GACPY,SADO,GAEP;AACAnD,MAAAA,QAAQ,EAAEwF,QADV;AAEAlC,MAAAA,IAAI,EAAE6D,MAAM,CAACC,KAAP,CAAcnH,CAAd,IAAoB,CAApB,GAAwBA,CAF9B;AAGA2C,MAAAA,GAAG,EAAEuE,MAAM,CAACC,KAAP,CAAclH,CAAd,IAAoB,CAApB,GAAwBA;AAH7B;AAjBL,MAyBGqC,UAAU,IAAI,4BAAC,mBAAD,OAzBjB,EA0BGA,UAAU,IACX;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGxB,WADH,CADD,EAIC,4BAAC,eAAD;AACC,IAAA,SAAS,EAAC,2BADX;AAEC,IAAA,IAAI,EAAGsG,YAFR;AAGC,IAAA,OAAO,EAAGrG;AAHX,IAJD,CA3BF,EAsCC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+CC,QAA/C,CAtCD,EAuCGuB,QAAQ,IACT;AACC,IAAA,GAAG,EAAGJ,QADP;AAEC,IAAA,SAAS,EAAG,CACX,2BADW,EAEV,MAAMsD,iBAAiB,CAACtF,KAAlB,CAAyB,GAAzB,EAAgC,CAAhC,CAAqC,EAFjC,EAGVkH,IAHU,CAGJ,GAHI,CAFb;AAMC,IAAA,KAAK,EAAG;AACPhE,MAAAA,IAAI,EAAE6D,MAAM,CAACI,QAAP,CAAiB1B,SAAjB,aAAiBA,SAAjB,uBAAiBA,SAAS,CAAE5F,CAA5B,IACF,GAAG4F,SAAS,CAAC5F,CAAG,IADd,GAEH,EAHI;AAIP2C,MAAAA,GAAG,EAAEuE,MAAM,CAACI,QAAP,CAAiB1B,SAAjB,aAAiBA,SAAjB,uBAAiBA,SAAS,CAAE3F,CAA5B,IACD,GAAG2F,SAAS,CAAC3F,CAAG,IADf,GAEF;AANI;AANT,KAeC,4BAAC,aAAD,OAfD,CAxCF,CAHD;;AAgEA,MAAK8E,IAAI,CAACwC,GAAV,EAAgB;AACfN,IAAAA,OAAO,GAAG,4BAAC,cAAD;AAAM,MAAA,IAAI,EAAGnC;AAAb,OAA0BmC,OAA1B,CAAV;AACA;;AAED,MAAK1F,SAAS,IAAIC,UAAlB,EAA+B;AAC9B,WAAOyF,OAAP;AACA;;AAED,SAAO;AAAM,IAAA,GAAG,EAAG7E;AAAZ,KAAkC6E,OAAlC,CAAP;AACA,CAlXD;;AAoXA,MAAMO,gBAAgB,GAAG,yBAAY9G,OAAZ,CAAzB;;AAEA,SAAS+G,WAAT,QAA4CF,GAA5C,EAAkD;AAAA,MAA5B;AAAEG,IAAAA,IAAI,GAAGhI;AAAT,GAA4B;AACjD,SACC,4BAAC,cAAD;AACC,IAAA,gBAAgB,MADjB;AAEC,IAAA,IAAI,EAAGgI,IAFR;AAGC,IAAA,SAAS,EAAC,cAHX;AAIC,IAAA,GAAG,EAAGH;AAJP,IADD;AAQA;;AAEDC,gBAAgB,CAACG,IAAjB,GAAwB,yBAAYF,WAAZ,CAAxB;AACAD,gBAAgB,CAACI,0BAAjB,GAA8C/H,eAAe,CAACgI,QAA9D;eAEeL,gB","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip,\n\tshift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n} from '@floating-ui/react-dom';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport { getAnimateClassName } from '../animate';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = ( props ) => (\n\t<SVG\n\t\t{ ...props }\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst slotNameContext = createContext();\n\nconst positionToPlacement = ( position ) => {\n\tconst [ x, y, z ] = position.split( ' ' );\n\n\tif ( [ 'top', 'bottom' ].includes( x ) ) {\n\t\tlet suffix = '';\n\t\tif ( ( !! z && z === 'left' ) || y === 'right' ) {\n\t\t\tsuffix = '-start';\n\t\t} else if ( ( !! z && z === 'right' ) || y === 'left' ) {\n\t\t\tsuffix = '-end';\n\t\t}\n\t\treturn x + suffix;\n\t}\n\n\treturn y;\n};\n\nconst placementToAnimationOrigin = ( placement ) => {\n\tconst [ a, b ] = placement.split( '-' );\n\n\tlet x, y;\n\tif ( a === 'top' || a === 'bottom' ) {\n\t\tx = a === 'top' ? 'bottom' : 'top';\n\t\ty = 'middle';\n\t\tif ( b === 'start' ) {\n\t\t\ty = 'left';\n\t\t} else if ( b === 'end' ) {\n\t\t\ty = 'right';\n\t\t}\n\t}\n\n\tif ( a === 'left' || a === 'right' ) {\n\t\tx = 'center';\n\t\ty = a === 'left' ? 'right' : 'left';\n\t\tif ( b === 'start' ) {\n\t\t\tx = 'top';\n\t\t} else if ( b === 'end' ) {\n\t\t\tx = 'bottom';\n\t\t}\n\t}\n\n\treturn x + ' ' + y;\n};\n\nconst Popover = (\n\t{\n\t\trange,\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableForcePosition = false,\n\t\t__unstableShift = false,\n\t\t...contentProps\n\t},\n\tforwardedRef\n) => {\n\tif ( range ) {\n\t\tdeprecated( 'range prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef( null );\n\tconst anchorRefFallback = useRef( null );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst ownerDocument = useMemo( () => {\n\t\tlet documentToReturn;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\tdocumentToReturn = anchorRef?.top.ownerDocument;\n\t\t} else if ( anchorRef?.startContainer ) {\n\t\t\tdocumentToReturn = anchorRef.startContainer.ownerDocument;\n\t\t} else if ( anchorRef?.current ) {\n\t\t\tdocumentToReturn = anchorRef.current.ownerDocument;\n\t\t} else if ( anchorRef ) {\n\t\t\t// This one should be deprecated.\n\t\t\tdocumentToReturn = anchorRef.ownerDocument;\n\t\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\t\tdocumentToReturn = anchorRect.ownerDocument;\n\t\t} else if ( getAnchorRect ) {\n\t\t\tdocumentToReturn = getAnchorRect(\n\t\t\t\tanchorRefFallback.current\n\t\t\t)?.ownerDocument;\n\t\t}\n\n\t\treturn documentToReturn ?? document;\n\t}, [ anchorRef, anchorRect, getAnchorRect ] );\n\n\t/**\n\t * Offsets the position of the popover when the anchor is inside an iframe.\n\t */\n\tconst frameOffset = useMemo( () => {\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst { frameElement } = defaultView;\n\n\t\tif ( ! frameElement || ownerDocument === document ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst iframeRect = frameElement.getBoundingClientRect();\n\t\treturn { x: iframeRect.left, y: iframeRect.top };\n\t}, [ ownerDocument ] );\n\n\tconst middleware = [\n\t\tframeOffset || offset\n\t\t\t? offsetMiddleware( ( { placement: currentPlacement } ) => {\n\t\t\t\t\tif ( ! frameOffset ) {\n\t\t\t\t\t\treturn offset;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst isTopBottomPlacement =\n\t\t\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\t\t\tcurrentPlacement.includes( 'bottom' );\n\n\t\t\t\t\t// The main axis should represent the gap between the\n\t\t\t\t\t// floating element and the reference element. The cross\n\t\t\t\t\t// axis is always perpendicular to the main axis.\n\t\t\t\t\tconst mainAxis = isTopBottomPlacement ? 'y' : 'x';\n\t\t\t\t\tconst crossAxis = mainAxis === 'x' ? 'y' : 'x';\n\n\t\t\t\t\t// When the popover is before the reference, subtract the offset,\n\t\t\t\t\t// of the main axis else add it.\n\t\t\t\t\tconst hasBeforePlacement =\n\t\t\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\t\t\tcurrentPlacement.includes( 'left' );\n\t\t\t\t\tconst mainAxisModifier = hasBeforePlacement ? -1 : 1;\n\t\t\t\t\tconst normalizedOffset = offset ? offset : 0;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmainAxis:\n\t\t\t\t\t\t\tnormalizedOffset +\n\t\t\t\t\t\t\tframeOffset[ mainAxis ] * mainAxisModifier,\n\t\t\t\t\t\tcrossAxis: frameOffset[ crossAxis ],\n\t\t\t\t\t};\n\t\t\t } )\n\t\t\t: undefined,\n\t\t__unstableForcePosition ? undefined : flip(),\n\t\t__unstableForcePosition\n\t\t\t? undefined\n\t\t\t: size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { height } = sizeProps;\n\t\t\t\t\t\tif ( ! refs.floating.current ) return;\n\t\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\t\tObject.assign( refs.floating.current.firstChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ height }px`,\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t } ),\n\t\t__unstableShift\n\t\t\t? shift( {\n\t\t\t\t\tcrossAxis: true,\n\t\t\t\t\tlimiter: limitShift(),\n\t\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t } )\n\t\t\t: undefined,\n\t\thasArrow ? arrow( { element: arrowRef } ) : undefined,\n\t].filter( ( m ) => !! m );\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type, event ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Callback refs (not regular refs). This allows the position to be updated.\n\t\t// when either elements change.\n\t\treference,\n\t\tfloating,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData = {} },\n\t} = useFloating( { placement: normalizedPlacementFromProps, middleware } );\n\n\t// Update the `reference`'s ref.\n\t//\n\t// In floating-ui's terms:\n\t// - \"reference\" refers to the popover's anchor element.\n\t// - \"floating\" refers the floating popover's element.\n\t// A floating element can also be positioned relative to a virtual element,\n\t// instead of a real one. A virtual element is represented by an object\n\t// with the `getBoundingClientRect()` function (like real elements).\n\t// See https://floating-ui.com/docs/virtual-elements for more info.\n\tuseLayoutEffect( () => {\n\t\tlet resultingReferenceRef;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\t// Create a virtual element for the ref. The expectation is that\n\t\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst topRect = anchorRef.top.getBoundingClientRect();\n\t\t\t\t\tconst bottomRect = anchorRef.bottom.getBoundingClientRect();\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\ttopRect.x,\n\t\t\t\t\t\ttopRect.y,\n\t\t\t\t\t\ttopRect.width,\n\t\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRef?.current ) {\n\t\t\t// Standard React ref.\n\t\t\tresultingReferenceRef = anchorRef.current;\n\t\t} else if ( anchorRef ) {\n\t\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t\t// This is a weird scenario and should be deprecated.\n\t\t\tresultingReferenceRef = anchorRef;\n\t\t} else if ( anchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\treturn anchorRect;\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( getAnchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRefFallback.current ) {\n\t\t\t// If no explicit ref is passed via props, fall back to\n\t\t\t// anchoring to the popover's parent node.\n\t\t\tresultingReferenceRef = anchorRefFallback.current.parentNode;\n\t\t}\n\n\t\tif ( ! resultingReferenceRef ) {\n\t\t\treturn;\n\t\t}\n\n\t\treference( resultingReferenceRef );\n\n\t\tif ( ! refs.floating.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn autoUpdate(\n\t\t\tresultingReferenceRef,\n\t\t\trefs.floating.current,\n\t\t\tupdate\n\t\t);\n\t}, [ anchorRef, anchorRect, getAnchorRect ] );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\tuseLayoutEffect( () => {\n\t\tif ( ! __unstableObserveElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( update );\n\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ __unstableObserveElement ] );\n\n\t// If the reference element is in a different ownerDocument (e.g. iFrame),\n\t// we need to manually update the floating's position as the reference's owner\n\t// document scrolls.\n\tuseLayoutEffect( () => {\n\t\tif ( ownerDocument === document ) {\n\t\t\treturn;\n\t\t}\n\n\t\townerDocument.addEventListener( 'scroll', update );\n\t\treturn () => ownerDocument.removeEventListener( 'scroll', update );\n\t}, [ ownerDocument ] );\n\n\t/** @type {false | string} */\n\tconst animateClassName =\n\t\t!! animate &&\n\t\tgetAnimateClassName( {\n\t\t\ttype: 'appear',\n\t\t\torigin: placementToAnimationOrigin( computedPlacement ),\n\t\t} );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\tfloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-popover',\n\t\t\t\tclassName,\n\t\t\t\tanimateClassName,\n\t\t\t\t{\n\t\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t\t'is-alternate': isAlternate,\n\t\t\t\t}\n\t\t\t) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t\tstyle={\n\t\t\t\tisExpanded\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\t\tleft: Number.isNaN( x ) ? 0 : x,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y,\n\t\t\t\t\t }\n\t\t\t}\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft: Number.isFinite( arrowData?.x )\n\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop: Number.isFinite( arrowData?.y )\n\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\n};\n\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["SLOT_NAME","ArrowTriangle","props","MaybeAnimatedWrapper","forwardedRef","style","receivedInlineStyles","placement","shouldAnimate","shouldReduceMotion","motionInlineStyles","otherMotionProps","slotNameContext","Popover","range","animate","headerTitle","onClose","children","className","noArrow","isAlternate","position","placementProp","offset","offsetProp","focusOnMount","anchorRef","anchorRect","getAnchorRect","expandOnMobile","onFocusOutside","__unstableSlotName","__unstableObserveElement","__unstableForcePosition","__unstableShift","contentProps","since","version","arrowRef","anchorRefFallback","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","referenceOwnerDocument","documentToReturn","top","ownerDocument","startContainer","current","document","frameOffsetRef","offsetRef","middleware","currentPlacement","isTopBottomPlacement","includes","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","undefined","apply","sizeProps","availableHeight","refs","floating","Object","assign","firstChild","maxHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","reference","strategy","update","computedPlacement","middlewareData","arrow","arrowData","resultingReferenceRef","getBoundingClientRect","topRect","bottomRect","bottom","window","DOMRect","width","rect","left","right","height","parentNode","observer","MutationObserver","observe","attributes","disconnect","defaultView","addEventListener","updateFrameOffset","hasFrameElement","frameElement","removeEventListener","mergedFloatingRef","content","Number","isNaN","close","split","join","isFinite","ref","PopoverContainer","PopoverSlot","name","Slot","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip,\n\tshift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tgetFrameOffset,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n} from './utils';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = ( props ) => (\n\t<SVG\n\t\t{ ...props }\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst MaybeAnimatedWrapper = forwardRef(\n\t(\n\t\t{\n\t\t\tstyle: receivedInlineStyles,\n\t\t\tplacement,\n\t\t\tshouldAnimate = false,\n\t\t\t...props\n\t\t},\n\t\tforwardedRef\n\t) => {\n\t\tconst shouldReduceMotion = useReducedMotion();\n\n\t\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t\t() => placementToMotionAnimationProps( placement ),\n\t\t\t[ placement ]\n\t\t);\n\n\t\tif ( shouldAnimate && ! shouldReduceMotion ) {\n\t\t\treturn (\n\t\t\t\t<motion.div\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t\t...receivedInlineStyles,\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...otherMotionProps }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={ receivedInlineStyles }\n\t\t\t\t{ ...props }\n\t\t\t\tref={ forwardedRef }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nconst slotNameContext = createContext();\n\nconst Popover = (\n\t{\n\t\trange,\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableForcePosition = false,\n\t\t__unstableShift = false,\n\t\t...contentProps\n\t},\n\tforwardedRef\n) => {\n\tif ( range ) {\n\t\tdeprecated( 'range prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef( null );\n\tconst anchorRefFallback = useRef( null );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst referenceOwnerDocument = useMemo( () => {\n\t\tlet documentToReturn;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\tdocumentToReturn = anchorRef?.top.ownerDocument;\n\t\t} else if ( anchorRef?.startContainer ) {\n\t\t\tdocumentToReturn = anchorRef.startContainer.ownerDocument;\n\t\t} else if ( anchorRef?.current ) {\n\t\t\tdocumentToReturn = anchorRef.current.ownerDocument;\n\t\t} else if ( anchorRef ) {\n\t\t\t// This one should be deprecated.\n\t\t\tdocumentToReturn = anchorRef.ownerDocument;\n\t\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\t\tdocumentToReturn = anchorRect.ownerDocument;\n\t\t} else if ( getAnchorRect ) {\n\t\t\tdocumentToReturn = getAnchorRect(\n\t\t\t\tanchorRefFallback.current\n\t\t\t)?.ownerDocument;\n\t\t}\n\n\t\treturn documentToReturn ?? document;\n\t}, [ anchorRef, anchorRect, getAnchorRect ] );\n\n\t/**\n\t * Offsets the position of the popover when the anchor is inside an iframe.\n\t *\n\t * Store the offset in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst frameOffsetRef = useRef( getFrameOffset( referenceOwnerDocument ) );\n\t/**\n\t * Store the offset prop in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst offsetRef = useRef( offsetProp );\n\n\tconst middleware = [\n\t\toffsetMiddleware( ( { placement: currentPlacement } ) => {\n\t\t\tif ( ! frameOffsetRef.current ) {\n\t\t\t\treturn offsetRef.current;\n\t\t\t}\n\n\t\t\tconst isTopBottomPlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'bottom' );\n\n\t\t\t// The main axis should represent the gap between the\n\t\t\t// floating element and the reference element. The cross\n\t\t\t// axis is always perpendicular to the main axis.\n\t\t\tconst mainAxis = isTopBottomPlacement ? 'y' : 'x';\n\t\t\tconst crossAxis = mainAxis === 'x' ? 'y' : 'x';\n\n\t\t\t// When the popover is before the reference, subtract the offset,\n\t\t\t// of the main axis else add it.\n\t\t\tconst hasBeforePlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'left' );\n\t\t\tconst mainAxisModifier = hasBeforePlacement ? -1 : 1;\n\n\t\t\treturn {\n\t\t\t\tmainAxis:\n\t\t\t\t\toffsetRef.current +\n\t\t\t\t\tframeOffsetRef.current[ mainAxis ] * mainAxisModifier,\n\t\t\t\tcrossAxis: frameOffsetRef.current[ crossAxis ],\n\t\t\t};\n\t\t} ),\n\t\t__unstableForcePosition ? undefined : flip(),\n\t\t__unstableForcePosition\n\t\t\t? undefined\n\t\t\t: size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { availableHeight } = sizeProps;\n\t\t\t\t\t\tif ( ! refs.floating.current ) return;\n\t\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\t\tObject.assign( refs.floating.current.firstChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ availableHeight }px`,\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t } ),\n\t\t__unstableShift\n\t\t\t? shift( {\n\t\t\t\t\tcrossAxis: true,\n\t\t\t\t\tlimiter: limitShift(),\n\t\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t } )\n\t\t\t: undefined,\n\t\thasArrow ? arrow( { element: arrowRef } ) : undefined,\n\t].filter( ( m ) => !! m );\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type, event ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Callback refs (not regular refs). This allows the position to be updated.\n\t\t// when either elements change.\n\t\treference,\n\t\tfloating,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData = {} },\n\t} = useFloating( { placement: normalizedPlacementFromProps, middleware } );\n\n\tuseEffect( () => {\n\t\toffsetRef.current = offsetProp;\n\t\tupdate();\n\t}, [ offsetProp, update ] );\n\n\t// Update the `reference`'s ref.\n\t//\n\t// In floating-ui's terms:\n\t// - \"reference\" refers to the popover's anchor element.\n\t// - \"floating\" refers the floating popover's element.\n\t// A floating element can also be positioned relative to a virtual element,\n\t// instead of a real one. A virtual element is represented by an object\n\t// with the `getBoundingClientRect()` function (like real elements).\n\t// See https://floating-ui.com/docs/virtual-elements for more info.\n\tuseLayoutEffect( () => {\n\t\tlet resultingReferenceRef;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\t// Create a virtual element for the ref. The expectation is that\n\t\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst topRect = anchorRef.top.getBoundingClientRect();\n\t\t\t\t\tconst bottomRect = anchorRef.bottom.getBoundingClientRect();\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\ttopRect.x,\n\t\t\t\t\t\ttopRect.y,\n\t\t\t\t\t\ttopRect.width,\n\t\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRef?.current ) {\n\t\t\t// Standard React ref.\n\t\t\tresultingReferenceRef = anchorRef.current;\n\t\t} else if ( anchorRef ) {\n\t\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t\t// This is a weird scenario and should be deprecated.\n\t\t\tresultingReferenceRef = anchorRef;\n\t\t} else if ( anchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\treturn anchorRect;\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( getAnchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRefFallback.current ) {\n\t\t\t// If no explicit ref is passed via props, fall back to\n\t\t\t// anchoring to the popover's parent node.\n\t\t\tresultingReferenceRef = anchorRefFallback.current.parentNode;\n\t\t}\n\n\t\tif ( ! resultingReferenceRef ) {\n\t\t\treturn;\n\t\t}\n\n\t\treference( resultingReferenceRef );\n\n\t\tif ( ! refs.floating.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn autoUpdate(\n\t\t\tresultingReferenceRef,\n\t\t\trefs.floating.current,\n\t\t\tupdate\n\t\t);\n\t\t// 'reference' and 'refs.floating' are refs and don't need to be listed\n\t\t// as dependencies (see https://github.com/WordPress/gutenberg/pull/41612)\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ anchorRef, anchorRect, getAnchorRect, update ] );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\tuseLayoutEffect( () => {\n\t\tif ( ! __unstableObserveElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( update );\n\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ __unstableObserveElement, update ] );\n\n\t// If the reference element is in a different ownerDocument (e.g. iFrame),\n\t// we need to manually update the floating's position as the reference's owner\n\t// document scrolls. Also update the frame offset if the view resizes.\n\tuseLayoutEffect( () => {\n\t\tif ( referenceOwnerDocument === document ) {\n\t\t\tframeOffsetRef.current = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst { defaultView } = referenceOwnerDocument;\n\n\t\treferenceOwnerDocument.addEventListener( 'scroll', update );\n\n\t\tlet updateFrameOffset;\n\t\tconst hasFrameElement =\n\t\t\t!! referenceOwnerDocument?.defaultView?.frameElement;\n\t\tif ( hasFrameElement ) {\n\t\t\tupdateFrameOffset = () => {\n\t\t\t\tframeOffsetRef.current = getFrameOffset(\n\t\t\t\t\treferenceOwnerDocument\n\t\t\t\t);\n\t\t\t\tupdate();\n\t\t\t};\n\t\t\tupdateFrameOffset();\n\t\t\tdefaultView.addEventListener( 'resize', updateFrameOffset );\n\t\t}\n\n\t\treturn () => {\n\t\t\treferenceOwnerDocument.removeEventListener( 'scroll', update );\n\n\t\t\tif ( updateFrameOffset ) {\n\t\t\t\tdefaultView.removeEventListener( 'resize', updateFrameOffset );\n\t\t\t}\n\t\t};\n\t}, [ referenceOwnerDocument, update ] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\tfloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<MaybeAnimatedWrapper\n\t\t\tshouldAnimate={ animate && ! isExpanded }\n\t\t\tplacement={ computedPlacement }\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-alternate': isAlternate,\n\t\t\t} ) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t\tstyle={\n\t\t\t\tisExpanded\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\t\tleft: Number.isNaN( x ) ? 0 : x,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y,\n\t\t\t\t\t }\n\t\t\t}\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft: Number.isFinite( arrowData?.x )\n\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop: Number.isFinite( arrowData?.y )\n\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</MaybeAnimatedWrapper>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\n};\n\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}