@wordpress/components 20.0.0 → 21.0.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 (1021) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/CONTRIBUTING.md +5 -56
  3. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +13 -13
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  5. package/build/angle-picker-control/index.js +10 -0
  6. package/build/angle-picker-control/index.js.map +1 -1
  7. package/build/autocomplete/get-default-use-items.js +7 -1
  8. package/build/autocomplete/get-default-use-items.js.map +1 -1
  9. package/build/autocomplete/index.js +3 -1
  10. package/build/autocomplete/index.js.map +1 -1
  11. package/build/border-box-control/border-box-control/component.js +5 -1
  12. package/build/border-box-control/border-box-control/component.js.map +1 -1
  13. package/build/border-box-control/border-box-control-split-controls/component.js +5 -1
  14. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  15. package/build/border-control/border-control-dropdown/component.js +2 -1
  16. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  17. package/build/card/styles.js +17 -17
  18. package/build/card/styles.js.map +1 -1
  19. package/build/checkbox-control/index.js +3 -3
  20. package/build/checkbox-control/index.js.map +1 -1
  21. package/build/clipboard-button/index.js +16 -1
  22. package/build/clipboard-button/index.js.map +1 -1
  23. package/build/color-palette/index.js +7 -3
  24. package/build/color-palette/index.js.map +1 -1
  25. package/build/color-picker/input-with-slider.js +2 -1
  26. package/build/color-picker/input-with-slider.js.map +1 -1
  27. package/build/combobox-control/index.js +1 -1
  28. package/build/combobox-control/index.js.map +1 -1
  29. package/build/custom-gradient-picker/index.js +12 -1
  30. package/build/custom-gradient-picker/index.js.map +1 -1
  31. package/build/date-time/date/index.js +26 -7
  32. package/build/date-time/date/index.js.map +1 -1
  33. package/build/date-time/date/styles.js +22 -12
  34. package/build/date-time/date/styles.js.map +1 -1
  35. package/build/date-time/date-time/index.js +1 -3
  36. package/build/date-time/date-time/index.js.map +1 -1
  37. package/build/date-time/date-time/styles.js +19 -5
  38. package/build/date-time/date-time/styles.js.map +1 -1
  39. package/build/date-time/time/styles.js +12 -12
  40. package/build/date-time/time/styles.js.map +1 -1
  41. package/build/date-time/time/timezone.js +1 -1
  42. package/build/date-time/time/timezone.js.map +1 -1
  43. package/build/disabled/index.js +14 -6
  44. package/build/disabled/index.js.map +1 -1
  45. package/build/disabled/styles/disabled-styles.js +8 -18
  46. package/build/disabled/styles/disabled-styles.js.map +1 -1
  47. package/build/drop-zone/index.js +44 -9
  48. package/build/drop-zone/index.js.map +1 -1
  49. package/build/drop-zone/provider.js.map +1 -1
  50. package/build/drop-zone/types.js +6 -0
  51. package/build/drop-zone/types.js.map +1 -0
  52. package/build/dropdown-menu/index.js +1 -3
  53. package/build/dropdown-menu/index.js.map +1 -1
  54. package/build/dropdown-menu/index.native.js +0 -17
  55. package/build/dropdown-menu/index.native.js.map +1 -1
  56. package/build/flex/flex/hook.js +6 -30
  57. package/build/flex/flex/hook.js.map +1 -1
  58. package/build/focal-point-picker/controls.js +14 -9
  59. package/build/focal-point-picker/controls.js.map +1 -1
  60. package/build/focal-point-picker/focal-point.js +4 -6
  61. package/build/focal-point-picker/focal-point.js.map +1 -1
  62. package/build/focal-point-picker/grid.js +6 -35
  63. package/build/focal-point-picker/grid.js.map +1 -1
  64. package/build/focal-point-picker/index.js +225 -328
  65. package/build/focal-point-picker/index.js.map +1 -1
  66. package/build/focal-point-picker/media.js +5 -31
  67. package/build/focal-point-picker/media.js.map +1 -1
  68. package/build/focal-point-picker/styles/focal-point-picker-style.js +74 -45
  69. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  70. package/build/focal-point-picker/styles/focal-point-style.js +12 -12
  71. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  72. package/build/focal-point-picker/types.js +6 -0
  73. package/build/focal-point-picker/types.js.map +1 -0
  74. package/build/focal-point-picker/utils.js +8 -12
  75. package/build/focal-point-picker/utils.js.map +1 -1
  76. package/build/focusable-iframe/index.js +6 -0
  77. package/build/focusable-iframe/index.js.map +1 -1
  78. package/build/font-size-picker/index.js +11 -0
  79. package/build/font-size-picker/index.js.map +1 -1
  80. package/build/font-size-picker/utils.js +1 -1
  81. package/build/font-size-picker/utils.js.map +1 -1
  82. package/build/form-file-upload/index.js +22 -2
  83. package/build/form-file-upload/index.js.map +1 -1
  84. package/build/form-file-upload/types.js +6 -0
  85. package/build/form-file-upload/types.js.map +1 -0
  86. package/build/form-toggle/index.js +1 -3
  87. package/build/form-toggle/index.js.map +1 -1
  88. package/build/form-token-field/index.js +4 -6
  89. package/build/form-token-field/index.js.map +1 -1
  90. package/build/form-token-field/suggestions-list.js +1 -3
  91. package/build/form-token-field/suggestions-list.js.map +1 -1
  92. package/build/gradient-picker/index.js +35 -25
  93. package/build/gradient-picker/index.js.map +1 -1
  94. package/build/guide/index.js +8 -6
  95. package/build/guide/index.js.map +1 -1
  96. package/build/higher-order/with-constrained-tabbing/index.js +1 -1
  97. package/build/higher-order/with-constrained-tabbing/index.js.map +1 -1
  98. package/build/higher-order/with-spoken-messages/index.js +2 -0
  99. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  100. package/build/icon/index.js +1 -2
  101. package/build/icon/index.js.map +1 -1
  102. package/build/input-control/input-base.js +3 -2
  103. package/build/input-control/input-base.js.map +1 -1
  104. package/build/input-control/label.js +2 -2
  105. package/build/input-control/label.js.map +1 -1
  106. package/build/input-control/styles/input-control-styles.js +41 -128
  107. package/build/input-control/styles/input-control-styles.js.map +1 -1
  108. package/build/isolated-event-container/index.js +4 -0
  109. package/build/isolated-event-container/index.js.map +1 -1
  110. package/build/mobile/global-styles-context/utils.native.js +1 -1
  111. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  112. package/build/modal/aria-helper.js +3 -10
  113. package/build/modal/aria-helper.js.map +1 -1
  114. package/build/navigable-container/container.js +5 -1
  115. package/build/navigable-container/container.js.map +1 -1
  116. package/build/navigable-container/menu.js +10 -12
  117. package/build/navigable-container/menu.js.map +1 -1
  118. package/build/navigable-container/tabbable.js +2 -4
  119. package/build/navigable-container/tabbable.js.map +1 -1
  120. package/build/navigation/menu/menu-title-search.js +1 -3
  121. package/build/navigation/menu/menu-title-search.js.map +1 -1
  122. package/build/navigator/navigator-button/hook.js +1 -1
  123. package/build/navigator/navigator-button/hook.js.map +1 -1
  124. package/build/navigator/navigator-screen/component.js +2 -2
  125. package/build/navigator/navigator-screen/component.js.map +1 -1
  126. package/build/number-control/index.js +29 -25
  127. package/build/number-control/index.js.map +1 -1
  128. package/build/number-control/types.js +6 -0
  129. package/build/number-control/types.js.map +1 -0
  130. package/build/palette-edit/index.js +6 -2
  131. package/build/palette-edit/index.js.map +1 -1
  132. package/build/placeholder/index.js +1 -3
  133. package/build/placeholder/index.js.map +1 -1
  134. package/build/popover/index.js +162 -181
  135. package/build/popover/index.js.map +1 -1
  136. package/build/popover/types.js +6 -0
  137. package/build/popover/types.js.map +1 -0
  138. package/build/popover/utils.js +119 -24
  139. package/build/popover/utils.js.map +1 -1
  140. package/build/radio-control/index.js +7 -4
  141. package/build/radio-control/index.js.map +1 -1
  142. package/build/range-control/index.js +4 -1
  143. package/build/range-control/index.js.map +1 -1
  144. package/build/range-control/styles/range-control-styles.js +33 -33
  145. package/build/range-control/styles/range-control-styles.js.map +1 -1
  146. package/build/sandbox/index.js +2 -2
  147. package/build/sandbox/index.js.map +1 -1
  148. package/build/search-control/index.js +38 -10
  149. package/build/search-control/index.js.map +1 -1
  150. package/build/search-control/types.js +6 -0
  151. package/build/search-control/types.js.map +1 -0
  152. package/build/select-control/index.native.js +2 -1
  153. package/build/select-control/index.native.js.map +1 -1
  154. package/build/tab-panel/index.js +48 -9
  155. package/build/tab-panel/index.js.map +1 -1
  156. package/build/tab-panel/types.js +6 -0
  157. package/build/tab-panel/types.js.map +1 -0
  158. package/build/text-control/index.js +2 -0
  159. package/build/text-control/index.js.map +1 -1
  160. package/build/text-highlight/index.js +4 -4
  161. package/build/text-highlight/index.js.map +1 -1
  162. package/build/textarea-control/index.js +3 -3
  163. package/build/textarea-control/index.js.map +1 -1
  164. package/build/toggle-control/index.js +44 -4
  165. package/build/toggle-control/index.js.map +1 -1
  166. package/build/toggle-control/types.js +6 -0
  167. package/build/toggle-control/types.js.map +1 -0
  168. package/build/toggle-group-control/toggle-group-control/component.js +3 -3
  169. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  170. package/build/toggle-group-control/toggle-group-control/styles.js +23 -8
  171. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  172. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +1 -1
  173. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  174. package/build/tooltip/index.js +1 -1
  175. package/build/tooltip/index.js.map +1 -1
  176. package/build/ui/context/context-connect.js +31 -22
  177. package/build/ui/context/context-connect.js.map +1 -1
  178. package/build/ui/context/context-system-provider.js +4 -3
  179. package/build/ui/context/context-system-provider.js.map +1 -1
  180. package/build/unit-control/index.js +1 -1
  181. package/build/unit-control/index.js.map +1 -1
  182. package/build/unit-control/styles/unit-control-styles.js +9 -9
  183. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  184. package/build/utils/colors-values.js +2 -30
  185. package/build/utils/colors-values.js.map +1 -1
  186. package/build/utils/math.js +4 -4
  187. package/build/utils/math.js.map +1 -1
  188. package/build/utils/strings.js +13 -0
  189. package/build/utils/strings.js.map +1 -1
  190. package/build/utils/values.js +62 -6
  191. package/build/utils/values.js.map +1 -1
  192. package/build/view/component.js +6 -7
  193. package/build/view/component.js.map +1 -1
  194. package/build/view/types.js +6 -0
  195. package/build/view/types.js.map +1 -0
  196. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +13 -13
  197. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  198. package/build-module/angle-picker-control/index.js +9 -0
  199. package/build-module/angle-picker-control/index.js.map +1 -1
  200. package/build-module/autocomplete/get-default-use-items.js +6 -1
  201. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  202. package/build-module/autocomplete/index.js +2 -1
  203. package/build-module/autocomplete/index.js.map +1 -1
  204. package/build-module/border-box-control/border-box-control/component.js +5 -1
  205. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  206. package/build-module/border-box-control/border-box-control-split-controls/component.js +5 -1
  207. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  208. package/build-module/border-control/border-control-dropdown/component.js +2 -1
  209. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  210. package/build-module/card/styles.js +17 -17
  211. package/build-module/card/styles.js.map +1 -1
  212. package/build-module/checkbox-control/index.js +3 -3
  213. package/build-module/checkbox-control/index.js.map +1 -1
  214. package/build-module/clipboard-button/index.js +17 -1
  215. package/build-module/clipboard-button/index.js.map +1 -1
  216. package/build-module/color-palette/index.js +6 -3
  217. package/build-module/color-palette/index.js.map +1 -1
  218. package/build-module/color-picker/input-with-slider.js +2 -1
  219. package/build-module/color-picker/input-with-slider.js.map +1 -1
  220. package/build-module/combobox-control/index.js +1 -1
  221. package/build-module/combobox-control/index.js.map +1 -1
  222. package/build-module/custom-gradient-picker/index.js +11 -1
  223. package/build-module/custom-gradient-picker/index.js.map +1 -1
  224. package/build-module/date-time/date/index.js +29 -11
  225. package/build-module/date-time/date/index.js.map +1 -1
  226. package/build-module/date-time/date/styles.js +21 -5
  227. package/build-module/date-time/date/styles.js.map +1 -1
  228. package/build-module/date-time/date-time/index.js +2 -3
  229. package/build-module/date-time/date-time/index.js.map +1 -1
  230. package/build-module/date-time/date-time/styles.js +20 -1
  231. package/build-module/date-time/date-time/styles.js.map +1 -1
  232. package/build-module/date-time/time/styles.js +12 -12
  233. package/build-module/date-time/time/styles.js.map +1 -1
  234. package/build-module/date-time/time/timezone.js +1 -1
  235. package/build-module/date-time/time/timezone.js.map +1 -1
  236. package/build-module/disabled/index.js +16 -8
  237. package/build-module/disabled/index.js.map +1 -1
  238. package/build-module/disabled/styles/disabled-styles.js +6 -12
  239. package/build-module/disabled/styles/disabled-styles.js.map +1 -1
  240. package/build-module/drop-zone/index.js +40 -9
  241. package/build-module/drop-zone/index.js.map +1 -1
  242. package/build-module/drop-zone/provider.js.map +1 -1
  243. package/build-module/drop-zone/types.js +2 -0
  244. package/build-module/drop-zone/types.js.map +1 -0
  245. package/build-module/dropdown-menu/index.js +1 -2
  246. package/build-module/dropdown-menu/index.js.map +1 -1
  247. package/build-module/dropdown-menu/index.native.js +0 -16
  248. package/build-module/dropdown-menu/index.native.js.map +1 -1
  249. package/build-module/flex/flex/hook.js +7 -29
  250. package/build-module/flex/flex/hook.js.map +1 -1
  251. package/build-module/focal-point-picker/controls.js +15 -10
  252. package/build-module/focal-point-picker/controls.js.map +1 -1
  253. package/build-module/focal-point-picker/focal-point.js +4 -6
  254. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  255. package/build-module/focal-point-picker/grid.js +6 -34
  256. package/build-module/focal-point-picker/grid.js.map +1 -1
  257. package/build-module/focal-point-picker/index.js +222 -324
  258. package/build-module/focal-point-picker/index.js.map +1 -1
  259. package/build-module/focal-point-picker/media.js +6 -34
  260. package/build-module/focal-point-picker/media.js.map +1 -1
  261. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +71 -44
  262. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  263. package/build-module/focal-point-picker/styles/focal-point-style.js +12 -12
  264. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  265. package/build-module/focal-point-picker/types.js +2 -0
  266. package/build-module/focal-point-picker/types.js.map +1 -0
  267. package/build-module/focal-point-picker/utils.js +8 -12
  268. package/build-module/focal-point-picker/utils.js.map +1 -1
  269. package/build-module/focusable-iframe/index.js +6 -0
  270. package/build-module/focusable-iframe/index.js.map +1 -1
  271. package/build-module/font-size-picker/index.js +10 -0
  272. package/build-module/font-size-picker/index.js.map +1 -1
  273. package/build-module/font-size-picker/utils.js +1 -1
  274. package/build-module/font-size-picker/utils.js.map +1 -1
  275. package/build-module/form-file-upload/index.js +21 -4
  276. package/build-module/form-file-upload/index.js.map +1 -1
  277. package/build-module/form-file-upload/types.js +2 -0
  278. package/build-module/form-file-upload/types.js.map +1 -0
  279. package/build-module/form-toggle/index.js +1 -3
  280. package/build-module/form-toggle/index.js.map +1 -1
  281. package/build-module/form-token-field/index.js +4 -5
  282. package/build-module/form-token-field/index.js.map +1 -1
  283. package/build-module/form-token-field/suggestions-list.js +1 -2
  284. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  285. package/build-module/gradient-picker/index.js +34 -25
  286. package/build-module/gradient-picker/index.js.map +1 -1
  287. package/build-module/guide/index.js +8 -5
  288. package/build-module/guide/index.js.map +1 -1
  289. package/build-module/higher-order/with-constrained-tabbing/index.js +1 -1
  290. package/build-module/higher-order/with-constrained-tabbing/index.js.map +1 -1
  291. package/build-module/higher-order/with-spoken-messages/index.js +2 -0
  292. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  293. package/build-module/icon/index.js +1 -2
  294. package/build-module/icon/index.js.map +1 -1
  295. package/build-module/input-control/input-base.js +4 -3
  296. package/build-module/input-control/input-base.js.map +1 -1
  297. package/build-module/input-control/label.js +3 -3
  298. package/build-module/input-control/label.js.map +1 -1
  299. package/build-module/input-control/styles/input-control-styles.js +41 -127
  300. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  301. package/build-module/isolated-event-container/index.js +3 -0
  302. package/build-module/isolated-event-container/index.js.map +1 -1
  303. package/build-module/mobile/global-styles-context/utils.native.js +2 -2
  304. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  305. package/build-module/modal/aria-helper.js +3 -8
  306. package/build-module/modal/aria-helper.js.map +1 -1
  307. package/build-module/navigable-container/container.js +5 -1
  308. package/build-module/navigable-container/container.js.map +1 -1
  309. package/build-module/navigable-container/menu.js +10 -11
  310. package/build-module/navigable-container/menu.js.map +1 -1
  311. package/build-module/navigable-container/tabbable.js +2 -3
  312. package/build-module/navigable-container/tabbable.js.map +1 -1
  313. package/build-module/navigation/menu/menu-title-search.js +1 -2
  314. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  315. package/build-module/navigator/navigator-button/hook.js +1 -1
  316. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  317. package/build-module/navigator/navigator-screen/component.js +2 -2
  318. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  319. package/build-module/number-control/index.js +31 -23
  320. package/build-module/number-control/index.js.map +1 -1
  321. package/build-module/number-control/types.js +2 -0
  322. package/build-module/number-control/types.js.map +1 -0
  323. package/build-module/palette-edit/index.js +6 -2
  324. package/build-module/palette-edit/index.js.map +1 -1
  325. package/build-module/placeholder/index.js +1 -3
  326. package/build-module/placeholder/index.js.map +1 -1
  327. package/build-module/popover/index.js +164 -183
  328. package/build-module/popover/index.js.map +1 -1
  329. package/build-module/popover/types.js +2 -0
  330. package/build-module/popover/types.js.map +1 -0
  331. package/build-module/popover/utils.js +112 -23
  332. package/build-module/popover/utils.js.map +1 -1
  333. package/build-module/radio-control/index.js +7 -5
  334. package/build-module/radio-control/index.js.map +1 -1
  335. package/build-module/range-control/index.js +4 -1
  336. package/build-module/range-control/index.js.map +1 -1
  337. package/build-module/range-control/styles/range-control-styles.js +33 -33
  338. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  339. package/build-module/sandbox/index.js +2 -2
  340. package/build-module/sandbox/index.js.map +1 -1
  341. package/build-module/search-control/index.js +34 -7
  342. package/build-module/search-control/index.js.map +1 -1
  343. package/build-module/search-control/types.js +2 -0
  344. package/build-module/search-control/types.js.map +1 -0
  345. package/build-module/select-control/index.native.js +1 -1
  346. package/build-module/select-control/index.native.js.map +1 -1
  347. package/build-module/tab-panel/index.js +46 -10
  348. package/build-module/tab-panel/index.js.map +1 -1
  349. package/build-module/tab-panel/types.js +2 -0
  350. package/build-module/tab-panel/types.js.map +1 -0
  351. package/build-module/text-control/index.js +2 -0
  352. package/build-module/text-control/index.js.map +1 -1
  353. package/build-module/text-highlight/index.js +2 -5
  354. package/build-module/text-highlight/index.js.map +1 -1
  355. package/build-module/textarea-control/index.js +3 -3
  356. package/build-module/textarea-control/index.js.map +1 -1
  357. package/build-module/toggle-control/index.js +38 -4
  358. package/build-module/toggle-control/index.js.map +1 -1
  359. package/build-module/toggle-control/types.js +2 -0
  360. package/build-module/toggle-control/types.js.map +1 -0
  361. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -3
  362. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  363. package/build-module/toggle-group-control/toggle-group-control/styles.js +20 -6
  364. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  365. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -1
  366. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  367. package/build-module/tooltip/index.js +1 -1
  368. package/build-module/tooltip/index.js.map +1 -1
  369. package/build-module/ui/context/context-connect.js +30 -23
  370. package/build-module/ui/context/context-connect.js.map +1 -1
  371. package/build-module/ui/context/context-system-provider.js +5 -4
  372. package/build-module/ui/context/context-system-provider.js.map +1 -1
  373. package/build-module/unit-control/index.js +1 -1
  374. package/build-module/unit-control/index.js.map +1 -1
  375. package/build-module/unit-control/styles/unit-control-styles.js +9 -9
  376. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  377. package/build-module/utils/colors-values.js +2 -30
  378. package/build-module/utils/colors-values.js.map +1 -1
  379. package/build-module/utils/math.js +4 -4
  380. package/build-module/utils/math.js.map +1 -1
  381. package/build-module/utils/strings.js +11 -0
  382. package/build-module/utils/strings.js.map +1 -1
  383. package/build-module/utils/values.js +48 -6
  384. package/build-module/utils/values.js.map +1 -1
  385. package/build-module/view/component.js +5 -8
  386. package/build-module/view/component.js.map +1 -1
  387. package/build-module/view/types.js +2 -0
  388. package/build-module/view/types.js.map +1 -0
  389. package/build-style/style-rtl.css +4 -49
  390. package/build-style/style.css +4 -49
  391. package/build-types/animation/index.d.ts +2 -0
  392. package/build-types/animation/index.d.ts.map +1 -0
  393. package/build-types/base-field/hook.d.ts +54 -55
  394. package/build-types/base-field/hook.d.ts.map +1 -1
  395. package/build-types/border-box-control/border-box-control/component.d.ts +10 -2
  396. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  397. package/build-types/border-box-control/border-box-control/hook.d.ts +56 -57
  398. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  399. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +2 -1
  400. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  401. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +55 -56
  402. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  403. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +9 -2
  404. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  405. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +56 -57
  406. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  407. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +2 -1
  408. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -1
  409. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +55 -56
  410. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  411. package/build-types/border-box-control/types.d.ts +5 -4
  412. package/build-types/border-box-control/types.d.ts.map +1 -1
  413. package/build-types/border-control/border-control/component.d.ts +14 -2
  414. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  415. package/build-types/border-control/border-control/hook.d.ts +56 -57
  416. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  417. package/build-types/border-control/border-control-dropdown/component.d.ts +10 -2
  418. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  419. package/build-types/border-control/border-control-dropdown/hook.d.ts +56 -57
  420. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  421. package/build-types/border-control/border-control-style-picker/component.d.ts +6 -2
  422. package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
  423. package/build-types/border-control/border-control-style-picker/hook.d.ts +55 -56
  424. package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -1
  425. package/build-types/border-control/stories/index.d.ts +74 -6
  426. package/build-types/border-control/stories/index.d.ts.map +1 -1
  427. package/build-types/border-control/types.d.ts +6 -8
  428. package/build-types/border-control/types.d.ts.map +1 -1
  429. package/build-types/button-group/index.d.ts +1 -3
  430. package/build-types/button-group/index.d.ts.map +1 -1
  431. package/build-types/card/card/component.d.ts +9 -2
  432. package/build-types/card/card/component.d.ts.map +1 -1
  433. package/build-types/card/card/hook.d.ts +55 -56
  434. package/build-types/card/card/hook.d.ts.map +1 -1
  435. package/build-types/card/card-body/component.d.ts +9 -2
  436. package/build-types/card/card-body/component.d.ts.map +1 -1
  437. package/build-types/card/card-body/hook.d.ts +55 -56
  438. package/build-types/card/card-body/hook.d.ts.map +1 -1
  439. package/build-types/card/card-divider/component.d.ts +7 -2
  440. package/build-types/card/card-divider/component.d.ts.map +1 -1
  441. package/build-types/card/card-divider/hook.d.ts +55 -55
  442. package/build-types/card/card-footer/component.d.ts +11 -2
  443. package/build-types/card/card-footer/component.d.ts.map +1 -1
  444. package/build-types/card/card-footer/hook.d.ts +55 -56
  445. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  446. package/build-types/card/card-header/component.d.ts +1 -1
  447. package/build-types/card/card-header/component.d.ts.map +1 -1
  448. package/build-types/card/card-header/hook.d.ts +55 -56
  449. package/build-types/card/card-header/hook.d.ts.map +1 -1
  450. package/build-types/card/card-media/component.d.ts +2 -1
  451. package/build-types/card/card-media/component.d.ts.map +1 -1
  452. package/build-types/card/card-media/hook.d.ts +55 -56
  453. package/build-types/card/card-media/hook.d.ts.map +1 -1
  454. package/build-types/checkbox-control/index.d.ts +1 -1
  455. package/build-types/checkbox-control/index.d.ts.map +1 -1
  456. package/build-types/checkbox-control/stories/index.d.ts.map +1 -1
  457. package/build-types/checkbox-control/types.d.ts +1 -1
  458. package/build-types/checkbox-control/types.d.ts.map +1 -1
  459. package/build-types/clipboard-button/index.d.ts +16 -0
  460. package/build-types/clipboard-button/index.d.ts.map +1 -0
  461. package/build-types/color-indicator/index.d.ts +1 -3
  462. package/build-types/color-indicator/index.d.ts.map +1 -1
  463. package/build-types/color-palette/index.d.ts.map +1 -1
  464. package/build-types/color-palette/styles.d.ts +1 -3
  465. package/build-types/color-palette/styles.d.ts.map +1 -1
  466. package/build-types/color-picker/component.d.ts +2 -1
  467. package/build-types/color-picker/component.d.ts.map +1 -1
  468. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  469. package/build-types/color-picker/styles.d.ts +12 -25
  470. package/build-types/color-picker/styles.d.ts.map +1 -1
  471. package/build-types/composite/index.d.ts +2 -0
  472. package/build-types/composite/index.d.ts.map +1 -0
  473. package/build-types/confirm-dialog/component.d.ts +4 -8
  474. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  475. package/build-types/date-time/date/index.d.ts +1 -1
  476. package/build-types/date-time/date/index.d.ts.map +1 -1
  477. package/build-types/date-time/date/styles.d.ts +8 -8
  478. package/build-types/date-time/date/styles.d.ts.map +1 -1
  479. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  480. package/build-types/date-time/date-time/styles.d.ts +11 -0
  481. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  482. package/build-types/date-time/time/styles.d.ts +21 -43
  483. package/build-types/date-time/time/styles.d.ts.map +1 -1
  484. package/build-types/disabled/index.d.ts +1 -1
  485. package/build-types/disabled/index.d.ts.map +1 -1
  486. package/build-types/disabled/styles/disabled-styles.d.ts +1 -5
  487. package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
  488. package/build-types/disclosure/index.d.ts +2 -0
  489. package/build-types/disclosure/index.d.ts.map +1 -0
  490. package/build-types/divider/component.d.ts +7 -2
  491. package/build-types/divider/component.d.ts.map +1 -1
  492. package/build-types/drop-zone/index.d.ts +29 -0
  493. package/build-types/drop-zone/index.d.ts.map +1 -0
  494. package/build-types/drop-zone/provider.d.ts +5 -0
  495. package/build-types/drop-zone/provider.d.ts.map +1 -0
  496. package/build-types/drop-zone/stories/index.d.ts +12 -0
  497. package/build-types/drop-zone/stories/index.d.ts.map +1 -0
  498. package/build-types/drop-zone/types.d.ts +29 -0
  499. package/build-types/drop-zone/types.d.ts.map +1 -0
  500. package/build-types/dropdown/dropdown-content-wrapper.d.ts +2 -1
  501. package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -1
  502. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  503. package/build-types/elevation/component.d.ts +2 -1
  504. package/build-types/elevation/component.d.ts.map +1 -1
  505. package/build-types/elevation/hook.d.ts +54 -55
  506. package/build-types/elevation/hook.d.ts.map +1 -1
  507. package/build-types/external-link/index.d.ts +1 -1
  508. package/build-types/external-link/index.d.ts.map +1 -1
  509. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  510. package/build-types/flex/flex/component.d.ts +2 -1
  511. package/build-types/flex/flex/component.d.ts.map +1 -1
  512. package/build-types/flex/flex/hook.d.ts +55 -56
  513. package/build-types/flex/flex/hook.d.ts.map +1 -1
  514. package/build-types/flex/flex-block/component.d.ts +2 -1
  515. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  516. package/build-types/flex/flex-block/hook.d.ts +55 -56
  517. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  518. package/build-types/flex/flex-item/component.d.ts +2 -1
  519. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  520. package/build-types/flex/flex-item/hook.d.ts +55 -56
  521. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  522. package/build-types/focal-point-picker/controls.d.ts +4 -0
  523. package/build-types/focal-point-picker/controls.d.ts.map +1 -0
  524. package/build-types/focal-point-picker/focal-point.d.ts +5 -0
  525. package/build-types/focal-point-picker/focal-point.d.ts.map +1 -0
  526. package/build-types/focal-point-picker/grid.d.ts +5 -0
  527. package/build-types/focal-point-picker/grid.d.ts.map +1 -0
  528. package/build-types/focal-point-picker/index.d.ts +51 -0
  529. package/build-types/focal-point-picker/index.d.ts.map +1 -0
  530. package/build-types/focal-point-picker/media.d.ts +4 -0
  531. package/build-types/focal-point-picker/media.d.ts.map +1 -0
  532. package/build-types/focal-point-picker/stories/index.d.ts +15 -0
  533. package/build-types/focal-point-picker/stories/index.d.ts.map +1 -0
  534. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +56 -0
  535. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -0
  536. package/build-types/focal-point-picker/styles/focal-point-style.d.ts +19 -0
  537. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -0
  538. package/build-types/focal-point-picker/types.d.ts +79 -0
  539. package/build-types/focal-point-picker/types.d.ts.map +1 -0
  540. package/build-types/focal-point-picker/utils.d.ts +26 -0
  541. package/build-types/focal-point-picker/utils.d.ts.map +1 -0
  542. package/build-types/focusable-iframe/index.d.ts +8 -0
  543. package/build-types/focusable-iframe/index.d.ts.map +1 -0
  544. package/build-types/form-file-upload/index.d.ts +22 -0
  545. package/build-types/form-file-upload/index.d.ts.map +1 -0
  546. package/build-types/form-file-upload/stories/index.d.ts +23 -0
  547. package/build-types/form-file-upload/stories/index.d.ts.map +1 -0
  548. package/build-types/form-file-upload/test/index.d.ts +2 -0
  549. package/build-types/form-file-upload/test/index.d.ts.map +1 -0
  550. package/build-types/form-file-upload/types.d.ts +63 -0
  551. package/build-types/form-file-upload/types.d.ts.map +1 -0
  552. package/build-types/form-toggle/index.d.ts +1 -1
  553. package/build-types/form-toggle/index.d.ts.map +1 -1
  554. package/build-types/form-token-field/index.d.ts.map +1 -1
  555. package/build-types/form-token-field/styles.d.ts +1 -3
  556. package/build-types/form-token-field/styles.d.ts.map +1 -1
  557. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  558. package/build-types/form-token-field/token-input.d.ts +1 -3
  559. package/build-types/form-token-field/token-input.d.ts.map +1 -1
  560. package/build-types/grid/component.d.ts +2 -1
  561. package/build-types/grid/component.d.ts.map +1 -1
  562. package/build-types/grid/hook.d.ts +55 -56
  563. package/build-types/grid/hook.d.ts.map +1 -1
  564. package/build-types/h-stack/component.d.ts +5 -2
  565. package/build-types/h-stack/component.d.ts.map +1 -1
  566. package/build-types/h-stack/hook.d.ts +55 -56
  567. package/build-types/h-stack/hook.d.ts.map +1 -1
  568. package/build-types/heading/component.d.ts +4 -2
  569. package/build-types/heading/component.d.ts.map +1 -1
  570. package/build-types/heading/hook.d.ts +54 -55
  571. package/build-types/heading/hook.d.ts.map +1 -1
  572. package/build-types/higher-order/with-constrained-tabbing/index.d.ts +3 -0
  573. package/build-types/higher-order/with-constrained-tabbing/index.d.ts.map +1 -0
  574. package/build-types/higher-order/with-spoken-messages/index.d.ts +4 -0
  575. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -0
  576. package/build-types/input-control/index.d.ts +1 -1
  577. package/build-types/input-control/index.d.ts.map +1 -1
  578. package/build-types/input-control/input-base.d.ts.map +1 -1
  579. package/build-types/input-control/input-field.d.ts +1 -3
  580. package/build-types/input-control/input-field.d.ts.map +1 -1
  581. package/build-types/input-control/input-prefix-wrapper.d.ts +2 -1
  582. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  583. package/build-types/input-control/input-suffix-wrapper.d.ts +2 -1
  584. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  585. package/build-types/input-control/label.d.ts.map +1 -1
  586. package/build-types/input-control/stories/index.d.ts +5 -5
  587. package/build-types/input-control/stories/index.d.ts.map +1 -1
  588. package/build-types/input-control/styles/input-control-styles.d.ts +2 -6
  589. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  590. package/build-types/input-control/types.d.ts +3 -0
  591. package/build-types/input-control/types.d.ts.map +1 -1
  592. package/build-types/isolated-event-container/index.d.ts +3 -0
  593. package/build-types/isolated-event-container/index.d.ts.map +1 -0
  594. package/build-types/item-group/item/component.d.ts +2 -1
  595. package/build-types/item-group/item/component.d.ts.map +1 -1
  596. package/build-types/item-group/item/hook.d.ts +54 -55
  597. package/build-types/item-group/item/hook.d.ts.map +1 -1
  598. package/build-types/item-group/item-group/component.d.ts +2 -1
  599. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  600. package/build-types/item-group/item-group/hook.d.ts +54 -55
  601. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  602. package/build-types/mobile/inserter-button/sparkles.d.ts +3 -0
  603. package/build-types/mobile/inserter-button/sparkles.d.ts.map +1 -0
  604. package/build-types/modal/aria-helper.d.ts.map +1 -1
  605. package/build-types/navigable-container/menu.d.ts.map +1 -1
  606. package/build-types/navigable-container/tabbable.d.ts.map +1 -1
  607. package/build-types/navigator/navigator-back-button/component.d.ts +4 -2
  608. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  609. package/build-types/navigator/navigator-back-button/hook.d.ts +59 -60
  610. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  611. package/build-types/navigator/navigator-button/component.d.ts +7 -2
  612. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  613. package/build-types/navigator/navigator-button/hook.d.ts +59 -60
  614. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  615. package/build-types/navigator/navigator-provider/component.d.ts +2 -1
  616. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  617. package/build-types/navigator/navigator-screen/component.d.ts +1 -1
  618. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  619. package/build-types/number-control/index.d.ts +10 -28
  620. package/build-types/number-control/index.d.ts.map +1 -1
  621. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  622. package/build-types/number-control/types.d.ts +72 -0
  623. package/build-types/number-control/types.d.ts.map +1 -0
  624. package/build-types/placeholder/index.d.ts +1 -1
  625. package/build-types/placeholder/index.d.ts.map +1 -1
  626. package/build-types/popover/index.d.ts +28 -25
  627. package/build-types/popover/index.d.ts.map +1 -1
  628. package/build-types/popover/stories/index.d.ts +12 -0
  629. package/build-types/popover/stories/index.d.ts.map +1 -0
  630. package/build-types/popover/types.d.ts +161 -0
  631. package/build-types/popover/types.d.ts.map +1 -0
  632. package/build-types/popover/utils.d.ts +42 -24
  633. package/build-types/popover/utils.d.ts.map +1 -1
  634. package/build-types/radio-context/index.d.ts +6 -0
  635. package/build-types/radio-context/index.d.ts.map +1 -0
  636. package/build-types/radio-control/index.d.ts +1 -1
  637. package/build-types/radio-control/index.d.ts.map +1 -1
  638. package/build-types/range-control/index.d.ts +2 -4
  639. package/build-types/range-control/index.d.ts.map +1 -1
  640. package/build-types/range-control/input-range.d.ts +2 -4
  641. package/build-types/range-control/input-range.d.ts.map +1 -1
  642. package/build-types/range-control/styles/range-control-styles.d.ts +5 -10
  643. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  644. package/build-types/resizable-box/index.d.ts +1 -1
  645. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  646. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  647. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +1 -3
  648. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  649. package/build-types/scrollable/component.d.ts +2 -1
  650. package/build-types/scrollable/component.d.ts.map +1 -1
  651. package/build-types/scrollable/hook.d.ts +55 -56
  652. package/build-types/scrollable/hook.d.ts.map +1 -1
  653. package/build-types/search-control/index.d.ts +29 -0
  654. package/build-types/search-control/index.d.ts.map +1 -0
  655. package/build-types/search-control/stories/index.d.ts +47 -0
  656. package/build-types/search-control/stories/index.d.ts.map +1 -0
  657. package/build-types/search-control/types.d.ts +39 -0
  658. package/build-types/search-control/types.d.ts.map +1 -0
  659. package/build-types/select-control/index.d.ts +1 -3
  660. package/build-types/select-control/index.d.ts.map +1 -1
  661. package/build-types/select-control/stories/index.d.ts +2 -6
  662. package/build-types/select-control/stories/index.d.ts.map +1 -1
  663. package/build-types/select-control/styles/select-control-styles.d.ts +1 -3
  664. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  665. package/build-types/spacer/component.d.ts +2 -1
  666. package/build-types/spacer/component.d.ts.map +1 -1
  667. package/build-types/spacer/hook.d.ts +55 -56
  668. package/build-types/spacer/hook.d.ts.map +1 -1
  669. package/build-types/spinner/index.d.ts +1 -3
  670. package/build-types/spinner/index.d.ts.map +1 -1
  671. package/build-types/surface/component.d.ts +2 -1
  672. package/build-types/surface/component.d.ts.map +1 -1
  673. package/build-types/surface/hook.d.ts +55 -56
  674. package/build-types/surface/hook.d.ts.map +1 -1
  675. package/build-types/tab-panel/index.d.ts +42 -0
  676. package/build-types/tab-panel/index.d.ts.map +1 -0
  677. package/build-types/tab-panel/stories/index.d.ts +12 -0
  678. package/build-types/tab-panel/stories/index.d.ts.map +1 -0
  679. package/build-types/tab-panel/test/index.d.ts +2 -0
  680. package/build-types/tab-panel/test/index.d.ts.map +1 -0
  681. package/build-types/tab-panel/types.d.ts +64 -0
  682. package/build-types/tab-panel/types.d.ts.map +1 -0
  683. package/build-types/text/component.d.ts +1 -1
  684. package/build-types/text/component.d.ts.map +1 -1
  685. package/build-types/text/hook.d.ts +55 -56
  686. package/build-types/text/hook.d.ts.map +1 -1
  687. package/build-types/text-control/index.d.ts +2 -4
  688. package/build-types/text-control/index.d.ts.map +1 -1
  689. package/build-types/text-control/types.d.ts +1 -1
  690. package/build-types/text-control/types.d.ts.map +1 -1
  691. package/build-types/text-highlight/index.d.ts +0 -3
  692. package/build-types/text-highlight/index.d.ts.map +1 -1
  693. package/build-types/textarea-control/index.d.ts +1 -1
  694. package/build-types/textarea-control/index.d.ts.map +1 -1
  695. package/build-types/textarea-control/types.d.ts +1 -1
  696. package/build-types/textarea-control/types.d.ts.map +1 -1
  697. package/build-types/toggle-control/index.d.ts +26 -0
  698. package/build-types/toggle-control/index.d.ts.map +1 -0
  699. package/build-types/toggle-control/stories/index.d.ts +13 -0
  700. package/build-types/toggle-control/stories/index.d.ts.map +1 -0
  701. package/build-types/toggle-control/test/index.d.ts +2 -0
  702. package/build-types/toggle-control/test/index.d.ts.map +1 -0
  703. package/build-types/toggle-control/types.d.ts +20 -0
  704. package/build-types/toggle-control/types.d.ts.map +1 -0
  705. package/build-types/toggle-group-control/stories/index.d.ts +4 -2
  706. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -1
  707. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +12 -2
  708. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  709. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +4 -0
  710. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  711. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +2 -4
  712. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  713. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +2 -1
  714. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  715. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +3 -5
  716. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  717. package/build-types/toggle-group-control/types.d.ts +2 -2
  718. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  719. package/build-types/tools-panel/tools-panel/component.d.ts +2 -1
  720. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  721. package/build-types/tools-panel/tools-panel/hook.d.ts +55 -56
  722. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  723. package/build-types/tools-panel/tools-panel-header/component.d.ts +2 -1
  724. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  725. package/build-types/tools-panel/tools-panel-header/hook.d.ts +55 -56
  726. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  727. package/build-types/tools-panel/tools-panel-item/component.d.ts +6 -2
  728. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  729. package/build-types/tools-panel/tools-panel-item/hook.d.ts +55 -56
  730. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  731. package/build-types/truncate/component.d.ts +2 -1
  732. package/build-types/truncate/component.d.ts.map +1 -1
  733. package/build-types/truncate/hook.d.ts +55 -56
  734. package/build-types/truncate/hook.d.ts.map +1 -1
  735. package/build-types/ui/context/context-connect.d.ts +10 -9
  736. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  737. package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
  738. package/build-types/ui/context/test/context-connect.d.ts +2 -0
  739. package/build-types/ui/context/test/context-connect.d.ts.map +1 -0
  740. package/build-types/ui/context/test/wordpress-component.d.ts +2 -0
  741. package/build-types/ui/context/test/wordpress-component.d.ts.map +1 -0
  742. package/build-types/ui/context/wordpress-component.d.ts +8 -9
  743. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  744. package/build-types/ui/control-group/component.d.ts +4 -1
  745. package/build-types/ui/control-group/component.d.ts.map +1 -1
  746. package/build-types/ui/control-group/hook.d.ts +55 -56
  747. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  748. package/build-types/ui/control-label/component.d.ts +4 -1
  749. package/build-types/ui/control-label/component.d.ts.map +1 -1
  750. package/build-types/ui/control-label/hook.d.ts +55 -56
  751. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  752. package/build-types/ui/form-group/form-group.d.ts +4 -8
  753. package/build-types/ui/form-group/form-group.d.ts.map +1 -1
  754. package/build-types/ui/form-group/use-form-group.d.ts +112 -114
  755. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  756. package/build-types/ui/shortcut/component.d.ts +2 -1
  757. package/build-types/ui/shortcut/component.d.ts.map +1 -1
  758. package/build-types/ui/spinner/component.d.ts +1 -1
  759. package/build-types/ui/tooltip/component.d.ts +11 -1
  760. package/build-types/ui/tooltip/component.d.ts.map +1 -1
  761. package/build-types/ui/tooltip/content.d.ts +7 -1
  762. package/build-types/ui/tooltip/styles.d.ts +1 -3
  763. package/build-types/ui/tooltip/styles.d.ts.map +1 -1
  764. package/build-types/unit-control/index.d.ts +2 -12
  765. package/build-types/unit-control/index.d.ts.map +1 -1
  766. package/build-types/unit-control/stories/index.d.ts.map +1 -1
  767. package/build-types/unit-control/styles/unit-control-styles.d.ts +5 -10
  768. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  769. package/build-types/unit-control/types.d.ts +3 -35
  770. package/build-types/unit-control/types.d.ts.map +1 -1
  771. package/build-types/utils/colors-values.d.ts +0 -18
  772. package/build-types/utils/colors-values.d.ts.map +1 -1
  773. package/build-types/utils/math.d.ts +6 -6
  774. package/build-types/utils/math.d.ts.map +1 -1
  775. package/build-types/utils/strings.d.ts +8 -0
  776. package/build-types/utils/strings.d.ts.map +1 -1
  777. package/build-types/utils/values.d.ts +10 -8
  778. package/build-types/utils/values.d.ts.map +1 -1
  779. package/build-types/v-stack/component.d.ts +8 -2
  780. package/build-types/v-stack/component.d.ts.map +1 -1
  781. package/build-types/v-stack/hook.d.ts +55 -56
  782. package/build-types/v-stack/hook.d.ts.map +1 -1
  783. package/build-types/v-stack/stories/index.d.ts +8 -1
  784. package/build-types/v-stack/stories/index.d.ts.map +1 -1
  785. package/build-types/view/component.d.ts +8 -6
  786. package/build-types/view/component.d.ts.map +1 -1
  787. package/build-types/view/stories/index.d.ts +12 -0
  788. package/build-types/view/stories/index.d.ts.map +1 -0
  789. package/build-types/view/types.d.ts +8 -0
  790. package/build-types/view/types.d.ts.map +1 -0
  791. package/build-types/visually-hidden/component.d.ts +2 -1
  792. package/build-types/visually-hidden/component.d.ts.map +1 -1
  793. package/build-types/z-stack/component.d.ts +2 -1
  794. package/build-types/z-stack/component.d.ts.map +1 -1
  795. package/package.json +17 -17
  796. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +2 -1
  797. package/src/angle-picker-control/README.md +9 -1
  798. package/src/angle-picker-control/index.js +12 -0
  799. package/src/angle-picker-control/stories/index.js +3 -3
  800. package/src/autocomplete/get-default-use-items.js +6 -1
  801. package/src/autocomplete/index.js +2 -1
  802. package/src/base-field/test/__snapshots__/index.js.snap +3 -5
  803. package/src/border-box-control/border-box-control/component.tsx +9 -2
  804. package/src/border-box-control/border-box-control-split-controls/component.tsx +8 -2
  805. package/src/border-box-control/types.ts +5 -4
  806. package/src/border-control/border-control-dropdown/component.tsx +3 -8
  807. package/src/border-control/types.ts +7 -9
  808. package/src/card/styles.ts +1 -1
  809. package/src/card/test/__snapshots__/index.tsx.snap +39 -51
  810. package/src/checkbox-control/index.tsx +3 -6
  811. package/src/checkbox-control/stories/index.tsx +6 -2
  812. package/src/checkbox-control/types.ts +4 -1
  813. package/src/clipboard-button/index.js +13 -0
  814. package/src/color-palette/index.js +9 -6
  815. package/src/color-palette/style.scss +0 -14
  816. package/src/color-palette/test/__snapshots__/index.js.snap +78 -95
  817. package/src/color-picker/input-with-slider.tsx +1 -0
  818. package/src/combobox-control/index.js +1 -1
  819. package/src/combobox-control/test/index.js +311 -0
  820. package/src/custom-gradient-picker/index.js +13 -1
  821. package/src/custom-gradient-picker/stories/index.js +3 -0
  822. package/src/date-time/date/index.tsx +28 -8
  823. package/src/date-time/date/styles.ts +6 -0
  824. package/src/date-time/date/test/index.tsx +6 -2
  825. package/src/date-time/date-time/index.tsx +3 -4
  826. package/src/date-time/date-time/styles.ts +9 -0
  827. package/src/date-time/time/styles.ts +1 -0
  828. package/src/date-time/time/timezone.tsx +1 -1
  829. package/src/dimension-control/test/__snapshots__/index.test.js.snap +1122 -164
  830. package/src/dimension-control/test/index.test.js +29 -38
  831. package/src/disabled/index.tsx +27 -9
  832. package/src/disabled/styles/disabled-styles.tsx +2 -2
  833. package/src/disabled/test/index.tsx +38 -0
  834. package/src/drop-zone/README.md +3 -3
  835. package/src/drop-zone/{index.js → index.tsx} +48 -13
  836. package/src/drop-zone/{provider.js → provider.ts} +5 -1
  837. package/src/drop-zone/stories/index.tsx +30 -0
  838. package/src/drop-zone/types.ts +29 -0
  839. package/src/dropdown/README.md +6 -4
  840. package/src/dropdown/stories/index.js +1 -1
  841. package/src/dropdown-menu/index.js +1 -2
  842. package/src/dropdown-menu/index.native.js +0 -13
  843. package/src/dropdown-menu/test/index.js +54 -58
  844. package/src/flex/flex/hook.ts +5 -54
  845. package/src/flex/test/__snapshots__/index.tsx.snap +7 -15
  846. package/src/focal-point-picker/README.md +5 -8
  847. package/src/focal-point-picker/controls.tsx +94 -0
  848. package/src/focal-point-picker/{focal-point.js → focal-point.tsx} +6 -6
  849. package/src/focal-point-picker/grid.tsx +31 -0
  850. package/src/focal-point-picker/index.tsx +286 -0
  851. package/src/focal-point-picker/{media.js → media.tsx} +10 -28
  852. package/src/focal-point-picker/stories/index.tsx +93 -0
  853. package/src/focal-point-picker/styles/{focal-point-picker-style.js → focal-point-picker-style.ts} +35 -12
  854. package/src/focal-point-picker/styles/{focal-point-style.js → focal-point-style.ts} +2 -1
  855. package/src/focal-point-picker/test/index.js +28 -8
  856. package/src/focal-point-picker/types.ts +93 -0
  857. package/src/focal-point-picker/{utils.js → utils.ts} +11 -15
  858. package/src/focusable-iframe/index.js +5 -0
  859. package/src/font-size-picker/README.md +9 -0
  860. package/src/font-size-picker/index.js +9 -0
  861. package/src/font-size-picker/stories/index.js +3 -5
  862. package/src/font-size-picker/test/index.js +15 -2
  863. package/src/font-size-picker/test/utils.js +1 -2
  864. package/src/font-size-picker/utils.js +1 -1
  865. package/src/form-file-upload/README.md +6 -1
  866. package/src/form-file-upload/{index.js → index.tsx} +22 -4
  867. package/src/form-file-upload/stories/index.tsx +74 -0
  868. package/src/form-file-upload/test/{index.js → index.tsx} +7 -3
  869. package/src/form-file-upload/types.ts +63 -0
  870. package/src/form-toggle/index.tsx +1 -6
  871. package/src/form-token-field/index.tsx +4 -5
  872. package/src/form-token-field/suggestions-list.tsx +1 -2
  873. package/src/gradient-picker/README.md +9 -0
  874. package/src/gradient-picker/index.js +50 -47
  875. package/src/gradient-picker/stories/index.js +11 -0
  876. package/src/guide/index.js +6 -3
  877. package/src/guide/test/index.js +138 -1
  878. package/src/h-stack/test/__snapshots__/index.tsx.snap +3 -12
  879. package/src/higher-order/with-constrained-tabbing/index.js +1 -1
  880. package/src/higher-order/with-filters/test/__snapshots__/index.js.snap +87 -0
  881. package/src/higher-order/with-filters/test/index.js +20 -74
  882. package/src/higher-order/with-spoken-messages/index.js +2 -0
  883. package/src/icon/index.tsx +1 -1
  884. package/src/icon/stories/index.js +18 -0
  885. package/src/icon/test/index.js +32 -83
  886. package/src/input-control/input-base.tsx +9 -11
  887. package/src/input-control/label.tsx +9 -4
  888. package/src/input-control/styles/input-control-styles.tsx +0 -43
  889. package/src/input-control/types.ts +3 -0
  890. package/src/isolated-event-container/index.js +3 -0
  891. package/src/isolated-event-container/test/index.js +53 -11
  892. package/src/item-group/test/__snapshots__/index.js.snap +16 -16
  893. package/src/keyboard-shortcuts/test/index.js +16 -31
  894. package/src/menu-item/test/__snapshots__/index.js.snap +60 -62
  895. package/src/menu-item/test/index.js +30 -22
  896. package/src/mobile/global-styles-context/utils.native.js +7 -2
  897. package/src/modal/aria-helper.js +3 -8
  898. package/src/navigable-container/README.md +2 -0
  899. package/src/navigable-container/container.js +8 -1
  900. package/src/navigable-container/menu.js +14 -11
  901. package/src/navigable-container/stories/navigable-menu.js +49 -0
  902. package/src/navigable-container/stories/tabbable-container.js +40 -0
  903. package/src/navigable-container/tabbable.js +2 -3
  904. package/src/navigable-container/test/navigable-menu.js +277 -0
  905. package/src/navigable-container/test/tababble-container.js +175 -0
  906. package/src/navigation/menu/menu-title-search.js +1 -2
  907. package/src/navigator/navigator-button/hook.ts +1 -1
  908. package/src/navigator/navigator-screen/component.tsx +6 -1
  909. package/src/number-control/index.tsx +209 -0
  910. package/src/number-control/stories/index.js +6 -18
  911. package/src/number-control/types.ts +75 -0
  912. package/src/palette-edit/index.js +14 -10
  913. package/src/palette-edit/style.scss +3 -11
  914. package/src/panel/test/__snapshots__/header.js.snap +9 -0
  915. package/src/panel/test/__snapshots__/index.js.snap +17 -0
  916. package/src/panel/test/__snapshots__/row.js.snap +17 -0
  917. package/src/panel/test/header.js +30 -23
  918. package/src/panel/test/index.js +33 -25
  919. package/src/panel/test/row.js +18 -11
  920. package/src/placeholder/index.tsx +4 -5
  921. package/src/placeholder/style.scss +5 -4
  922. package/src/popover/README.md +83 -48
  923. package/src/popover/{index.js → index.tsx} +254 -202
  924. package/src/popover/stories/{index.js → index.tsx} +51 -55
  925. package/src/popover/types.ts +173 -0
  926. package/src/popover/utils.ts +230 -0
  927. package/src/radio-control/index.tsx +28 -29
  928. package/src/radio-control/style.scss +0 -17
  929. package/src/range-control/index.tsx +4 -1
  930. package/src/range-control/styles/range-control-styles.ts +8 -8
  931. package/src/sandbox/index.js +2 -2
  932. package/src/search-control/README.md +5 -3
  933. package/src/search-control/{index.js → index.tsx} +35 -7
  934. package/src/search-control/stories/index.tsx +66 -0
  935. package/src/search-control/types.ts +43 -0
  936. package/src/select-control/index.native.js +1 -1
  937. package/src/slot-fill/test/index.js +69 -12
  938. package/src/style.scss +0 -1
  939. package/src/surface/test/__snapshots__/index.tsx.snap +10 -10
  940. package/src/tab-panel/README.md +1 -2
  941. package/src/tab-panel/{index.js → index.tsx} +58 -13
  942. package/src/tab-panel/stories/index.tsx +37 -0
  943. package/src/tab-panel/test/index.tsx +120 -0
  944. package/src/tab-panel/types.ts +65 -0
  945. package/src/text-control/index.tsx +2 -0
  946. package/src/text-control/types.ts +5 -1
  947. package/src/text-highlight/index.tsx +1 -5
  948. package/src/textarea-control/index.tsx +3 -6
  949. package/src/textarea-control/types.ts +1 -1
  950. package/src/toggle-control/index.tsx +97 -0
  951. package/src/toggle-control/stories/index.tsx +58 -0
  952. package/src/toggle-control/test/index.tsx +53 -0
  953. package/src/toggle-control/types.ts +28 -0
  954. package/src/toggle-group-control/stories/index.tsx +10 -3
  955. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +62 -44
  956. package/src/toggle-group-control/toggle-group-control/component.tsx +6 -5
  957. package/src/toggle-group-control/toggle-group-control/styles.ts +5 -0
  958. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  959. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -1
  960. package/src/toggle-group-control/types.ts +2 -2
  961. package/src/tooltip/index.js +1 -1
  962. package/src/ui/context/context-connect.ts +58 -31
  963. package/src/ui/context/context-system-provider.js +5 -4
  964. package/src/ui/context/test/context-connect.tsx +55 -0
  965. package/src/ui/context/test/wordpress-component.tsx +36 -0
  966. package/src/ui/context/wordpress-component.ts +18 -12
  967. package/src/ui/control-group/test/__snapshots__/index.js.snap +1 -4
  968. package/src/unit-control/index.tsx +1 -1
  969. package/src/unit-control/stories/index.tsx +7 -16
  970. package/src/unit-control/styles/unit-control-styles.ts +2 -2
  971. package/src/unit-control/test/__snapshots__/index.tsx.snap +4 -6
  972. package/src/unit-control/types.ts +3 -44
  973. package/src/utils/colors-values.js +2 -24
  974. package/src/utils/math.js +4 -4
  975. package/src/utils/strings.ts +11 -0
  976. package/src/utils/values.js +48 -6
  977. package/src/v-stack/test/__snapshots__/index.tsx.snap +3 -12
  978. package/src/view/{component.js → component.tsx} +13 -4
  979. package/src/view/stories/index.tsx +32 -0
  980. package/src/view/types.ts +6 -0
  981. package/tsconfig.json +39 -76
  982. package/tsconfig.tsbuildinfo +1 -1
  983. package/build/ui/__storybook-utils/example-grid.js +0 -88
  984. package/build/ui/__storybook-utils/example-grid.js.map +0 -1
  985. package/build/ui/__storybook-utils/index.js +0 -19
  986. package/build/ui/__storybook-utils/index.js.map +0 -1
  987. package/build/ui/__storybook-utils/page.js +0 -43
  988. package/build/ui/__storybook-utils/page.js.map +0 -1
  989. package/build/utils/keyboard.js +0 -41
  990. package/build/utils/keyboard.js.map +0 -1
  991. package/build-module/ui/__storybook-utils/example-grid.js +0 -69
  992. package/build-module/ui/__storybook-utils/example-grid.js.map +0 -1
  993. package/build-module/ui/__storybook-utils/index.js +0 -2
  994. package/build-module/ui/__storybook-utils/index.js.map +0 -1
  995. package/build-module/ui/__storybook-utils/page.js +0 -32
  996. package/build-module/ui/__storybook-utils/page.js.map +0 -1
  997. package/build-module/utils/keyboard.js +0 -33
  998. package/build-module/utils/keyboard.js.map +0 -1
  999. package/build-types/utils/keyboard.d.ts +0 -12
  1000. package/build-types/utils/keyboard.d.ts.map +0 -1
  1001. package/src/focal-point-picker/controls.js +0 -66
  1002. package/src/focal-point-picker/grid.js +0 -62
  1003. package/src/focal-point-picker/index.js +0 -344
  1004. package/src/focal-point-picker/stories/index.js +0 -76
  1005. package/src/guide/test/page-control.js +0 -40
  1006. package/src/navigable-container/test/menu.js +0 -310
  1007. package/src/navigable-container/test/tabbable.js +0 -158
  1008. package/src/number-control/index.js +0 -192
  1009. package/src/popover/utils.js +0 -107
  1010. package/src/search-control/stories/index.js +0 -39
  1011. package/src/tab-panel/stories/index.js +0 -39
  1012. package/src/tab-panel/test/index.js +0 -179
  1013. package/src/toggle-control/index.js +0 -55
  1014. package/src/toggle-control/stories/index.js +0 -64
  1015. package/src/toggle-control/style.scss +0 -14
  1016. package/src/toggle-control/test/index.js +0 -52
  1017. package/src/ui/__storybook-utils/example-grid.js +0 -61
  1018. package/src/ui/__storybook-utils/index.js +0 -1
  1019. package/src/ui/__storybook-utils/page.js +0 -29
  1020. package/src/utils/keyboard.js +0 -28
  1021. package/src/utils/test/keyboard.js +0 -34
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["classnames","useFloating","flip","shift","autoUpdate","arrow","offset","offsetMiddleware","limitShift","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useEffect","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","getFrameOffset","positionToPlacement","placementToMotionAnimationProps","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","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","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","split","join","isFinite","ref","PopoverContainer","PopoverSlot","name","__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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/popover/index.tsx"],"names":["classnames","useFloating","flip","flipMiddleware","shift","shiftMiddleware","autoUpdate","arrow","offset","offsetMiddleware","limitShift","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useState","useCallback","useEffect","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","getFrameOffset","positionToPlacement","placementToMotionAnimationProps","getReferenceOwnerDocument","getReferenceElement","SLOT_NAME","ArrowTriangle","AnimatedWrapper","forwardedRef","style","receivedInlineStyles","placement","shouldAnimate","props","hasAnimatedOnce","setHasAnimatedOnce","shouldReduceMotion","motionInlineStyles","otherMotionProps","onAnimationComplete","computedAnimationProps","animate","slotNameContext","undefined","UnforwardedPopover","range","headerTitle","onClose","children","className","noArrow","isAlternate","position","placementProp","offsetProp","focusOnMount","anchorRef","anchorRect","getAnchorRect","expandOnMobile","onFocusOutside","__unstableSlotName","resize","__unstableShift","__unstableForcePosition","contentProps","since","version","computedFlipProp","computedResizeProp","alternative","shouldShift","arrowRef","fallbackReferenceElement","setFallbackReferenceElement","referenceOwnerDocument","setReferenceOwnerDocument","anchorRefFallback","node","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","frameOffsetRef","offsetRef","middleware","currentPlacement","current","isTopBottomPlacement","includes","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","apply","sizeProps","firstElementChild","refs","floating","HTMLElement","Object","assign","maxHeight","availableHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","reference","referenceCallbackRef","strategy","update","computedPlacement","middlewareData","arrowData","whileElementsMounted","referenceParam","floatingParam","updateParam","animationFrame","arrowCallbackRef","resultingReferenceOwnerDoc","fallbackDocument","document","resultingReferenceElement","top","bottom","startContainer","ownerDocument","defaultView","frameElement","updateFrameOffset","addEventListener","removeEventListener","mergedFloatingRef","content","left","Number","isNaN","split","join","isFinite","ref","Popover","PopoverSlot","name","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, SyntheticEvent, RefCallback } from 'react';\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip as flipMiddleware,\n\tshift as shiftMiddleware,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n\tMiddleware,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport {\n\tmotion,\n\tuseReducedMotion,\n\tHTMLMotionProps,\n\tMotionProps,\n} from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n\tuseCallback,\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\tgetReferenceOwnerDocument,\n\tgetReferenceElement,\n} from './utils';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type {\n\tPopoverProps,\n\tAnimatedWrapperProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\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 = () => (\n\t<SVG\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 AnimatedWrapper = 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}: HTMLMotionProps< 'div' > & AnimatedWrapperProps,\n\t\tforwardedRef: ForwardedRef< any >\n\t) => {\n\t\t// When animating, animate only once (i.e. when the popover is opened), and\n\t\t// do not animate on subsequent prop changes (as it conflicts with\n\t\t// floating-ui's positioning updates).\n\t\tconst [ hasAnimatedOnce, setHasAnimatedOnce ] = useState( false );\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\tconst onAnimationComplete = useCallback(\n\t\t\t() => setHasAnimatedOnce( true ),\n\t\t\t[]\n\t\t);\n\n\t\tconst computedAnimationProps: HTMLMotionProps< 'div' > =\n\t\t\tshouldAnimate && ! shouldReduceMotion\n\t\t\t\t? {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t\t\t...receivedInlineStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...otherMotionProps,\n\t\t\t\t\t\tonAnimationComplete,\n\t\t\t\t\t\tanimate: hasAnimatedOnce\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: otherMotionProps.animate,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\tstyle: receivedInlineStyles,\n\t\t\t\t };\n\n\t\treturn (\n\t\t\t<motion.div\n\t\t\t\t{ ...computedAnimationProps }\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< string | undefined >( undefined );\n\nconst UnforwardedPopover = (\n\tprops: Omit<\n\t\tWordPressComponentProps< PopoverProps, 'div', false >,\n\t\t// To avoid overlaps between the standard HTML attributes and the props\n\t\t// expected by `framer-motion`, omit all framer motion props from popover\n\t\t// props (except for `animate`, which is re-defined in `PopoverProps`).\n\t\tkeyof Omit< MotionProps, 'animate' >\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) => {\n\tconst {\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\tflip = true,\n\t\tresize = true,\n\t\tshift = false,\n\t\t__unstableShift,\n\t\t__unstableForcePosition,\n\t\t...contentProps\n\t} = props;\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\tlet computedFlipProp = flip;\n\tlet computedResizeProp = resize;\n\tif ( __unstableForcePosition !== undefined ) {\n\t\tdeprecated( '__unstableForcePosition prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`flip={ false }` and `resize={ false }`',\n\t\t} );\n\n\t\t// Back-compat, set the `flip` and `resize` props\n\t\t// to `false` to replicate `__unstableForcePosition`.\n\t\tcomputedFlipProp = ! __unstableForcePosition;\n\t\tcomputedResizeProp = ! __unstableForcePosition;\n\t}\n\n\tlet shouldShift = shift;\n\tif ( __unstableShift !== undefined ) {\n\t\tdeprecated( '`__unstableShift` prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: '`shift` prop`',\n\t\t} );\n\n\t\t// Back-compat.\n\t\tshouldShift = __unstableShift;\n\t}\n\n\tconst arrowRef = useRef( null );\n\n\tconst [ fallbackReferenceElement, setFallbackReferenceElement ] =\n\t\tuseState< HTMLSpanElement | null >( null );\n\tconst [ referenceOwnerDocument, setReferenceOwnerDocument ] = useState<\n\t\tDocument | undefined\n\t>();\n\n\tconst anchorRefFallback: RefCallback< HTMLSpanElement > = useCallback(\n\t\t( node ) => {\n\t\t\tsetFallbackReferenceElement( node );\n\t\t},\n\t\t[]\n\t);\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\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\tcomputedFlipProp ? flipMiddleware() : undefined,\n\t\tcomputedResizeProp\n\t\t\t? size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { firstElementChild } =\n\t\t\t\t\t\t\trefs.floating.current ?? {};\n\n\t\t\t\t\t\t// Only HTMLElement instances have the `style` property.\n\t\t\t\t\t\tif ( ! ( firstElementChild instanceof HTMLElement ) )\n\t\t\t\t\t\t\treturn;\n\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( firstElementChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ sizeProps.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\t: undefined,\n\t\tshouldShift\n\t\t\t? shiftMiddleware( {\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\tarrow( { element: arrowRef } ),\n\t].filter(\n\t\t( m: Middleware | undefined ): m is Middleware => m !== undefined\n\t);\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type: string | undefined, event: SyntheticEvent ) => {\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\t// @ts-expect-error The __unstableOnClose property needs to be deprecated first (see https://github.com/WordPress/gutenberg/pull/27675)\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: referenceCallbackRef,\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( {\n\t\tplacement: normalizedPlacementFromProps,\n\t\tmiddleware,\n\t\twhileElementsMounted: ( referenceParam, floatingParam, updateParam ) =>\n\t\t\tautoUpdate( referenceParam, floatingParam, updateParam, {\n\t\t\t\tanimationFrame: true,\n\t\t\t} ),\n\t} );\n\n\tuseEffect( () => {\n\t\toffsetRef.current = offsetProp;\n\t\tupdate();\n\t}, [ offsetProp, update ] );\n\n\tconst arrowCallbackRef = useCallback(\n\t\t( node ) => {\n\t\t\tarrowRef.current = node;\n\t\t\tupdate();\n\t\t},\n\t\t[ update ]\n\t);\n\n\t// When any of the possible anchor \"sources\" change,\n\t// recompute the reference element (real or virtual) and its owner document.\n\tuseLayoutEffect( () => {\n\t\tconst resultingReferenceOwnerDoc = getReferenceOwnerDocument( {\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t\tfallbackDocument: document,\n\t\t} );\n\t\tconst resultingReferenceElement = getReferenceElement( {\n\t\t\tanchorRef,\n\t\t\tanchorRect,\n\t\t\tgetAnchorRect,\n\t\t\tfallbackReferenceElement,\n\t\t} );\n\n\t\treferenceCallbackRef( resultingReferenceElement );\n\n\t\tsetReferenceOwnerDocument( resultingReferenceOwnerDoc );\n\t}, [\n\t\tanchorRef as Element | undefined,\n\t\t( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top,\n\t\t( anchorRef as PopoverAnchorRefTopBottom | undefined )?.bottom,\n\t\t( anchorRef as Range | undefined )?.startContainer,\n\t\t( anchorRef as PopoverAnchorRefReference )?.current,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\tfallbackReferenceElement,\n\t\treferenceCallbackRef,\n\t] );\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 (\n\t\t\t// Reference and root documents are the same.\n\t\t\treferenceOwnerDocument === document ||\n\t\t\t// Reference and floating are in the same document.\n\t\t\treferenceOwnerDocument === refs?.floating?.current?.ownerDocument ||\n\t\t\t// The reference's document has no view (i.e. window)\n\t\t\t// or frame element (ie. it's not an iframe).\n\t\t\t! referenceOwnerDocument?.defaultView?.frameElement\n\t\t) {\n\t\t\tframeOffsetRef.current = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst { defaultView } = referenceOwnerDocument;\n\n\t\tconst updateFrameOffset = () => {\n\t\t\tframeOffsetRef.current = getFrameOffset( referenceOwnerDocument );\n\t\t\tupdate();\n\t\t};\n\t\tdefaultView.addEventListener( 'resize', updateFrameOffset );\n\n\t\tupdateFrameOffset();\n\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'resize', updateFrameOffset );\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<AnimatedWrapper\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 ?? undefined,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y ?? undefined,\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={ arrowCallbackRef }\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:\n\t\t\t\t\t\t\ttypeof arrowData?.x !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.x )\n\t\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\t\tarrowData.x +\n\t\t\t\t\t\t\t\t\t\t( frameOffsetRef.current?.x ?? 0 )\n\t\t\t\t\t\t\t\t }px`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\ttypeof arrowData?.y !== 'undefined' &&\n\t\t\t\t\t\t\tNumber.isFinite( arrowData.y )\n\t\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\t\tarrowData.y +\n\t\t\t\t\t\t\t\t\t\t( frameOffsetRef.current?.y ?? 0 )\n\t\t\t\t\t\t\t\t }px`\n\t\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</AnimatedWrapper>\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\n/**\n * `Popover` renders its content in a floating modal. If no explicit anchor is passed via props, it anchors to its parent element by default.\n *\n * ```jsx\n * import { Button, Popover } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyPopover = () => {\n * \tconst [ isVisible, setIsVisible ] = useState( false );\n * \tconst toggleVisible = () => {\n * \t\tsetIsVisible( ( state ) => ! state );\n * \t};\n *\n * \treturn (\n * \t\t<Button variant=\"secondary\" onClick={ toggleVisible }>\n * \t\t\tToggle Popover!\n * \t\t\t{ isVisible && <Popover>Popover is toggled!</Popover> }\n * \t\t</Button>\n * \t);\n * };\n * ```\n *\n */\nexport const Popover = forwardRef( UnforwardedPopover );\n\nfunction PopoverSlot(\n\t{ name = SLOT_NAME }: { name?: string },\n\tref: ForwardedRef< any >\n) {\n\treturn (\n\t\t<Slot\n\t\t\t// @ts-expect-error Need to type `SlotFill`\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\n// @ts-expect-error For Legacy Reasons\nPopover.Slot = forwardRef( PopoverSlot );\n// @ts-expect-error For Legacy Reasons\nPopover.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default Popover;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -1,15 +1,18 @@
1
1
  /**
2
- * @typedef {import('../animate').AppearOrigin} AppearOrigin
3
- * @typedef {import('@floating-ui/react-dom').Placement} FloatingUIPlacement
4
- * @typedef { 'top left' | 'top center' | 'top right' | 'middle left' | 'middle center' | 'middle right' | 'bottom left' | 'bottom center' | 'bottom right' | 'bottom left' | 'bottom center' | 'bottom right' } LegacyPosition
2
+ * External dependencies
3
+ */
4
+ // eslint-disable-next-line no-restricted-imports
5
+
6
+ /**
7
+ * Internal dependencies
5
8
  */
6
9
 
7
10
  /**
8
11
  * Converts the `Popover`'s legacy "position" prop to the new "placement" prop
9
12
  * (used by `floating-ui`).
10
13
  *
11
- * @param {LegacyPosition} position The legacy position
12
- * @return {FloatingUIPlacement} The corresponding placement
14
+ * @param position The legacy position
15
+ * @return The corresponding placement
13
16
  */
14
17
  export const positionToPlacement = position => {
15
18
  const [x, y, z] = position.split(' ');
@@ -21,12 +24,10 @@ export const positionToPlacement = position => {
21
24
  suffix = '-start';
22
25
  } else if (!!z && z === 'right' || y === 'left') {
23
26
  suffix = '-end';
24
- } // @ts-expect-error More TypeScript effort would be required to reconcile `string` and `Placement` types.
25
-
27
+ }
26
28
 
27
29
  return x + suffix;
28
- } // @ts-expect-error More TypeScript effort would be required to reconcile `string` and `Placement` types.
29
-
30
+ }
30
31
 
31
32
  return y;
32
33
  };
@@ -37,8 +38,6 @@ export const positionToPlacement = position => {
37
38
  * @property {number} originY A number between 0 and 1 (0 is top, 0.5 is center, and 1 is bottom)
38
39
  */
39
40
 
40
- /** @type {Object.<FloatingUIPlacement, {originX: number, originY: number}>} */
41
-
42
41
  const PLACEMENT_TO_ANIMATION_ORIGIN = {
43
42
  top: {
44
43
  originX: 0.5,
@@ -105,8 +104,8 @@ const PLACEMENT_TO_ANIMATION_ORIGIN = {
105
104
  * Given the floating-ui `placement`, compute the framer-motion props for the
106
105
  * popover's entry animation.
107
106
  *
108
- * @param {FloatingUIPlacement} placement A placement string from floating ui
109
- * @return {import('framer-motion').MotionProps} The object containing the motion props
107
+ * @param placement A placement string from floating ui
108
+ * @return The object containing the motion props
110
109
  */
111
110
 
112
111
  export const placementToMotionAnimationProps = placement => {
@@ -130,20 +129,13 @@ export const placementToMotionAnimationProps = placement => {
130
129
  }
131
130
  };
132
131
  };
133
- /**
134
- * @typedef FrameOffset
135
- * @type {Object}
136
- * @property {number} x A numerical value representing the horizontal offset of the frame.
137
- * @property {number} y A numerical value representing the vertical offset of the frame.
138
- */
139
-
140
132
  /**
141
133
  * Returns the offset of a document's frame element.
142
134
  *
143
- * @param {Document} document A document. This will usually be the document within an iframe.
135
+ * @param document The iframe's owner document.
144
136
  *
145
- * @return {FrameOffset|undefined} The offset of the document's frame element,
146
- * or undefined if the document has no frame element.
137
+ * @return The offset of the document's frame element, or undefined if the
138
+ * document has no frame element.
147
139
  */
148
140
 
149
141
  export const getFrameOffset = document => {
@@ -161,4 +153,101 @@ export const getFrameOffset = document => {
161
153
  y: iframeRect.top
162
154
  };
163
155
  };
156
+ export const getReferenceOwnerDocument = _ref => {
157
+ var _resultingReferenceOw;
158
+
159
+ let {
160
+ anchorRef,
161
+ anchorRect,
162
+ getAnchorRect,
163
+ fallbackReferenceElement,
164
+ fallbackDocument
165
+ } = _ref;
166
+ // In floating-ui's terms:
167
+ // - "reference" refers to the popover's anchor element.
168
+ // - "floating" refers the floating popover's element.
169
+ // A floating element can also be positioned relative to a virtual element,
170
+ // instead of a real one. A virtual element is represented by an object
171
+ // with the `getBoundingClientRect()` function (like real elements).
172
+ // See https://floating-ui.com/docs/virtual-elements for more info.
173
+ let resultingReferenceOwnerDoc;
174
+
175
+ if (anchorRef !== null && anchorRef !== void 0 && anchorRef.top) {
176
+ resultingReferenceOwnerDoc = anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.top.ownerDocument;
177
+ } else if (anchorRef !== null && anchorRef !== void 0 && anchorRef.startContainer) {
178
+ resultingReferenceOwnerDoc = anchorRef.startContainer.ownerDocument;
179
+ } else if (anchorRef !== null && anchorRef !== void 0 && anchorRef.current) {
180
+ resultingReferenceOwnerDoc = anchorRef.current.ownerDocument;
181
+ } else if (anchorRef) {
182
+ // This one should be deprecated.
183
+ resultingReferenceOwnerDoc = anchorRef.ownerDocument;
184
+ } else if (anchorRect && anchorRect !== null && anchorRect !== void 0 && anchorRect.ownerDocument) {
185
+ resultingReferenceOwnerDoc = anchorRect.ownerDocument;
186
+ } else if (getAnchorRect) {
187
+ var _getAnchorRect;
188
+
189
+ resultingReferenceOwnerDoc = (_getAnchorRect = getAnchorRect(fallbackReferenceElement)) === null || _getAnchorRect === void 0 ? void 0 : _getAnchorRect.ownerDocument;
190
+ }
191
+
192
+ return (_resultingReferenceOw = resultingReferenceOwnerDoc) !== null && _resultingReferenceOw !== void 0 ? _resultingReferenceOw : fallbackDocument;
193
+ };
194
+ export const getReferenceElement = _ref2 => {
195
+ var _referenceElement;
196
+
197
+ let {
198
+ anchorRef,
199
+ anchorRect,
200
+ getAnchorRect,
201
+ fallbackReferenceElement
202
+ } = _ref2;
203
+ let referenceElement = null;
204
+
205
+ if (anchorRef !== null && anchorRef !== void 0 && anchorRef.top) {
206
+ // Create a virtual element for the ref. The expectation is that
207
+ // if anchorRef.top is defined, then anchorRef.bottom is defined too.
208
+ // Seems to be used by the block toolbar, when multiple blocks are selected
209
+ // (top and bottom blocks are used to calculate the resulting rect).
210
+ referenceElement = {
211
+ getBoundingClientRect() {
212
+ const topRect = anchorRef.top.getBoundingClientRect();
213
+ const bottomRect = anchorRef.bottom.getBoundingClientRect();
214
+ return new window.DOMRect(topRect.x, topRect.y, topRect.width, bottomRect.bottom - topRect.top);
215
+ }
216
+
217
+ };
218
+ } else if (anchorRef !== null && anchorRef !== void 0 && anchorRef.current) {
219
+ // Standard React ref.
220
+ referenceElement = anchorRef.current;
221
+ } else if (anchorRef) {
222
+ // If `anchorRef` holds directly the element's value (no `current` key)
223
+ // This is a weird scenario and should be deprecated.
224
+ referenceElement = anchorRef;
225
+ } else if (anchorRect) {
226
+ // Create a virtual element for the ref.
227
+ referenceElement = {
228
+ getBoundingClientRect() {
229
+ return anchorRect;
230
+ }
231
+
232
+ };
233
+ } else if (getAnchorRect) {
234
+ // Create a virtual element for the ref.
235
+ referenceElement = {
236
+ getBoundingClientRect() {
237
+ var _rect$x, _rect$y, _rect$width, _rect$height;
238
+
239
+ const rect = getAnchorRect(fallbackReferenceElement);
240
+ return new window.DOMRect((_rect$x = rect.x) !== null && _rect$x !== void 0 ? _rect$x : rect.left, (_rect$y = rect.y) !== null && _rect$y !== void 0 ? _rect$y : rect.top, (_rect$width = rect.width) !== null && _rect$width !== void 0 ? _rect$width : rect.right - rect.left, (_rect$height = rect.height) !== null && _rect$height !== void 0 ? _rect$height : rect.bottom - rect.top);
241
+ }
242
+
243
+ };
244
+ } else if (fallbackReferenceElement) {
245
+ // If no explicit ref is passed via props, fall back to
246
+ // anchoring to the popover's parent node.
247
+ referenceElement = fallbackReferenceElement.parentElement;
248
+ } // Convert any `undefined` value to `null`.
249
+
250
+
251
+ return (_referenceElement = referenceElement) !== null && _referenceElement !== void 0 ? _referenceElement : null;
252
+ };
164
253
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/popover/utils.js"],"names":["positionToPlacement","position","x","y","z","split","includes","suffix","PLACEMENT_TO_ANIMATION_ORIGIN","top","originX","originY","right","bottom","left","placementToMotionAnimationProps","placement","translateProp","startsWith","translateDirection","style","initial","opacity","scale","animate","transition","duration","ease","getFrameOffset","document","frameElement","defaultView","iframeRect","getBoundingClientRect"],"mappings":"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","sourcesContent":["/**\n * @typedef {import('../animate').AppearOrigin} AppearOrigin\n * @typedef {import('@floating-ui/react-dom').Placement} FloatingUIPlacement\n * @typedef {\t'top left' | 'top center' | 'top right' | 'middle left' | 'middle center' | 'middle right' | 'bottom left' | 'bottom center' | 'bottom right' | 'bottom left' | 'bottom center' | 'bottom right' } LegacyPosition\n */\n\n/**\n * Converts the `Popover`'s legacy \"position\" prop to the new \"placement\" prop\n * (used by `floating-ui`).\n *\n * @param {LegacyPosition} position The legacy position\n * @return {FloatingUIPlacement} The corresponding placement\n */\nexport const 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\n\t\t// @ts-expect-error More TypeScript effort would be required to reconcile `string` and `Placement` types.\n\t\treturn x + suffix;\n\t}\n\n\t// @ts-expect-error More TypeScript effort would be required to reconcile `string` and `Placement` types.\n\treturn y;\n};\n\n/**\n * @typedef AnimationOrigin\n * @type {Object}\n * @property {number} originX A number between 0 and 1 (in CSS logical properties jargon, 0 is \"start\", 0.5 is \"center\", and 1 is \"end\")\n * @property {number} originY A number between 0 and 1 (0 is top, 0.5 is center, and 1 is bottom)\n */\n\n/** @type {Object.<FloatingUIPlacement, {originX: number, originY: number}>} */\nconst PLACEMENT_TO_ANIMATION_ORIGIN = {\n\ttop: { originX: 0.5, originY: 1 }, // open from bottom, center\n\t'top-start': { originX: 0, originY: 1 }, // open from bottom, left\n\t'top-end': { originX: 1, originY: 1 }, // open from bottom, right\n\tright: { originX: 0, originY: 0.5 }, // open from middle, left\n\t'right-start': { originX: 0, originY: 0 }, // open from top, left\n\t'right-end': { originX: 0, originY: 1 }, // open from bottom, left\n\tbottom: { originX: 0.5, originY: 0 }, // open from top, center\n\t'bottom-start': { originX: 0, originY: 0 }, // open from top, left\n\t'bottom-end': { originX: 1, originY: 0 }, // open from top, right\n\tleft: { originX: 1, originY: 0.5 }, // open from middle, right\n\t'left-start': { originX: 1, originY: 0 }, // open from top, right\n\t'left-end': { originX: 1, originY: 1 }, // open from bottom, right\n};\n\n/**\n * Given the floating-ui `placement`, compute the framer-motion props for the\n * popover's entry animation.\n *\n * @param {FloatingUIPlacement} placement A placement string from floating ui\n * @return {import('framer-motion').MotionProps} The object containing the motion props\n */\nexport const placementToMotionAnimationProps = ( placement ) => {\n\tconst translateProp =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'bottom' )\n\t\t\t? 'translateY'\n\t\t\t: 'translateX';\n\tconst translateDirection =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'left' )\n\t\t\t? 1\n\t\t\t: -1;\n\n\treturn {\n\t\tstyle: PLACEMENT_TO_ANIMATION_ORIGIN[ placement ],\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\tscale: 0,\n\t\t\t[ translateProp ]: `${ 2 * translateDirection }em`,\n\t\t},\n\t\tanimate: { opacity: 1, scale: 1, [ translateProp ]: 0 },\n\t\ttransition: { duration: 0.1, ease: [ 0, 0, 0.2, 1 ] },\n\t};\n};\n\n/**\n * @typedef FrameOffset\n * @type {Object}\n * @property {number} x A numerical value representing the horizontal offset of the frame.\n * @property {number} y A numerical value representing the vertical offset of the frame.\n */\n\n/**\n * Returns the offset of a document's frame element.\n *\n * @param {Document} document A document. This will usually be the document within an iframe.\n *\n * @return {FrameOffset|undefined} The offset of the document's frame element,\n * or undefined if the document has no frame element.\n */\nexport const getFrameOffset = ( document ) => {\n\tconst frameElement = document?.defaultView?.frameElement;\n\tif ( ! frameElement ) {\n\t\treturn;\n\t}\n\tconst iframeRect = frameElement.getBoundingClientRect();\n\treturn { x: iframeRect.left, y: iframeRect.top };\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/popover/utils.ts"],"names":["positionToPlacement","position","x","y","z","split","includes","suffix","PLACEMENT_TO_ANIMATION_ORIGIN","top","originX","originY","right","bottom","left","placementToMotionAnimationProps","placement","translateProp","startsWith","translateDirection","style","initial","opacity","scale","animate","transition","duration","ease","getFrameOffset","document","frameElement","defaultView","iframeRect","getBoundingClientRect","getReferenceOwnerDocument","anchorRef","anchorRect","getAnchorRect","fallbackReferenceElement","fallbackDocument","resultingReferenceOwnerDoc","ownerDocument","startContainer","current","getReferenceElement","referenceElement","topRect","bottomRect","window","DOMRect","width","rect","height","parentElement"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { MotionProps } from 'framer-motion';\nimport type { ReferenceType } from '@floating-ui/react-dom';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tPopoverProps,\n\tPopoverAnchorRefReference,\n\tPopoverAnchorRefTopBottom,\n} from './types';\n\n/**\n * Converts the `Popover`'s legacy \"position\" prop to the new \"placement\" prop\n * (used by `floating-ui`).\n *\n * @param position The legacy position\n * @return The corresponding placement\n */\nexport const positionToPlacement = (\n\tposition: NonNullable< PopoverProps[ 'position' ] >\n): NonNullable< PopoverProps[ 'placement' ] > => {\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\n\t\treturn ( x + suffix ) as NonNullable< PopoverProps[ 'placement' ] >;\n\t}\n\n\treturn y as NonNullable< PopoverProps[ 'placement' ] >;\n};\n\n/**\n * @typedef AnimationOrigin\n * @type {Object}\n * @property {number} originX A number between 0 and 1 (in CSS logical properties jargon, 0 is \"start\", 0.5 is \"center\", and 1 is \"end\")\n * @property {number} originY A number between 0 and 1 (0 is top, 0.5 is center, and 1 is bottom)\n */\n\nconst PLACEMENT_TO_ANIMATION_ORIGIN: Record<\n\tNonNullable< PopoverProps[ 'placement' ] >,\n\t{ originX: number; originY: number }\n> = {\n\ttop: { originX: 0.5, originY: 1 }, // open from bottom, center\n\t'top-start': { originX: 0, originY: 1 }, // open from bottom, left\n\t'top-end': { originX: 1, originY: 1 }, // open from bottom, right\n\tright: { originX: 0, originY: 0.5 }, // open from middle, left\n\t'right-start': { originX: 0, originY: 0 }, // open from top, left\n\t'right-end': { originX: 0, originY: 1 }, // open from bottom, left\n\tbottom: { originX: 0.5, originY: 0 }, // open from top, center\n\t'bottom-start': { originX: 0, originY: 0 }, // open from top, left\n\t'bottom-end': { originX: 1, originY: 0 }, // open from top, right\n\tleft: { originX: 1, originY: 0.5 }, // open from middle, right\n\t'left-start': { originX: 1, originY: 0 }, // open from top, right\n\t'left-end': { originX: 1, originY: 1 }, // open from bottom, right\n};\n\n/**\n * Given the floating-ui `placement`, compute the framer-motion props for the\n * popover's entry animation.\n *\n * @param placement A placement string from floating ui\n * @return The object containing the motion props\n */\nexport const placementToMotionAnimationProps = (\n\tplacement: NonNullable< PopoverProps[ 'placement' ] >\n): MotionProps => {\n\tconst translateProp =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'bottom' )\n\t\t\t? 'translateY'\n\t\t\t: 'translateX';\n\tconst translateDirection =\n\t\tplacement.startsWith( 'top' ) || placement.startsWith( 'left' )\n\t\t\t? 1\n\t\t\t: -1;\n\n\treturn {\n\t\tstyle: PLACEMENT_TO_ANIMATION_ORIGIN[ placement ],\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\tscale: 0,\n\t\t\t[ translateProp ]: `${ 2 * translateDirection }em`,\n\t\t},\n\t\tanimate: { opacity: 1, scale: 1, [ translateProp ]: 0 },\n\t\ttransition: { duration: 0.1, ease: [ 0, 0, 0.2, 1 ] },\n\t};\n};\n\n/**\n * Returns the offset of a document's frame element.\n *\n * @param document The iframe's owner document.\n *\n * @return The offset of the document's frame element, or undefined if the\n * document has no frame element.\n */\nexport const getFrameOffset = (\n\tdocument?: Document\n): { x: number; y: number } | undefined => {\n\tconst frameElement = document?.defaultView?.frameElement;\n\tif ( ! frameElement ) {\n\t\treturn;\n\t}\n\tconst iframeRect = frameElement.getBoundingClientRect();\n\treturn { x: iframeRect.left, y: iframeRect.top };\n};\n\nexport const getReferenceOwnerDocument = ( {\n\tanchorRef,\n\tanchorRect,\n\tgetAnchorRect,\n\tfallbackReferenceElement,\n\tfallbackDocument,\n}: Pick< PopoverProps, 'anchorRef' | 'anchorRect' | 'getAnchorRect' > & {\n\tfallbackReferenceElement: Element | null;\n\tfallbackDocument: Document;\n} ): Document => {\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\tlet resultingReferenceOwnerDoc;\n\tif ( ( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top ) {\n\t\tresultingReferenceOwnerDoc = ( anchorRef as PopoverAnchorRefTopBottom )\n\t\t\t?.top.ownerDocument;\n\t} else if ( ( anchorRef as Range | undefined )?.startContainer ) {\n\t\tresultingReferenceOwnerDoc = ( anchorRef as Range ).startContainer\n\t\t\t.ownerDocument;\n\t} else if (\n\t\t( anchorRef as PopoverAnchorRefReference | undefined )?.current\n\t) {\n\t\tresultingReferenceOwnerDoc = (\n\t\t\t( anchorRef as PopoverAnchorRefReference ).current as Element\n\t\t ).ownerDocument;\n\t} else if ( anchorRef as Element | undefined ) {\n\t\t// This one should be deprecated.\n\t\tresultingReferenceOwnerDoc = ( anchorRef as Element ).ownerDocument;\n\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\tresultingReferenceOwnerDoc = anchorRect.ownerDocument;\n\t} else if ( getAnchorRect ) {\n\t\tresultingReferenceOwnerDoc = getAnchorRect(\n\t\t\tfallbackReferenceElement\n\t\t)?.ownerDocument;\n\t}\n\n\treturn resultingReferenceOwnerDoc ?? fallbackDocument;\n};\n\nexport const getReferenceElement = ( {\n\tanchorRef,\n\tanchorRect,\n\tgetAnchorRect,\n\tfallbackReferenceElement,\n}: Pick< PopoverProps, 'anchorRef' | 'anchorRect' | 'getAnchorRect' > & {\n\tfallbackReferenceElement: Element | null;\n} ): ReferenceType | null => {\n\tlet referenceElement = null;\n\n\tif ( ( anchorRef as PopoverAnchorRefTopBottom | undefined )?.top ) {\n\t\t// Create a virtual element for the ref. The expectation is that\n\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t// Seems to be used by the block toolbar, when multiple blocks are selected\n\t\t// (top and bottom blocks are used to calculate the resulting rect).\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst topRect = (\n\t\t\t\t\tanchorRef as PopoverAnchorRefTopBottom\n\t\t\t\t ).top.getBoundingClientRect();\n\t\t\t\tconst bottomRect = (\n\t\t\t\t\tanchorRef as PopoverAnchorRefTopBottom\n\t\t\t\t ).bottom.getBoundingClientRect();\n\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\ttopRect.x,\n\t\t\t\t\ttopRect.y,\n\t\t\t\t\ttopRect.width,\n\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t} else if (\n\t\t( anchorRef as PopoverAnchorRefReference | undefined )?.current\n\t) {\n\t\t// Standard React ref.\n\t\treferenceElement = ( anchorRef as PopoverAnchorRefReference ).current;\n\t} else if ( anchorRef as Element | undefined ) {\n\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t// This is a weird scenario and should be deprecated.\n\t\treferenceElement = anchorRef as Element;\n\t} else if ( anchorRect ) {\n\t\t// Create a virtual element for the ref.\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn anchorRect;\n\t\t\t},\n\t\t};\n\t} else if ( getAnchorRect ) {\n\t\t// Create a virtual element for the ref.\n\t\treferenceElement = {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst rect = getAnchorRect( fallbackReferenceElement );\n\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\t} else if ( fallbackReferenceElement ) {\n\t\t// If no explicit ref is passed via props, fall back to\n\t\t// anchoring to the popover's parent node.\n\t\treferenceElement = fallbackReferenceElement.parentElement;\n\t}\n\n\t// Convert any `undefined` value to `null`.\n\treturn referenceElement ?? null;\n};\n"]}
@@ -15,7 +15,7 @@ import { useInstanceId } from '@wordpress/compose';
15
15
  */
16
16
 
17
17
  import BaseControl from '../base-control';
18
-
18
+ import { VStack } from '../v-stack';
19
19
  /**
20
20
  * Render a user interface to select the user type using radio inputs.
21
21
  *
@@ -41,9 +41,8 @@ import BaseControl from '../base-control';
41
41
  * };
42
42
  * ```
43
43
  */
44
- export function RadioControl( // ref is omitted until we have `WordPressComponentPropsWithoutRef` or add
45
- // ref forwarding to RadioControl.
46
- props) {
44
+
45
+ export function RadioControl(props) {
47
46
  const {
48
47
  label,
49
48
  className,
@@ -64,11 +63,14 @@ props) {
64
63
  }
65
64
 
66
65
  return createElement(BaseControl, {
66
+ __nextHasNoMarginBottom: true,
67
67
  label: label,
68
68
  id: id,
69
69
  hideLabelFromVision: hideLabelFromVision,
70
70
  help: help,
71
71
  className: classnames(className, 'components-radio-control')
72
+ }, createElement(VStack, {
73
+ spacing: 1
72
74
  }, options.map((option, index) => createElement("div", {
73
75
  key: `${id}-${index}`,
74
76
  className: "components-radio-control__option"
@@ -83,7 +85,7 @@ props) {
83
85
  "aria-describedby": !!help ? `${id}__help` : undefined
84
86
  }, additionalProps)), createElement("label", {
85
87
  htmlFor: `${id}-${index}`
86
- }, option.label))));
88
+ }, option.label)))));
87
89
  }
88
90
  export default RadioControl;
89
91
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/radio-control/index.tsx"],"names":["classnames","useInstanceId","BaseControl","RadioControl","props","label","className","selected","help","onChange","hideLabelFromVision","options","additionalProps","instanceId","id","onChangeValue","event","target","value","length","map","option","index","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;;AAGA;AACA;AACA;AACA,SAASC,aAAT,QAA8B,oBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAT,EACN;AACA;AACAC,KAHM,EAOL;AACD,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,QALK;AAMLC,IAAAA,mBANK;AAOLC,IAAAA,OAAO,GAAG,EAPL;AAQL,OAAGC;AARE,MASFR,KATJ;AAUA,QAAMS,UAAU,GAAGZ,aAAa,CAAEE,YAAF,CAAhC;AACA,QAAMW,EAAE,GAAI,2BAA2BD,UAAY,EAAnD;;AACA,QAAME,aAAa,GAAKC,KAAF,IACrBP,QAAQ,CAAEO,KAAK,CAACC,MAAN,CAAaC,KAAf,CADT;;AAGA,MAAK,EAAEP,OAAF,aAAEA,OAAF,eAAEA,OAAO,CAAEQ,MAAX,CAAL,EAAyB;AACxB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGd,KADT;AAEC,IAAA,EAAE,EAAGS,EAFN;AAGC,IAAA,mBAAmB,EAAGJ,mBAHvB;AAIC,IAAA,IAAI,EAAGF,IAJR;AAKC,IAAA,SAAS,EAAGR,UAAU,CAAEM,SAAF,EAAa,0BAAb;AALvB,KAOGK,OAAO,CAACS,GAAR,CAAa,CAAEC,MAAF,EAAUC,KAAV,KACd;AACC,IAAA,GAAG,EAAI,GAAGR,EAAI,IAAIQ,KAAO,EAD1B;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AACC,IAAA,EAAE,EAAI,GAAGR,EAAI,IAAIQ,KAAO,EADzB;AAEC,IAAA,SAAS,EAAC,iCAFX;AAGC,IAAA,IAAI,EAAC,OAHN;AAIC,IAAA,IAAI,EAAGR,EAJR;AAKC,IAAA,KAAK,EAAGO,MAAM,CAACH,KALhB;AAMC,IAAA,QAAQ,EAAGH,aANZ;AAOC,IAAA,OAAO,EAAGM,MAAM,CAACH,KAAP,KAAiBX,QAP5B;AAQC,wBACC,CAAC,CAAEC,IAAH,GAAW,GAAGM,EAAI,QAAlB,GAA4BS;AAT9B,KAWMX,eAXN,EAJD,EAiBC;AAAO,IAAA,OAAO,EAAI,GAAGE,EAAI,IAAIQ,KAAO;AAApC,KACGD,MAAM,CAAChB,KADV,CAjBD,CADC,CAPH,CADD;AAiCA;AAED,eAAeF,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { RadioControlProps } from './types';\n\n/**\n * Render a user interface to select the user type using radio inputs.\n *\n * ```jsx\n * import { RadioControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRadioControl = () => {\n * const [ option, setOption ] = useState( 'a' );\n *\n * return (\n * <RadioControl\n * label=\"User type\"\n * help=\"The type of the current user\"\n * selected={ option }\n * options={ [\n * { label: 'Author', value: 'a' },\n * { label: 'Editor', value: 'e' },\n * ] }\n * onChange={ ( value ) => setOption( value ) }\n * />\n * );\n * };\n * ```\n */\nexport function RadioControl(\n\t// ref is omitted until we have `WordPressComponentPropsWithoutRef` or add\n\t// ref forwarding to RadioControl.\n\tprops: Omit<\n\t\tWordPressComponentProps< RadioControlProps, 'input', false >,\n\t\t'ref'\n\t>\n) {\n\tconst {\n\t\tlabel,\n\t\tclassName,\n\t\tselected,\n\t\thelp,\n\t\tonChange,\n\t\thideLabelFromVision,\n\t\toptions = [],\n\t\t...additionalProps\n\t} = props;\n\tconst instanceId = useInstanceId( RadioControl );\n\tconst id = `inspector-radio-control-${ instanceId }`;\n\tconst onChangeValue = ( event: ChangeEvent< HTMLInputElement > ) =>\n\t\tonChange( event.target.value );\n\n\tif ( ! options?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( className, 'components-radio-control' ) }\n\t\t>\n\t\t\t{ options.map( ( option, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ `${ id }-${ index }` }\n\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={ `${ id }-${ index }` }\n\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t!! help ? `${ id }__help` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor={ `${ id }-${ index }` }>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t</BaseControl>\n\t);\n}\n\nexport default RadioControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/radio-control/index.tsx"],"names":["classnames","useInstanceId","BaseControl","VStack","RadioControl","props","label","className","selected","help","onChange","hideLabelFromVision","options","additionalProps","instanceId","id","onChangeValue","event","target","value","length","map","option","index","undefined"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;;AAGA;AACA;AACA;AACA,SAASC,aAAT,QAA8B,oBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AAGA,SAASC,MAAT,QAAuB,YAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,YAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,QALK;AAMLC,IAAAA,mBANK;AAOLC,IAAAA,OAAO,GAAG,EAPL;AAQL,OAAGC;AARE,MASFR,KATJ;AAUA,QAAMS,UAAU,GAAGb,aAAa,CAAEG,YAAF,CAAhC;AACA,QAAMW,EAAE,GAAI,2BAA2BD,UAAY,EAAnD;;AACA,QAAME,aAAa,GAAKC,KAAF,IACrBP,QAAQ,CAAEO,KAAK,CAACC,MAAN,CAAaC,KAAf,CADT;;AAGA,MAAK,EAAEP,OAAF,aAAEA,OAAF,eAAEA,OAAO,CAAEQ,MAAX,CAAL,EAAyB;AACxB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,WAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGd,KAFT;AAGC,IAAA,EAAE,EAAGS,EAHN;AAIC,IAAA,mBAAmB,EAAGJ,mBAJvB;AAKC,IAAA,IAAI,EAAGF,IALR;AAMC,IAAA,SAAS,EAAGT,UAAU,CAAEO,SAAF,EAAa,0BAAb;AANvB,KAQC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACGK,OAAO,CAACS,GAAR,CAAa,CAAEC,MAAF,EAAUC,KAAV,KACd;AACC,IAAA,GAAG,EAAI,GAAGR,EAAI,IAAIQ,KAAO,EAD1B;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AACC,IAAA,EAAE,EAAI,GAAGR,EAAI,IAAIQ,KAAO,EADzB;AAEC,IAAA,SAAS,EAAC,iCAFX;AAGC,IAAA,IAAI,EAAC,OAHN;AAIC,IAAA,IAAI,EAAGR,EAJR;AAKC,IAAA,KAAK,EAAGO,MAAM,CAACH,KALhB;AAMC,IAAA,QAAQ,EAAGH,aANZ;AAOC,IAAA,OAAO,EAAGM,MAAM,CAACH,KAAP,KAAiBX,QAP5B;AAQC,wBACC,CAAC,CAAEC,IAAH,GAAW,GAAGM,EAAI,QAAlB,GAA4BS;AAT9B,KAWMX,eAXN,EAJD,EAiBC;AAAO,IAAA,OAAO,EAAI,GAAGE,EAAI,IAAIQ,KAAO;AAApC,KACGD,MAAM,CAAChB,KADV,CAjBD,CADC,CADH,CARD,CADD;AAoCA;AAED,eAAeF,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport type { WordPressComponentProps } from '../ui/context';\nimport type { RadioControlProps } from './types';\nimport { VStack } from '../v-stack';\n\n/**\n * Render a user interface to select the user type using radio inputs.\n *\n * ```jsx\n * import { RadioControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRadioControl = () => {\n * const [ option, setOption ] = useState( 'a' );\n *\n * return (\n * <RadioControl\n * label=\"User type\"\n * help=\"The type of the current user\"\n * selected={ option }\n * options={ [\n * { label: 'Author', value: 'a' },\n * { label: 'Editor', value: 'e' },\n * ] }\n * onChange={ ( value ) => setOption( value ) }\n * />\n * );\n * };\n * ```\n */\nexport function RadioControl(\n\tprops: WordPressComponentProps< RadioControlProps, 'input', false >\n) {\n\tconst {\n\t\tlabel,\n\t\tclassName,\n\t\tselected,\n\t\thelp,\n\t\tonChange,\n\t\thideLabelFromVision,\n\t\toptions = [],\n\t\t...additionalProps\n\t} = props;\n\tconst instanceId = useInstanceId( RadioControl );\n\tconst id = `inspector-radio-control-${ instanceId }`;\n\tconst onChangeValue = ( event: ChangeEvent< HTMLInputElement > ) =>\n\t\tonChange( event.target.value );\n\n\tif ( ! options?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( className, 'components-radio-control' ) }\n\t\t>\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ options.map( ( option, index ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ `${ id }-${ index }` }\n\t\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={ `${ id }-${ index }` }\n\t\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t!! help ? `${ id }__help` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label htmlFor={ `${ id }-${ index }` }>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t</BaseControl>\n\t);\n}\n\nexport default RadioControl;\n"]}
@@ -106,6 +106,8 @@ function UnforwardedRangeControl(props, forwardedRef) {
106
106
  };
107
107
 
108
108
  const handleOnChange = next => {
109
+ // @ts-expect-error TODO: Investigate if it's problematic for setValue() to
110
+ // potentially receive a NaN when next is undefined.
109
111
  let nextValue = parseFloat(next);
110
112
  setValue(nextValue);
111
113
  /*
@@ -255,7 +257,8 @@ function UnforwardedRangeControl(props, forwardedRef) {
255
257
  onBlur: handleOnInputNumberBlur,
256
258
  onChange: handleOnChange,
257
259
  shiftStep: shiftStep,
258
- step: step,
260
+ step: step // @ts-expect-error TODO: Investigate if the `null` value is necessary
261
+ ,
259
262
  value: inputSliderValue
260
263
  }), allowReset && createElement(ActionRightWrapper, null, createElement(Button, {
261
264
  className: "components-range-control__reset",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/range-control/index.tsx"],"names":["classnames","__","isRTL","useRef","useState","forwardRef","useInstanceId","useMergeRefs","BaseControl","Button","Icon","COLORS","floatClamp","useControlledRangeValue","clamp","InputRange","RangeRail","SimpleTooltip","ActionRightWrapper","AfterIconWrapper","BeforeIconWrapper","InputNumber","Root","Track","ThumbWrapper","Thumb","Wrapper","noop","UnforwardedRangeControl","props","forwardedRef","__nextHasNoMarginBottom","afterIcon","allowReset","beforeIcon","className","color","colorProp","ui","theme","currentInput","disabled","help","hideLabelFromVision","initialPosition","isShiftStepEnabled","label","marks","max","min","onBlur","onChange","onFocus","onMouseLeave","onMouseMove","railColor","renderTooltipContent","v","resetFallbackValue","shiftStep","showTooltip","showTooltipProp","step","trackColor","value","valueProp","withInputField","otherProps","setValue","initial","isResetPendent","hasTooltip","hasInputField","setShowTooltip","isFocused","setIsFocused","inputRef","isCurrentlyFocused","current","matches","isThumbFocused","isValueReset","currentValue","undefined","inputSliderValue","rangeFillValue","fillValue","fillValueOffset","classes","wrapperClasses","id","describedBy","enableTooltip","Number","isFinite","handleOnRangeChange","event","nextValue","parseFloat","target","handleOnChange","next","isNaN","handleOnInputNumberBlur","handleOnReset","resetValue","onChangeResetValue","handleShowTooltip","handleHideTooltip","handleOnBlur","handleOnFocus","offsetStyle","width","RangeControl"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent, FocusEvent, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useRef, useState, forwardRef } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Icon from '../icon';\nimport { COLORS } from '../utils';\nimport { floatClamp, useControlledRangeValue } from './utils';\nimport { clamp } from '../utils/math';\nimport InputRange from './input-range';\nimport RangeRail from './rail';\nimport SimpleTooltip from './tooltip';\nimport {\n\tActionRightWrapper,\n\tAfterIconWrapper,\n\tBeforeIconWrapper,\n\tInputNumber,\n\tRoot,\n\tTrack,\n\tThumbWrapper,\n\tThumb,\n\tWrapper,\n} from './styles/range-control-styles';\n\nimport type { RangeControlProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nconst noop = () => {};\n\nfunction UnforwardedRangeControl< IconProps = unknown >(\n\tprops: WordPressComponentProps<\n\t\tRangeControlProps< IconProps >,\n\t\t'input',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tafterIcon,\n\t\tallowReset = false,\n\t\tbeforeIcon,\n\t\tclassName,\n\t\tcolor: colorProp = COLORS.ui.theme,\n\t\tcurrentInput,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision = false,\n\t\tinitialPosition,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmarks = false,\n\t\tmax = 100,\n\t\tmin = 0,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\n\t\tonMouseLeave = noop,\n\t\tonMouseMove = noop,\n\t\trailColor,\n\t\trenderTooltipContent = ( v ) => v,\n\t\tresetFallbackValue,\n\t\tshiftStep = 10,\n\t\tshowTooltip: showTooltipProp,\n\t\tstep = 1,\n\t\ttrackColor,\n\t\tvalue: valueProp,\n\t\twithInputField = true,\n\t\t...otherProps\n\t} = props;\n\n\tconst [ value, setValue ] = useControlledRangeValue( {\n\t\tmin,\n\t\tmax,\n\t\tvalue: valueProp ?? null,\n\t\tinitial: initialPosition,\n\t} );\n\tconst isResetPendent = useRef( false );\n\n\tlet hasTooltip = showTooltipProp;\n\tlet hasInputField = withInputField;\n\n\tif ( step === 'any' ) {\n\t\t// The tooltip and number input field are hidden when the step is \"any\"\n\t\t// because the decimals get too lengthy to fit well.\n\t\thasTooltip = false;\n\t\thasInputField = false;\n\t}\n\n\tconst [ showTooltip, setShowTooltip ] = useState( hasTooltip );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst inputRef = useRef< HTMLInputElement >();\n\tconst isCurrentlyFocused = inputRef.current?.matches( ':focus' );\n\tconst isThumbFocused = ! disabled && isFocused;\n\n\tconst isValueReset = value === null;\n\tconst currentValue = value !== undefined ? value : currentInput;\n\n\tconst inputSliderValue = isValueReset ? '' : currentValue;\n\tconst rangeFillValue = isValueReset ? ( max - min ) / 2 + min : value;\n\n\tconst fillValue = isValueReset\n\t\t? 50\n\t\t: ( ( value - min ) / ( max - min ) ) * 100;\n\tconst fillValueOffset = `${ clamp( fillValue, 0, 100 ) }%`;\n\n\tconst classes = classnames( 'components-range-control', className );\n\n\tconst wrapperClasses = classnames(\n\t\t'components-range-control__wrapper',\n\t\t!! marks && 'is-marked'\n\t);\n\n\tconst id = useInstanceId(\n\t\tUnforwardedRangeControl,\n\t\t'inspector-range-control'\n\t);\n\tconst describedBy = !! help ? `${ id }__help` : undefined;\n\tconst enableTooltip = hasTooltip !== false && Number.isFinite( value );\n\n\tconst handleOnRangeChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = parseFloat( event.target.value );\n\t\tsetValue( nextValue );\n\t\tonChange( nextValue );\n\t};\n\n\tconst handleOnChange = ( next: string ) => {\n\t\tlet nextValue = parseFloat( next );\n\t\tsetValue( nextValue );\n\n\t\t/*\n\t\t * Calls onChange only when nextValue is numeric\n\t\t * otherwise may queue a reset for the blur event.\n\t\t */\n\t\tif ( ! isNaN( nextValue ) ) {\n\t\t\tif ( nextValue < min || nextValue > max ) {\n\t\t\t\tnextValue = floatClamp( nextValue, min, max ) as number;\n\t\t\t}\n\n\t\t\tonChange( nextValue );\n\t\t\tisResetPendent.current = false;\n\t\t} else if ( allowReset ) {\n\t\t\tisResetPendent.current = true;\n\t\t}\n\t};\n\n\tconst handleOnInputNumberBlur = () => {\n\t\tif ( isResetPendent.current ) {\n\t\t\thandleOnReset();\n\t\t\tisResetPendent.current = false;\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tlet resetValue: number | null = parseFloat( `${ resetFallbackValue }` );\n\t\tlet onChangeResetValue: number | undefined = resetValue;\n\n\t\tif ( isNaN( resetValue ) ) {\n\t\t\tresetValue = null;\n\t\t\tonChangeResetValue = undefined;\n\t\t}\n\n\t\tsetValue( resetValue );\n\n\t\t/**\n\t\t * Previously, this callback would always receive undefined as\n\t\t * an argument. This behavior is unexpected, specifically\n\t\t * when resetFallbackValue is defined.\n\t\t *\n\t\t * The value of undefined is not ideal. Passing it through\n\t\t * to internal <input /> elements would change it from a\n\t\t * controlled component to an uncontrolled component.\n\t\t *\n\t\t * For now, to minimize unexpected regressions, we're going to\n\t\t * preserve the undefined callback argument, except when a\n\t\t * resetFallbackValue is defined.\n\t\t */\n\t\tonChange( onChangeResetValue );\n\t};\n\n\tconst handleShowTooltip = () => setShowTooltip( true );\n\tconst handleHideTooltip = () => setShowTooltip( false );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t\thandleHideTooltip();\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t\thandleShowTooltip();\n\t};\n\n\tconst offsetStyle = {\n\t\t[ isRTL() ? 'right' : 'left' ]: fillValueOffset,\n\t};\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\tclassName={ classes }\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tid={ `${ id }` }\n\t\t\thelp={ help }\n\t\t>\n\t\t\t<Root className=\"components-range-control__root\">\n\t\t\t\t{ beforeIcon && (\n\t\t\t\t\t<BeforeIconWrapper>\n\t\t\t\t\t\t<Icon icon={ beforeIcon } />\n\t\t\t\t\t</BeforeIconWrapper>\n\t\t\t\t) }\n\t\t\t\t<Wrapper\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\t\tcolor={ colorProp }\n\t\t\t\t\tmarks={ !! marks }\n\t\t\t\t>\n\t\t\t\t\t<InputRange\n\t\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\t\t\tdescribedBy={ describedBy }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tid={ `${ id }` }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\t\t\tonChange={ handleOnRangeChange }\n\t\t\t\t\t\tonFocus={ handleOnFocus }\n\t\t\t\t\t\tonMouseMove={ onMouseMove }\n\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\tref={ useMergeRefs( [ inputRef, forwardedRef ] ) }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ inputSliderValue ?? undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeRail\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tmarks={ marks }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\trailColor={ railColor }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ rangeFillValue }\n\t\t\t\t\t/>\n\t\t\t\t\t<Track\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\tclassName=\"components-range-control__track\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tstyle={ { width: fillValueOffset } }\n\t\t\t\t\t\ttrackColor={ trackColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ThumbWrapper style={ offsetStyle } disabled={ disabled }>\n\t\t\t\t\t\t<Thumb\n\t\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\t\tisFocused={ isThumbFocused }\n\t\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ThumbWrapper>\n\t\t\t\t\t{ enableTooltip && (\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tclassName=\"components-range-control__tooltip\"\n\t\t\t\t\t\t\tinputRef={ inputRef }\n\t\t\t\t\t\t\ttooltipPosition=\"bottom\"\n\t\t\t\t\t\t\trenderTooltipContent={ renderTooltipContent }\n\t\t\t\t\t\t\tshow={ isCurrentlyFocused || showTooltip }\n\t\t\t\t\t\t\tstyle={ offsetStyle }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Wrapper>\n\t\t\t\t{ afterIcon && (\n\t\t\t\t\t<AfterIconWrapper>\n\t\t\t\t\t\t<Icon icon={ afterIcon } />\n\t\t\t\t\t</AfterIconWrapper>\n\t\t\t\t) }\n\t\t\t\t{ hasInputField && (\n\t\t\t\t\t<InputNumber\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tinputMode=\"decimal\"\n\t\t\t\t\t\tisShiftStepEnabled={ isShiftStepEnabled }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnInputNumberBlur }\n\t\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\t\tshiftStep={ shiftStep }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ inputSliderValue }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<ActionRightWrapper>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-range-control__reset\"\n\t\t\t\t\t\t\tdisabled={ disabled || value === undefined }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ActionRightWrapper>\n\t\t\t\t) }\n\t\t\t</Root>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * RangeControls are used to make selections from a range of incremental values.\n *\n * ```jsx\n * import { RangeControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRangeControl = () => {\n * const [ isChecked, setChecked ] = useState( true );\n * return (\n * <RangeControl\n * help=\"Please select how transparent you would like this.\"\n * initialPosition={50}\n * label=\"Opacity\"\n * max={100}\n * min={0}\n * onChange={() => {}}\n * />\n * );\n * };\n * ```\n */\nexport const RangeControl = forwardRef( UnforwardedRangeControl );\n\nexport default RangeControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/range-control/index.tsx"],"names":["classnames","__","isRTL","useRef","useState","forwardRef","useInstanceId","useMergeRefs","BaseControl","Button","Icon","COLORS","floatClamp","useControlledRangeValue","clamp","InputRange","RangeRail","SimpleTooltip","ActionRightWrapper","AfterIconWrapper","BeforeIconWrapper","InputNumber","Root","Track","ThumbWrapper","Thumb","Wrapper","noop","UnforwardedRangeControl","props","forwardedRef","__nextHasNoMarginBottom","afterIcon","allowReset","beforeIcon","className","color","colorProp","ui","theme","currentInput","disabled","help","hideLabelFromVision","initialPosition","isShiftStepEnabled","label","marks","max","min","onBlur","onChange","onFocus","onMouseLeave","onMouseMove","railColor","renderTooltipContent","v","resetFallbackValue","shiftStep","showTooltip","showTooltipProp","step","trackColor","value","valueProp","withInputField","otherProps","setValue","initial","isResetPendent","hasTooltip","hasInputField","setShowTooltip","isFocused","setIsFocused","inputRef","isCurrentlyFocused","current","matches","isThumbFocused","isValueReset","currentValue","undefined","inputSliderValue","rangeFillValue","fillValue","fillValueOffset","classes","wrapperClasses","id","describedBy","enableTooltip","Number","isFinite","handleOnRangeChange","event","nextValue","parseFloat","target","handleOnChange","next","isNaN","handleOnInputNumberBlur","handleOnReset","resetValue","onChangeResetValue","handleShowTooltip","handleHideTooltip","handleOnBlur","handleOnFocus","offsetStyle","width","RangeControl"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent, FocusEvent, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useRef, useState, forwardRef } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Icon from '../icon';\nimport { COLORS } from '../utils';\nimport { floatClamp, useControlledRangeValue } from './utils';\nimport { clamp } from '../utils/math';\nimport InputRange from './input-range';\nimport RangeRail from './rail';\nimport SimpleTooltip from './tooltip';\nimport {\n\tActionRightWrapper,\n\tAfterIconWrapper,\n\tBeforeIconWrapper,\n\tInputNumber,\n\tRoot,\n\tTrack,\n\tThumbWrapper,\n\tThumb,\n\tWrapper,\n} from './styles/range-control-styles';\n\nimport type { RangeControlProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nconst noop = () => {};\n\nfunction UnforwardedRangeControl< IconProps = unknown >(\n\tprops: WordPressComponentProps<\n\t\tRangeControlProps< IconProps >,\n\t\t'input',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tafterIcon,\n\t\tallowReset = false,\n\t\tbeforeIcon,\n\t\tclassName,\n\t\tcolor: colorProp = COLORS.ui.theme,\n\t\tcurrentInput,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision = false,\n\t\tinitialPosition,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmarks = false,\n\t\tmax = 100,\n\t\tmin = 0,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\n\t\tonMouseLeave = noop,\n\t\tonMouseMove = noop,\n\t\trailColor,\n\t\trenderTooltipContent = ( v ) => v,\n\t\tresetFallbackValue,\n\t\tshiftStep = 10,\n\t\tshowTooltip: showTooltipProp,\n\t\tstep = 1,\n\t\ttrackColor,\n\t\tvalue: valueProp,\n\t\twithInputField = true,\n\t\t...otherProps\n\t} = props;\n\n\tconst [ value, setValue ] = useControlledRangeValue( {\n\t\tmin,\n\t\tmax,\n\t\tvalue: valueProp ?? null,\n\t\tinitial: initialPosition,\n\t} );\n\tconst isResetPendent = useRef( false );\n\n\tlet hasTooltip = showTooltipProp;\n\tlet hasInputField = withInputField;\n\n\tif ( step === 'any' ) {\n\t\t// The tooltip and number input field are hidden when the step is \"any\"\n\t\t// because the decimals get too lengthy to fit well.\n\t\thasTooltip = false;\n\t\thasInputField = false;\n\t}\n\n\tconst [ showTooltip, setShowTooltip ] = useState( hasTooltip );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst inputRef = useRef< HTMLInputElement >();\n\tconst isCurrentlyFocused = inputRef.current?.matches( ':focus' );\n\tconst isThumbFocused = ! disabled && isFocused;\n\n\tconst isValueReset = value === null;\n\tconst currentValue = value !== undefined ? value : currentInput;\n\n\tconst inputSliderValue = isValueReset ? '' : currentValue;\n\tconst rangeFillValue = isValueReset ? ( max - min ) / 2 + min : value;\n\n\tconst fillValue = isValueReset\n\t\t? 50\n\t\t: ( ( value - min ) / ( max - min ) ) * 100;\n\tconst fillValueOffset = `${ clamp( fillValue, 0, 100 ) }%`;\n\n\tconst classes = classnames( 'components-range-control', className );\n\n\tconst wrapperClasses = classnames(\n\t\t'components-range-control__wrapper',\n\t\t!! marks && 'is-marked'\n\t);\n\n\tconst id = useInstanceId(\n\t\tUnforwardedRangeControl,\n\t\t'inspector-range-control'\n\t);\n\tconst describedBy = !! help ? `${ id }__help` : undefined;\n\tconst enableTooltip = hasTooltip !== false && Number.isFinite( value );\n\n\tconst handleOnRangeChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = parseFloat( event.target.value );\n\t\tsetValue( nextValue );\n\t\tonChange( nextValue );\n\t};\n\n\tconst handleOnChange = ( next?: string ) => {\n\t\t// @ts-expect-error TODO: Investigate if it's problematic for setValue() to\n\t\t// potentially receive a NaN when next is undefined.\n\t\tlet nextValue = parseFloat( next );\n\t\tsetValue( nextValue );\n\n\t\t/*\n\t\t * Calls onChange only when nextValue is numeric\n\t\t * otherwise may queue a reset for the blur event.\n\t\t */\n\t\tif ( ! isNaN( nextValue ) ) {\n\t\t\tif ( nextValue < min || nextValue > max ) {\n\t\t\t\tnextValue = floatClamp( nextValue, min, max ) as number;\n\t\t\t}\n\n\t\t\tonChange( nextValue );\n\t\t\tisResetPendent.current = false;\n\t\t} else if ( allowReset ) {\n\t\t\tisResetPendent.current = true;\n\t\t}\n\t};\n\n\tconst handleOnInputNumberBlur = () => {\n\t\tif ( isResetPendent.current ) {\n\t\t\thandleOnReset();\n\t\t\tisResetPendent.current = false;\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tlet resetValue: number | null = parseFloat( `${ resetFallbackValue }` );\n\t\tlet onChangeResetValue: number | undefined = resetValue;\n\n\t\tif ( isNaN( resetValue ) ) {\n\t\t\tresetValue = null;\n\t\t\tonChangeResetValue = undefined;\n\t\t}\n\n\t\tsetValue( resetValue );\n\n\t\t/**\n\t\t * Previously, this callback would always receive undefined as\n\t\t * an argument. This behavior is unexpected, specifically\n\t\t * when resetFallbackValue is defined.\n\t\t *\n\t\t * The value of undefined is not ideal. Passing it through\n\t\t * to internal <input /> elements would change it from a\n\t\t * controlled component to an uncontrolled component.\n\t\t *\n\t\t * For now, to minimize unexpected regressions, we're going to\n\t\t * preserve the undefined callback argument, except when a\n\t\t * resetFallbackValue is defined.\n\t\t */\n\t\tonChange( onChangeResetValue );\n\t};\n\n\tconst handleShowTooltip = () => setShowTooltip( true );\n\tconst handleHideTooltip = () => setShowTooltip( false );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t\thandleHideTooltip();\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t\thandleShowTooltip();\n\t};\n\n\tconst offsetStyle = {\n\t\t[ isRTL() ? 'right' : 'left' ]: fillValueOffset,\n\t};\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\tclassName={ classes }\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tid={ `${ id }` }\n\t\t\thelp={ help }\n\t\t>\n\t\t\t<Root className=\"components-range-control__root\">\n\t\t\t\t{ beforeIcon && (\n\t\t\t\t\t<BeforeIconWrapper>\n\t\t\t\t\t\t<Icon icon={ beforeIcon } />\n\t\t\t\t\t</BeforeIconWrapper>\n\t\t\t\t) }\n\t\t\t\t<Wrapper\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\t\tcolor={ colorProp }\n\t\t\t\t\tmarks={ !! marks }\n\t\t\t\t>\n\t\t\t\t\t<InputRange\n\t\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\t\t\tdescribedBy={ describedBy }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tid={ `${ id }` }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\t\t\tonChange={ handleOnRangeChange }\n\t\t\t\t\t\tonFocus={ handleOnFocus }\n\t\t\t\t\t\tonMouseMove={ onMouseMove }\n\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\tref={ useMergeRefs( [ inputRef, forwardedRef ] ) }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ inputSliderValue ?? undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeRail\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tmarks={ marks }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\trailColor={ railColor }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ rangeFillValue }\n\t\t\t\t\t/>\n\t\t\t\t\t<Track\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\tclassName=\"components-range-control__track\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tstyle={ { width: fillValueOffset } }\n\t\t\t\t\t\ttrackColor={ trackColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ThumbWrapper style={ offsetStyle } disabled={ disabled }>\n\t\t\t\t\t\t<Thumb\n\t\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\t\tisFocused={ isThumbFocused }\n\t\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ThumbWrapper>\n\t\t\t\t\t{ enableTooltip && (\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tclassName=\"components-range-control__tooltip\"\n\t\t\t\t\t\t\tinputRef={ inputRef }\n\t\t\t\t\t\t\ttooltipPosition=\"bottom\"\n\t\t\t\t\t\t\trenderTooltipContent={ renderTooltipContent }\n\t\t\t\t\t\t\tshow={ isCurrentlyFocused || showTooltip }\n\t\t\t\t\t\t\tstyle={ offsetStyle }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Wrapper>\n\t\t\t\t{ afterIcon && (\n\t\t\t\t\t<AfterIconWrapper>\n\t\t\t\t\t\t<Icon icon={ afterIcon } />\n\t\t\t\t\t</AfterIconWrapper>\n\t\t\t\t) }\n\t\t\t\t{ hasInputField && (\n\t\t\t\t\t<InputNumber\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tinputMode=\"decimal\"\n\t\t\t\t\t\tisShiftStepEnabled={ isShiftStepEnabled }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnInputNumberBlur }\n\t\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\t\tshiftStep={ shiftStep }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\t// @ts-expect-error TODO: Investigate if the `null` value is necessary\n\t\t\t\t\t\tvalue={ inputSliderValue }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<ActionRightWrapper>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-range-control__reset\"\n\t\t\t\t\t\t\tdisabled={ disabled || value === undefined }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ActionRightWrapper>\n\t\t\t\t) }\n\t\t\t</Root>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * RangeControls are used to make selections from a range of incremental values.\n *\n * ```jsx\n * import { RangeControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRangeControl = () => {\n * const [ isChecked, setChecked ] = useState( true );\n * return (\n * <RangeControl\n * help=\"Please select how transparent you would like this.\"\n * initialPosition={50}\n * label=\"Opacity\"\n * max={100}\n * min={0}\n * onChange={() => {}}\n * />\n * );\n * };\n * ```\n */\nexport const RangeControl = forwardRef( UnforwardedRangeControl );\n\nexport default RangeControl;\n"]}