@wordpress/components 28.6.0 → 28.8.1-next.5368f64a9.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 (644) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/CONTRIBUTING.md +42 -19
  3. package/build/alignment-matrix-control/cell.js +4 -7
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +31 -19
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +55 -51
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles.js +73 -0
  10. package/build/alignment-matrix-control/styles.js.map +1 -0
  11. package/build/alignment-matrix-control/types.js.map +1 -1
  12. package/build/angle-picker-control/angle-circle.js +9 -9
  13. package/build/angle-picker-control/angle-circle.js.map +1 -1
  14. package/build/border-control/border-control/component.js +18 -13
  15. package/build/border-control/border-control/component.js.map +1 -1
  16. package/build/circular-option-picker/circular-option-picker-option.js +15 -9
  17. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  18. package/build/circular-option-picker/circular-option-picker.js +15 -12
  19. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  20. package/build/circular-option-picker/types.js.map +1 -1
  21. package/build/clipboard-button/index.js +6 -6
  22. package/build/clipboard-button/index.js.map +1 -1
  23. package/build/color-palette/utils.js +1 -2
  24. package/build/color-palette/utils.js.map +1 -1
  25. package/build/color-picker/color-copy-button.js +8 -8
  26. package/build/color-picker/color-copy-button.js.map +1 -1
  27. package/build/color-picker/hex-input.js +8 -8
  28. package/build/color-picker/hex-input.js.map +1 -1
  29. package/build/color-picker/input-with-slider.js +8 -8
  30. package/build/color-picker/input-with-slider.js.map +1 -1
  31. package/build/color-picker/styles.js +8 -8
  32. package/build/color-picker/styles.js.map +1 -1
  33. package/build/combobox-control/types.js.map +1 -1
  34. package/build/composite/context.js +1 -1
  35. package/build/composite/context.js.map +1 -1
  36. package/build/composite/group-label.js +33 -0
  37. package/build/composite/group-label.js.map +1 -0
  38. package/build/composite/group.js +33 -0
  39. package/build/composite/group.js.map +1 -0
  40. package/build/composite/hover.js +33 -0
  41. package/build/composite/hover.js.map +1 -0
  42. package/build/composite/index.js +63 -118
  43. package/build/composite/index.js.map +1 -1
  44. package/build/composite/item.js +33 -0
  45. package/build/composite/item.js.map +1 -0
  46. package/build/composite/legacy/index.js +59 -7
  47. package/build/composite/legacy/index.js.map +1 -1
  48. package/build/composite/row.js +33 -0
  49. package/build/composite/row.js.map +1 -0
  50. package/build/composite/typeahead.js +33 -0
  51. package/build/composite/typeahead.js.map +1 -0
  52. package/build/composite/types.js.map +1 -1
  53. package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  54. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  55. package/build/custom-select-control-v2/styles.js +12 -14
  56. package/build/custom-select-control-v2/styles.js.map +1 -1
  57. package/build/date-time/date/index.js +1 -1
  58. package/build/date-time/date/index.js.map +1 -1
  59. package/build/date-time/date/styles.js +37 -26
  60. package/build/date-time/date/styles.js.map +1 -1
  61. package/build/date-time/date/use-lilius/index.js +163 -0
  62. package/build/date-time/date/use-lilius/index.js.map +1 -0
  63. package/build/date-time/time/time-input/index.js +17 -19
  64. package/build/date-time/time/time-input/index.js.map +1 -1
  65. package/build/dimension-control/index.js +6 -1
  66. package/build/dimension-control/index.js.map +1 -1
  67. package/build/draggable/index.js +4 -4
  68. package/build/draggable/index.js.map +1 -1
  69. package/build/dropdown-menu-v2/checkbox-item.js +69 -0
  70. package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
  71. package/build/dropdown-menu-v2/context.js +17 -0
  72. package/build/dropdown-menu-v2/context.js.map +1 -0
  73. package/build/dropdown-menu-v2/group-label.js +40 -0
  74. package/build/dropdown-menu-v2/group-label.js.map +1 -0
  75. package/build/dropdown-menu-v2/group.js +29 -0
  76. package/build/dropdown-menu-v2/group.js.map +1 -0
  77. package/build/dropdown-menu-v2/index.js +58 -146
  78. package/build/dropdown-menu-v2/index.js.map +1 -1
  79. package/build/dropdown-menu-v2/item-help-text.js +27 -0
  80. package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
  81. package/build/dropdown-menu-v2/item-label.js +27 -0
  82. package/build/dropdown-menu-v2/item-label.js.map +1 -0
  83. package/build/dropdown-menu-v2/item.js +53 -0
  84. package/build/dropdown-menu-v2/item.js.map +1 -0
  85. package/build/dropdown-menu-v2/radio-item.js +79 -0
  86. package/build/dropdown-menu-v2/radio-item.js.map +1 -0
  87. package/build/dropdown-menu-v2/separator.js +30 -0
  88. package/build/dropdown-menu-v2/separator.js.map +1 -0
  89. package/build/dropdown-menu-v2/styles.js +54 -78
  90. package/build/dropdown-menu-v2/styles.js.map +1 -1
  91. package/build/dropdown-menu-v2/types.js.map +1 -1
  92. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
  93. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  94. package/build/focal-point-picker/styles/focal-point-style.js +7 -2
  95. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  96. package/build/form-token-field/types.js.map +1 -1
  97. package/build/index.js +13 -0
  98. package/build/index.js.map +1 -1
  99. package/build/input-control/index.js +2 -2
  100. package/build/input-control/index.js.map +1 -1
  101. package/build/input-control/input-base.js +5 -10
  102. package/build/input-control/input-base.js.map +1 -1
  103. package/build/input-control/input-prefix-wrapper.js +3 -3
  104. package/build/input-control/input-prefix-wrapper.js.map +1 -1
  105. package/build/input-control/input-suffix-wrapper.js +2 -3
  106. package/build/input-control/input-suffix-wrapper.js.map +1 -1
  107. package/build/input-control/reducer/reducer.js +8 -8
  108. package/build/input-control/reducer/reducer.js.map +1 -1
  109. package/build/input-control/styles/input-control-styles.js +75 -45
  110. package/build/input-control/styles/input-control-styles.js.map +1 -1
  111. package/build/input-control/types.js.map +1 -1
  112. package/build/input-control/utils.js +3 -3
  113. package/build/input-control/utils.js.map +1 -1
  114. package/build/item-group/styles.js +10 -10
  115. package/build/item-group/styles.js.map +1 -1
  116. package/build/modal/index.js +16 -9
  117. package/build/modal/index.js.map +1 -1
  118. package/build/navigation/index.js +4 -4
  119. package/build/navigation/index.js.map +1 -1
  120. package/build/navigation/styles/navigation-styles.js +13 -13
  121. package/build/navigation/styles/navigation-styles.js.map +1 -1
  122. package/build/navigator/index.js +12 -13
  123. package/build/navigator/index.js.map +1 -1
  124. package/build/navigator/navigator-back-button/hook.js +2 -2
  125. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  126. package/build/navigator/navigator-button/hook.js +2 -2
  127. package/build/navigator/navigator-button/hook.js.map +1 -1
  128. package/build/navigator/navigator-provider/component.js +99 -67
  129. package/build/navigator/navigator-provider/component.js.map +1 -1
  130. package/build/navigator/navigator-screen/component.js +5 -0
  131. package/build/navigator/navigator-screen/component.js.map +1 -1
  132. package/build/navigator/navigator-to-parent-button/component.js +2 -2
  133. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  134. package/build/navigator/types.js.map +1 -1
  135. package/build/navigator/use-navigator.js +1 -2
  136. package/build/navigator/use-navigator.js.map +1 -1
  137. package/build/palette-edit/index.js +2 -2
  138. package/build/palette-edit/index.js.map +1 -1
  139. package/build/private-apis.js +1 -14
  140. package/build/private-apis.js.map +1 -1
  141. package/build/range-control/styles/range-control-styles.js +30 -30
  142. package/build/range-control/styles/range-control-styles.js.map +1 -1
  143. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  144. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  145. package/build/select-control/styles/select-control-styles.js +12 -12
  146. package/build/select-control/styles/select-control-styles.js.map +1 -1
  147. package/build/slot-fill/bubbles-virtually/fill.js +4 -4
  148. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  149. package/build/slot-fill/index.js +1 -0
  150. package/build/slot-fill/index.js.map +1 -1
  151. package/build/snackbar/index.js +4 -4
  152. package/build/snackbar/index.js.map +1 -1
  153. package/build/tabs/index.js +4 -4
  154. package/build/tabs/index.js.map +1 -1
  155. package/build/tabs/styles.js +3 -3
  156. package/build/tabs/styles.js.map +1 -1
  157. package/build/tabs/tablist.js +5 -4
  158. package/build/tabs/tablist.js.map +1 -1
  159. package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
  160. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  161. package/build/tools-panel/tools-panel/hook.js +6 -6
  162. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  163. package/build/unit-control/styles/unit-control-styles.js +7 -7
  164. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  165. package/build/utils/config-values.js +6 -4
  166. package/build/utils/config-values.js.map +1 -1
  167. package/build/utils/element-rect.js +73 -105
  168. package/build/utils/element-rect.js.map +1 -1
  169. package/build/utils/hooks/use-update-effect.js +4 -4
  170. package/build/utils/hooks/use-update-effect.js.map +1 -1
  171. package/build-module/alignment-matrix-control/cell.js +2 -5
  172. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  173. package/build-module/alignment-matrix-control/icon.js +31 -19
  174. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  175. package/build-module/alignment-matrix-control/index.js +55 -50
  176. package/build-module/alignment-matrix-control/index.js.map +1 -1
  177. package/build-module/alignment-matrix-control/styles.js +70 -0
  178. package/build-module/alignment-matrix-control/styles.js.map +1 -0
  179. package/build-module/alignment-matrix-control/types.js.map +1 -1
  180. package/build-module/angle-picker-control/angle-circle.js +9 -9
  181. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  182. package/build-module/border-control/border-control/component.js +18 -13
  183. package/build-module/border-control/border-control/component.js.map +1 -1
  184. package/build-module/circular-option-picker/circular-option-picker-option.js +16 -10
  185. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  186. package/build-module/circular-option-picker/circular-option-picker.js +16 -13
  187. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  188. package/build-module/circular-option-picker/types.js.map +1 -1
  189. package/build-module/clipboard-button/index.js +6 -6
  190. package/build-module/clipboard-button/index.js.map +1 -1
  191. package/build-module/color-palette/utils.js +1 -2
  192. package/build-module/color-palette/utils.js.map +1 -1
  193. package/build-module/color-picker/color-copy-button.js +8 -8
  194. package/build-module/color-picker/color-copy-button.js.map +1 -1
  195. package/build-module/color-picker/hex-input.js +7 -8
  196. package/build-module/color-picker/hex-input.js.map +1 -1
  197. package/build-module/color-picker/input-with-slider.js +7 -8
  198. package/build-module/color-picker/input-with-slider.js.map +1 -1
  199. package/build-module/color-picker/styles.js +8 -8
  200. package/build-module/color-picker/styles.js.map +1 -1
  201. package/build-module/combobox-control/types.js.map +1 -1
  202. package/build-module/composite/context.js +1 -1
  203. package/build-module/composite/context.js.map +1 -1
  204. package/build-module/composite/group-label.js +25 -0
  205. package/build-module/composite/group-label.js.map +1 -0
  206. package/build-module/composite/group.js +25 -0
  207. package/build-module/composite/group.js.map +1 -0
  208. package/build-module/composite/hover.js +25 -0
  209. package/build-module/composite/hover.js.map +1 -0
  210. package/build-module/composite/index.js +64 -118
  211. package/build-module/composite/index.js.map +1 -1
  212. package/build-module/composite/item.js +25 -0
  213. package/build-module/composite/item.js.map +1 -0
  214. package/build-module/composite/legacy/index.js +57 -8
  215. package/build-module/composite/legacy/index.js.map +1 -1
  216. package/build-module/composite/row.js +25 -0
  217. package/build-module/composite/row.js.map +1 -0
  218. package/build-module/composite/typeahead.js +25 -0
  219. package/build-module/composite/typeahead.js.map +1 -0
  220. package/build-module/composite/types.js.map +1 -1
  221. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  222. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  223. package/build-module/custom-select-control-v2/styles.js +12 -14
  224. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  225. package/build-module/date-time/date/index.js +1 -2
  226. package/build-module/date-time/date/index.js.map +1 -1
  227. package/build-module/date-time/date/styles.js +33 -26
  228. package/build-module/date-time/date/styles.js.map +1 -1
  229. package/build-module/date-time/date/use-lilius/index.js +158 -0
  230. package/build-module/date-time/date/use-lilius/index.js.map +1 -0
  231. package/build-module/date-time/time/time-input/index.js +17 -19
  232. package/build-module/date-time/time/time-input/index.js.map +1 -1
  233. package/build-module/dimension-control/index.js +6 -1
  234. package/build-module/dimension-control/index.js.map +1 -1
  235. package/build-module/draggable/index.js +4 -4
  236. package/build-module/draggable/index.js.map +1 -1
  237. package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
  238. package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
  239. package/build-module/dropdown-menu-v2/context.js +11 -0
  240. package/build-module/dropdown-menu-v2/context.js.map +1 -0
  241. package/build-module/dropdown-menu-v2/group-label.js +32 -0
  242. package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
  243. package/build-module/dropdown-menu-v2/group.js +21 -0
  244. package/build-module/dropdown-menu-v2/group.js.map +1 -0
  245. package/build-module/dropdown-menu-v2/index.js +57 -144
  246. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  247. package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
  248. package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
  249. package/build-module/dropdown-menu-v2/item-label.js +19 -0
  250. package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
  251. package/build-module/dropdown-menu-v2/item.js +46 -0
  252. package/build-module/dropdown-menu-v2/item.js.map +1 -0
  253. package/build-module/dropdown-menu-v2/radio-item.js +72 -0
  254. package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
  255. package/build-module/dropdown-menu-v2/separator.js +22 -0
  256. package/build-module/dropdown-menu-v2/separator.js.map +1 -0
  257. package/build-module/dropdown-menu-v2/styles.js +54 -78
  258. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  259. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  260. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
  261. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  262. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
  263. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  264. package/build-module/form-token-field/types.js.map +1 -1
  265. package/build-module/index.js +3 -1
  266. package/build-module/index.js.map +1 -1
  267. package/build-module/input-control/index.js +2 -2
  268. package/build-module/input-control/index.js.map +1 -1
  269. package/build-module/input-control/input-base.js +6 -11
  270. package/build-module/input-control/input-base.js.map +1 -1
  271. package/build-module/input-control/input-prefix-wrapper.js +4 -3
  272. package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
  273. package/build-module/input-control/input-suffix-wrapper.js +3 -3
  274. package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
  275. package/build-module/input-control/reducer/reducer.js +8 -8
  276. package/build-module/input-control/reducer/reducer.js.map +1 -1
  277. package/build-module/input-control/styles/input-control-styles.js +74 -44
  278. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  279. package/build-module/input-control/types.js.map +1 -1
  280. package/build-module/input-control/utils.js +3 -3
  281. package/build-module/input-control/utils.js.map +1 -1
  282. package/build-module/item-group/styles.js +10 -10
  283. package/build-module/item-group/styles.js.map +1 -1
  284. package/build-module/modal/index.js +17 -9
  285. package/build-module/modal/index.js.map +1 -1
  286. package/build-module/navigation/index.js +4 -4
  287. package/build-module/navigation/index.js.map +1 -1
  288. package/build-module/navigation/styles/navigation-styles.js +14 -14
  289. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  290. package/build-module/navigator/index.js +6 -6
  291. package/build-module/navigator/index.js.map +1 -1
  292. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  293. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  294. package/build-module/navigator/navigator-button/hook.js +1 -1
  295. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  296. package/build-module/navigator/navigator-provider/component.js +99 -67
  297. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  298. package/build-module/navigator/navigator-screen/component.js +4 -0
  299. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  300. package/build-module/navigator/navigator-to-parent-button/component.js +1 -1
  301. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  302. package/build-module/navigator/types.js.map +1 -1
  303. package/build-module/navigator/use-navigator.js +1 -2
  304. package/build-module/navigator/use-navigator.js.map +1 -1
  305. package/build-module/palette-edit/index.js +2 -2
  306. package/build-module/palette-edit/index.js.map +1 -1
  307. package/build-module/private-apis.js +1 -14
  308. package/build-module/private-apis.js.map +1 -1
  309. package/build-module/range-control/styles/range-control-styles.js +31 -31
  310. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  311. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  312. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  313. package/build-module/select-control/styles/select-control-styles.js +13 -13
  314. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  315. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
  316. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  317. package/build-module/slot-fill/index.js +1 -0
  318. package/build-module/slot-fill/index.js.map +1 -1
  319. package/build-module/snackbar/index.js +4 -4
  320. package/build-module/snackbar/index.js.map +1 -1
  321. package/build-module/tabs/index.js +4 -4
  322. package/build-module/tabs/index.js.map +1 -1
  323. package/build-module/tabs/styles.js +4 -4
  324. package/build-module/tabs/styles.js.map +1 -1
  325. package/build-module/tabs/tablist.js +5 -4
  326. package/build-module/tabs/tablist.js.map +1 -1
  327. package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
  328. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  329. package/build-module/tools-panel/tools-panel/hook.js +6 -6
  330. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  331. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  332. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  333. package/build-module/utils/config-values.js +6 -4
  334. package/build-module/utils/config-values.js.map +1 -1
  335. package/build-module/utils/element-rect.js +74 -105
  336. package/build-module/utils/element-rect.js.map +1 -1
  337. package/build-module/utils/hooks/use-update-effect.js +4 -4
  338. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  339. package/build-style/style-rtl.css +11 -27
  340. package/build-style/style.css +11 -27
  341. package/build-types/alignment-matrix-control/cell.d.ts +1 -1
  342. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
  343. package/build-types/alignment-matrix-control/icon.d.ts +1 -1
  344. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
  345. package/build-types/alignment-matrix-control/index.d.ts +16 -6
  346. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  347. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  348. package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
  349. package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
  350. package/build-types/alignment-matrix-control/types.d.ts +12 -1
  351. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  352. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  353. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  354. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  355. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  356. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  357. package/build-types/circular-option-picker/types.d.ts +2 -2
  358. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  359. package/build-types/color-palette/utils.d.ts.map +1 -1
  360. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  361. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  362. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  363. package/build-types/color-picker/styles.d.ts.map +1 -1
  364. package/build-types/combobox-control/types.d.ts +1 -0
  365. package/build-types/combobox-control/types.d.ts.map +1 -1
  366. package/build-types/composite/context.d.ts.map +1 -1
  367. package/build-types/composite/group-label.d.ts +3 -0
  368. package/build-types/composite/group-label.d.ts.map +1 -0
  369. package/build-types/composite/group.d.ts +3 -0
  370. package/build-types/composite/group.d.ts.map +1 -0
  371. package/build-types/composite/hover.d.ts +3 -0
  372. package/build-types/composite/hover.d.ts.map +1 -0
  373. package/build-types/composite/index.d.ts +63 -47
  374. package/build-types/composite/index.d.ts.map +1 -1
  375. package/build-types/composite/item.d.ts +3 -0
  376. package/build-types/composite/item.d.ts.map +1 -0
  377. package/build-types/composite/legacy/index.d.ts +23 -3
  378. package/build-types/composite/legacy/index.d.ts.map +1 -1
  379. package/build-types/composite/legacy/stories/index.story.d.ts.map +1 -1
  380. package/build-types/composite/row.d.ts +3 -0
  381. package/build-types/composite/row.d.ts.map +1 -0
  382. package/build-types/composite/stories/index.story.d.ts +9 -8
  383. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  384. package/build-types/composite/typeahead.d.ts +3 -0
  385. package/build-types/composite/typeahead.d.ts.map +1 -0
  386. package/build-types/composite/types.d.ts +12 -11
  387. package/build-types/composite/types.d.ts.map +1 -1
  388. package/build-types/date-time/date/index.d.ts +0 -3
  389. package/build-types/date-time/date/index.d.ts.map +1 -1
  390. package/build-types/date-time/date/styles.d.ts.map +1 -1
  391. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  392. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  393. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  394. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  395. package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
  396. package/build-types/dimension-control/index.d.ts +1 -1
  397. package/build-types/dimension-control/index.d.ts.map +1 -1
  398. package/build-types/dimension-control/stories/index.story.d.ts +5 -0
  399. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  400. package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
  401. package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
  402. package/build-types/dropdown-menu-v2/context.d.ts +6 -0
  403. package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
  404. package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
  405. package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
  406. package/build-types/dropdown-menu-v2/group.d.ts +3 -0
  407. package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
  408. package/build-types/dropdown-menu-v2/index.d.ts +39 -18
  409. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  410. package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
  411. package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
  412. package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
  413. package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
  414. package/build-types/dropdown-menu-v2/item.d.ts +3 -0
  415. package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
  416. package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
  417. package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
  418. package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
  419. package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
  420. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
  421. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  422. package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
  423. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  424. package/build-types/dropdown-menu-v2/types.d.ts +6 -0
  425. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  426. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
  427. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
  428. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  429. package/build-types/form-token-field/types.d.ts +1 -0
  430. package/build-types/form-token-field/types.d.ts.map +1 -1
  431. package/build-types/index.d.ts +4 -1
  432. package/build-types/index.d.ts.map +1 -1
  433. package/build-types/input-control/input-base.d.ts.map +1 -1
  434. package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
  435. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  436. package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
  437. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  438. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  439. package/build-types/input-control/stories/index.story.d.ts +9 -0
  440. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  441. package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
  442. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  443. package/build-types/input-control/types.d.ts +23 -6
  444. package/build-types/input-control/types.d.ts.map +1 -1
  445. package/build-types/modal/index.d.ts.map +1 -1
  446. package/build-types/modal/stories/index.story.d.ts +3 -0
  447. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  448. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  449. package/build-types/navigator/index.d.ts +6 -6
  450. package/build-types/navigator/index.d.ts.map +1 -1
  451. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  452. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  453. package/build-types/navigator/stories/index.story.d.ts +1 -1
  454. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  455. package/build-types/navigator/types.d.ts +3 -1
  456. package/build-types/navigator/types.d.ts.map +1 -1
  457. package/build-types/navigator/use-navigator.d.ts +1 -2
  458. package/build-types/navigator/use-navigator.d.ts.map +1 -1
  459. package/build-types/private-apis.d.ts.map +1 -1
  460. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  461. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  462. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  463. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  464. package/build-types/slot-fill/index.d.ts +3 -0
  465. package/build-types/slot-fill/index.d.ts.map +1 -1
  466. package/build-types/tabs/index.d.ts.map +1 -1
  467. package/build-types/tabs/styles.d.ts.map +1 -1
  468. package/build-types/tabs/tablist.d.ts.map +1 -1
  469. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  470. package/build-types/utils/config-values.d.ts +3 -3
  471. package/build-types/utils/element-rect.d.ts +32 -74
  472. package/build-types/utils/element-rect.d.ts.map +1 -1
  473. package/package.json +19 -20
  474. package/src/alignment-matrix-control/README.md +1 -5
  475. package/src/alignment-matrix-control/cell.tsx +3 -9
  476. package/src/alignment-matrix-control/icon.tsx +48 -30
  477. package/src/alignment-matrix-control/index.tsx +60 -50
  478. package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
  479. package/src/alignment-matrix-control/styles.ts +113 -0
  480. package/src/alignment-matrix-control/types.ts +12 -1
  481. package/src/angle-picker-control/angle-circle.tsx +11 -9
  482. package/src/border-control/border-control/component.tsx +23 -16
  483. package/src/circular-option-picker/circular-option-picker-option.tsx +16 -19
  484. package/src/circular-option-picker/circular-option-picker.tsx +26 -12
  485. package/src/circular-option-picker/types.ts +2 -2
  486. package/src/clipboard-button/index.tsx +6 -6
  487. package/src/color-palette/test/utils.ts +21 -2
  488. package/src/color-palette/utils.ts +1 -3
  489. package/src/color-picker/color-copy-button.tsx +10 -8
  490. package/src/color-picker/hex-input.tsx +6 -10
  491. package/src/color-picker/input-with-slider.tsx +6 -10
  492. package/src/color-picker/styles.ts +1 -1
  493. package/src/combobox-control/types.ts +1 -0
  494. package/src/composite/README.md +5 -24
  495. package/src/composite/{context.ts → context.tsx} +1 -2
  496. package/src/composite/group-label.tsx +30 -0
  497. package/src/composite/group.tsx +30 -0
  498. package/src/composite/hover.tsx +30 -0
  499. package/src/composite/index.tsx +71 -166
  500. package/src/composite/item.tsx +30 -0
  501. package/src/composite/legacy/index.tsx +73 -11
  502. package/src/composite/legacy/stories/index.story.tsx +2 -1
  503. package/src/composite/legacy/test/index.tsx +57 -1
  504. package/src/composite/row.tsx +30 -0
  505. package/src/composite/stories/index.story.tsx +254 -365
  506. package/src/composite/typeahead.tsx +30 -0
  507. package/src/composite/types.ts +14 -16
  508. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
  509. package/src/custom-gradient-picker/style.scss +2 -21
  510. package/src/custom-select-control-v2/styles.ts +4 -4
  511. package/src/date-time/date/index.tsx +1 -1
  512. package/src/date-time/date/styles.ts +33 -13
  513. package/src/date-time/date/test/use-lilius.ts +417 -0
  514. package/src/date-time/date/use-lilius/index.ts +394 -0
  515. package/src/date-time/time/test/index.tsx +3 -6
  516. package/src/date-time/time/time-input/index.tsx +25 -25
  517. package/src/date-time/time/time-input/test/index.tsx +6 -7
  518. package/src/dimension-control/README.md +4 -0
  519. package/src/dimension-control/index.tsx +7 -1
  520. package/src/dimension-control/stories/index.story.tsx +7 -2
  521. package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -16
  522. package/src/dimension-control/test/index.test.js +1 -0
  523. package/src/draggable/index.tsx +4 -4
  524. package/src/dropdown-menu-v2/README.md +73 -60
  525. package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
  526. package/src/dropdown-menu-v2/context.tsx +13 -0
  527. package/src/dropdown-menu-v2/group-label.tsx +37 -0
  528. package/src/dropdown-menu-v2/group.tsx +26 -0
  529. package/src/dropdown-menu-v2/index.tsx +57 -197
  530. package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
  531. package/src/dropdown-menu-v2/item-label.tsx +23 -0
  532. package/src/dropdown-menu-v2/item.tsx +50 -0
  533. package/src/dropdown-menu-v2/radio-item.tsx +70 -0
  534. package/src/dropdown-menu-v2/separator.tsx +27 -0
  535. package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
  536. package/src/dropdown-menu-v2/styles.ts +102 -66
  537. package/src/dropdown-menu-v2/test/index.tsx +159 -132
  538. package/src/dropdown-menu-v2/types.ts +7 -0
  539. package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
  540. package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
  541. package/src/form-toggle/style.scss +1 -1
  542. package/src/form-token-field/style.scss +2 -3
  543. package/src/form-token-field/types.ts +1 -0
  544. package/src/index.ts +6 -1
  545. package/src/input-control/index.tsx +2 -2
  546. package/src/input-control/input-base.tsx +4 -14
  547. package/src/input-control/input-prefix-wrapper.tsx +8 -4
  548. package/src/input-control/input-suffix-wrapper.tsx +4 -6
  549. package/src/input-control/reducer/reducer.ts +13 -10
  550. package/src/input-control/stories/index.story.tsx +31 -12
  551. package/src/input-control/styles/input-control-styles.tsx +42 -11
  552. package/src/input-control/types.ts +23 -7
  553. package/src/input-control/utils.ts +3 -3
  554. package/src/item-group/styles.ts +3 -3
  555. package/src/item-group/test/__snapshots__/index.js.snap +3 -3
  556. package/src/modal/index.tsx +21 -12
  557. package/src/modal/stories/index.story.tsx +8 -14
  558. package/src/modal/style.scss +5 -9
  559. package/src/navigation/index.tsx +4 -4
  560. package/src/navigation/styles/navigation-styles.tsx +3 -3
  561. package/src/navigator/index.ts +6 -6
  562. package/src/navigator/navigator-back-button/hook.ts +1 -1
  563. package/src/navigator/navigator-button/hook.ts +1 -1
  564. package/src/navigator/navigator-provider/README.md +2 -3
  565. package/src/navigator/navigator-provider/component.tsx +97 -82
  566. package/src/navigator/navigator-screen/component.tsx +7 -0
  567. package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
  568. package/src/navigator/stories/index.story.tsx +82 -253
  569. package/src/navigator/test/index.tsx +8 -0
  570. package/src/navigator/types.ts +3 -1
  571. package/src/navigator/use-navigator.ts +1 -3
  572. package/src/palette-edit/index.tsx +2 -2
  573. package/src/private-apis.ts +1 -23
  574. package/src/range-control/styles/range-control-styles.ts +7 -7
  575. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
  576. package/src/resizable-box/style.scss +2 -2
  577. package/src/select-control/README.md +2 -2
  578. package/src/select-control/styles/select-control-styles.ts +5 -5
  579. package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
  580. package/src/slot-fill/index.tsx +1 -0
  581. package/src/snackbar/index.tsx +4 -4
  582. package/src/tab-panel/style.scss +0 -1
  583. package/src/tabs/index.tsx +8 -4
  584. package/src/tabs/styles.ts +42 -14
  585. package/src/tabs/tablist.tsx +5 -4
  586. package/src/text-control/style.scss +3 -2
  587. package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
  588. package/src/tools-panel/tools-panel/hook.ts +6 -6
  589. package/src/unit-control/styles/unit-control-styles.ts +2 -1
  590. package/src/utils/config-values.js +6 -4
  591. package/src/utils/element-rect.ts +93 -130
  592. package/src/utils/hooks/use-update-effect.js +4 -4
  593. package/tsconfig.tsbuildinfo +1 -1
  594. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
  595. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  596. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -77
  597. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  598. package/build/navigator/navigator-back-button/index.js +0 -14
  599. package/build/navigator/navigator-back-button/index.js.map +0 -1
  600. package/build/navigator/navigator-button/index.js +0 -14
  601. package/build/navigator/navigator-button/index.js.map +0 -1
  602. package/build/navigator/navigator-provider/index.js +0 -14
  603. package/build/navigator/navigator-provider/index.js.map +0 -1
  604. package/build/navigator/navigator-screen/index.js +0 -14
  605. package/build/navigator/navigator-screen/index.js.map +0 -1
  606. package/build/navigator/navigator-to-parent-button/index.js +0 -14
  607. package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
  608. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
  609. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  610. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -72
  611. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  612. package/build-module/navigator/navigator-back-button/index.js +0 -2
  613. package/build-module/navigator/navigator-back-button/index.js.map +0 -1
  614. package/build-module/navigator/navigator-button/index.js +0 -2
  615. package/build-module/navigator/navigator-button/index.js.map +0 -1
  616. package/build-module/navigator/navigator-provider/index.js +0 -2
  617. package/build-module/navigator/navigator-provider/index.js.map +0 -1
  618. package/build-module/navigator/navigator-screen/index.js +0 -2
  619. package/build-module/navigator/navigator-screen/index.js.map +0 -1
  620. package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
  621. package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
  622. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
  623. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
  624. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
  625. package/build-types/composite/stories/utils.d.ts +0 -29
  626. package/build-types/composite/stories/utils.d.ts.map +0 -1
  627. package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
  628. package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
  629. package/build-types/navigator/navigator-button/index.d.ts +0 -2
  630. package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
  631. package/build-types/navigator/navigator-provider/index.d.ts +0 -2
  632. package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
  633. package/build-types/navigator/navigator-screen/index.d.ts +0 -2
  634. package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
  635. package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
  636. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
  637. package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
  638. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
  639. package/src/composite/stories/utils.tsx +0 -76
  640. package/src/navigator/navigator-back-button/index.ts +0 -1
  641. package/src/navigator/navigator-button/index.ts +0 -1
  642. package/src/navigator/navigator-provider/index.ts +0 -1
  643. package/src/navigator/navigator-screen/index.ts +0 -1
  644. package/src/navigator/navigator-to-parent-button/index.ts +0 -1
@@ -7,133 +7,27 @@ import { useStoreState } from '@ariakit/react';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { forwardRef, createContext, useContext, useMemo, cloneElement, isValidElement, useCallback } from '@wordpress/element';
10
+ import { useContext, useMemo, cloneElement, isValidElement, useCallback } from '@wordpress/element';
11
11
  import { isRTL } from '@wordpress/i18n';
12
- import { check, chevronRightSmall } from '@wordpress/icons';
13
- import { SVG, Circle } from '@wordpress/primitives';
12
+ import { chevronRightSmall } from '@wordpress/icons';
14
13
 
15
14
  /**
16
15
  * Internal dependencies
17
16
  */
18
17
  import { useContextSystem, contextConnect } from '../context';
19
- import Icon from '../icon';
20
18
  import * as Styled from './styles';
19
+ import { DropdownMenuContext } from './context';
20
+ import { DropdownMenuItem } from './item';
21
+ import { DropdownMenuCheckboxItem } from './checkbox-item';
22
+ import { DropdownMenuRadioItem } from './radio-item';
23
+ import { DropdownMenuGroup } from './group';
24
+ import { DropdownMenuGroupLabel } from './group-label';
25
+ import { DropdownMenuSeparator } from './separator';
26
+ import { DropdownMenuItemLabel } from './item-label';
27
+ import { DropdownMenuItemHelpText } from './item-help-text';
21
28
  import { jsx as _jsx } from "react/jsx-runtime";
22
- import { jsxs as _jsxs } from "react/jsx-runtime";
23
29
  import { Fragment as _Fragment } from "react/jsx-runtime";
24
- export const DropdownMenuContext = createContext(undefined);
25
- export const DropdownMenuItem = forwardRef(function DropdownMenuItem({
26
- prefix,
27
- suffix,
28
- children,
29
- hideOnClick = true,
30
- ...props
31
- }, ref) {
32
- const dropdownMenuContext = useContext(DropdownMenuContext);
33
- return /*#__PURE__*/_jsxs(Styled.DropdownMenuItem, {
34
- ref: ref,
35
- ...props,
36
- accessibleWhenDisabled: true,
37
- hideOnClick: hideOnClick,
38
- store: dropdownMenuContext?.store,
39
- children: [/*#__PURE__*/_jsx(Styled.ItemPrefixWrapper, {
40
- children: prefix
41
- }), /*#__PURE__*/_jsxs(Styled.DropdownMenuItemContentWrapper, {
42
- children: [/*#__PURE__*/_jsx(Styled.DropdownMenuItemChildrenWrapper, {
43
- children: children
44
- }), suffix && /*#__PURE__*/_jsx(Styled.ItemSuffixWrapper, {
45
- children: suffix
46
- })]
47
- })]
48
- });
49
- });
50
- export const DropdownMenuCheckboxItem = forwardRef(function DropdownMenuCheckboxItem({
51
- suffix,
52
- children,
53
- hideOnClick = false,
54
- ...props
55
- }, ref) {
56
- const dropdownMenuContext = useContext(DropdownMenuContext);
57
- return /*#__PURE__*/_jsxs(Styled.DropdownMenuCheckboxItem, {
58
- ref: ref,
59
- ...props,
60
- accessibleWhenDisabled: true,
61
- hideOnClick: hideOnClick,
62
- store: dropdownMenuContext?.store,
63
- children: [/*#__PURE__*/_jsx(Ariakit.MenuItemCheck, {
64
- store: dropdownMenuContext?.store,
65
- render: /*#__PURE__*/_jsx(Styled.ItemPrefixWrapper, {})
66
- // Override some ariakit inline styles
67
- ,
68
- style: {
69
- width: 'auto',
70
- height: 'auto'
71
- },
72
- children: /*#__PURE__*/_jsx(Icon, {
73
- icon: check,
74
- size: 24
75
- })
76
- }), /*#__PURE__*/_jsxs(Styled.DropdownMenuItemContentWrapper, {
77
- children: [/*#__PURE__*/_jsx(Styled.DropdownMenuItemChildrenWrapper, {
78
- children: children
79
- }), suffix && /*#__PURE__*/_jsx(Styled.ItemSuffixWrapper, {
80
- children: suffix
81
- })]
82
- })]
83
- });
84
- });
85
- const radioCheck = /*#__PURE__*/_jsx(SVG, {
86
- xmlns: "http://www.w3.org/2000/svg",
87
- viewBox: "0 0 24 24",
88
- children: /*#__PURE__*/_jsx(Circle, {
89
- cx: 12,
90
- cy: 12,
91
- r: 3
92
- })
93
- });
94
- export const DropdownMenuRadioItem = forwardRef(function DropdownMenuRadioItem({
95
- suffix,
96
- children,
97
- hideOnClick = false,
98
- ...props
99
- }, ref) {
100
- const dropdownMenuContext = useContext(DropdownMenuContext);
101
- return /*#__PURE__*/_jsxs(Styled.DropdownMenuRadioItem, {
102
- ref: ref,
103
- ...props,
104
- accessibleWhenDisabled: true,
105
- hideOnClick: hideOnClick,
106
- store: dropdownMenuContext?.store,
107
- children: [/*#__PURE__*/_jsx(Ariakit.MenuItemCheck, {
108
- store: dropdownMenuContext?.store,
109
- render: /*#__PURE__*/_jsx(Styled.ItemPrefixWrapper, {})
110
- // Override some ariakit inline styles
111
- ,
112
- style: {
113
- width: 'auto',
114
- height: 'auto'
115
- },
116
- children: /*#__PURE__*/_jsx(Icon, {
117
- icon: radioCheck,
118
- size: 24
119
- })
120
- }), /*#__PURE__*/_jsxs(Styled.DropdownMenuItemContentWrapper, {
121
- children: [/*#__PURE__*/_jsx(Styled.DropdownMenuItemChildrenWrapper, {
122
- children: children
123
- }), suffix && /*#__PURE__*/_jsx(Styled.ItemSuffixWrapper, {
124
- children: suffix
125
- })]
126
- })]
127
- });
128
- });
129
- export const DropdownMenuGroup = forwardRef(function DropdownMenuGroup(props, ref) {
130
- const dropdownMenuContext = useContext(DropdownMenuContext);
131
- return /*#__PURE__*/_jsx(Styled.DropdownMenuGroup, {
132
- ref: ref,
133
- ...props,
134
- store: dropdownMenuContext?.store
135
- });
136
- });
30
+ import { jsxs as _jsxs } from "react/jsx-runtime";
137
31
  const UnconnectedDropdownMenu = (props, ref) => {
138
32
  var _props$placement;
139
33
  const {
@@ -186,7 +80,9 @@ const UnconnectedDropdownMenu = (props, ref) => {
186
80
  }), [dropdownMenuStore, variant]);
187
81
 
188
82
  // Extract the side from the applied placement — useful for animations.
189
- const appliedPlacementSide = useStoreState(dropdownMenuStore, 'placement').split('-')[0];
83
+ // Using `currentPlacement` instead of `placement` to make sure that we
84
+ // use the final computed placement (including "flips" etc).
85
+ const appliedPlacementSide = useStoreState(dropdownMenuStore, 'currentPlacement').split('-')[0];
190
86
  if (dropdownMenuStore.parent && !(isValidElement(trigger) && DropdownMenuItem === trigger.type)) {
191
87
  // eslint-disable-next-line no-console
192
88
  console.warn('For nested DropdownMenus, the `trigger` should always be a `DropdownMenuItem`.');
@@ -219,7 +115,7 @@ const UnconnectedDropdownMenu = (props, ref) => {
219
115
  })]
220
116
  })
221
117
  }) : trigger
222
- }), /*#__PURE__*/_jsx(Styled.DropdownMenu, {
118
+ }), /*#__PURE__*/_jsx(Ariakit.Menu, {
223
119
  ...otherProps,
224
120
  modal: modal,
225
121
  store: dropdownMenuStore
@@ -233,10 +129,21 @@ const UnconnectedDropdownMenu = (props, ref) => {
233
129
  shift: shift !== null && shift !== void 0 ? shift : dropdownMenuStore.parent ? -4 : 0,
234
130
  hideOnHoverOutside: false,
235
131
  "data-side": appliedPlacementSide,
236
- variant: variant,
237
132
  wrapperProps: wrapperProps,
238
133
  hideOnEscape: hideOnEscape,
239
134
  unmountOnHide: true,
135
+ render: renderProps =>
136
+ /*#__PURE__*/
137
+ // Two wrappers are needed for the entry animation, where the menu
138
+ // container scales with a different factor than its contents.
139
+ // The {...renderProps} are passed to the inner wrapper, so that the
140
+ // menu element is the direct parent of the menu item elements.
141
+ _jsx(Styled.MenuPopoverOuterWrapper, {
142
+ variant: variant,
143
+ children: /*#__PURE__*/_jsx(Styled.MenuPopoverInnerWrapper, {
144
+ ...renderProps
145
+ })
146
+ }),
240
147
  children: /*#__PURE__*/_jsx(DropdownMenuContext.Provider, {
241
148
  value: contextValue,
242
149
  children: children
@@ -244,28 +151,34 @@ const UnconnectedDropdownMenu = (props, ref) => {
244
151
  })]
245
152
  });
246
153
  };
247
- export const DropdownMenu = contextConnect(UnconnectedDropdownMenu, 'DropdownMenu');
248
- export const DropdownMenuSeparator = forwardRef(function DropdownMenuSeparator(props, ref) {
249
- const dropdownMenuContext = useContext(DropdownMenuContext);
250
- return /*#__PURE__*/_jsx(Styled.DropdownMenuSeparator, {
251
- ref: ref,
252
- ...props,
253
- store: dropdownMenuContext?.store,
254
- variant: dropdownMenuContext?.variant
255
- });
256
- });
257
- export const DropdownMenuItemLabel = forwardRef(function DropdownMenuItemLabel(props, ref) {
258
- return /*#__PURE__*/_jsx(Styled.DropdownMenuItemLabel, {
259
- numberOfLines: 1,
260
- ref: ref,
261
- ...props
262
- });
263
- });
264
- export const DropdownMenuItemHelpText = forwardRef(function DropdownMenuItemHelpText(props, ref) {
265
- return /*#__PURE__*/_jsx(Styled.DropdownMenuItemHelpText, {
266
- numberOfLines: 2,
267
- ref: ref,
268
- ...props
269
- });
154
+ export const DropdownMenuV2 = Object.assign(contextConnect(UnconnectedDropdownMenu, 'DropdownMenu'), {
155
+ Context: Object.assign(DropdownMenuContext, {
156
+ displayName: 'DropdownMenuV2.Context'
157
+ }),
158
+ Item: Object.assign(DropdownMenuItem, {
159
+ displayName: 'DropdownMenuV2.Item'
160
+ }),
161
+ RadioItem: Object.assign(DropdownMenuRadioItem, {
162
+ displayName: 'DropdownMenuV2.RadioItem'
163
+ }),
164
+ CheckboxItem: Object.assign(DropdownMenuCheckboxItem, {
165
+ displayName: 'DropdownMenuV2.CheckboxItem'
166
+ }),
167
+ Group: Object.assign(DropdownMenuGroup, {
168
+ displayName: 'DropdownMenuV2.Group'
169
+ }),
170
+ GroupLabel: Object.assign(DropdownMenuGroupLabel, {
171
+ displayName: 'DropdownMenuV2.GroupLabel'
172
+ }),
173
+ Separator: Object.assign(DropdownMenuSeparator, {
174
+ displayName: 'DropdownMenuV2.Separator'
175
+ }),
176
+ ItemLabel: Object.assign(DropdownMenuItemLabel, {
177
+ displayName: 'DropdownMenuV2.ItemLabel'
178
+ }),
179
+ ItemHelpText: Object.assign(DropdownMenuItemHelpText, {
180
+ displayName: 'DropdownMenuV2.ItemHelpText'
181
+ })
270
182
  });
183
+ export default DropdownMenuV2;
271
184
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Ariakit","useStoreState","forwardRef","createContext","useContext","useMemo","cloneElement","isValidElement","useCallback","isRTL","check","chevronRightSmall","SVG","Circle","useContextSystem","contextConnect","Icon","Styled","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownMenuContext","undefined","DropdownMenuItem","prefix","suffix","children","hideOnClick","props","ref","dropdownMenuContext","accessibleWhenDisabled","store","ItemPrefixWrapper","DropdownMenuItemContentWrapper","DropdownMenuItemChildrenWrapper","ItemSuffixWrapper","DropdownMenuCheckboxItem","MenuItemCheck","render","style","width","height","icon","size","radioCheck","xmlns","viewBox","cx","cy","r","DropdownMenuRadioItem","DropdownMenuGroup","UnconnectedDropdownMenu","_props$placement","open","defaultOpen","onOpenChange","placement","trigger","gutter","shift","modal","variant","otherProps","parentContext","computedDirection","computedPlacement","test","replace","dropdownMenuStore","useMenuStore","parent","focusLoop","setOpen","willBeOpen","rtl","contextValue","appliedPlacementSide","split","type","console","warn","hideOnEscape","event","preventDefault","wrapperProps","dir","direction","MenuButton","SubmenuChevronIcon","preserveAspectRatio","DropdownMenu","hideOnHoverOutside","unmountOnHide","Provider","value","DropdownMenuSeparator","DropdownMenuItemLabel","numberOfLines","DropdownMenuItemHelpText"],"sources":["@wordpress/components/src/dropdown-menu-v2/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport { useStoreState } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tcloneElement,\n\tisValidElement,\n\tuseCallback,\n} from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\nimport { check, chevronRightSmall } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem, contextConnect } from '../context';\nimport type { WordPressComponentProps } from '../context';\nimport Icon from '../icon';\nimport type {\n\tDropdownMenuContext as DropdownMenuContextType,\n\tDropdownMenuProps,\n\tDropdownMenuGroupProps,\n\tDropdownMenuItemProps,\n\tDropdownMenuCheckboxItemProps,\n\tDropdownMenuRadioItemProps,\n\tDropdownMenuSeparatorProps,\n} from './types';\nimport * as Styled from './styles';\n\nexport const DropdownMenuContext = createContext<\n\tDropdownMenuContextType | undefined\n>( undefined );\n\nexport const DropdownMenuItem = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuItemProps, 'div', false >\n>( function DropdownMenuItem(\n\t{ prefix, suffix, children, hideOnClick = true, ...props },\n\tref\n) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\n\treturn (\n\t\t<Styled.DropdownMenuItem\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\taccessibleWhenDisabled\n\t\t\thideOnClick={ hideOnClick }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t>\n\t\t\t<Styled.ItemPrefixWrapper>{ prefix }</Styled.ItemPrefixWrapper>\n\n\t\t\t<Styled.DropdownMenuItemContentWrapper>\n\t\t\t\t<Styled.DropdownMenuItemChildrenWrapper>\n\t\t\t\t\t{ children }\n\t\t\t\t</Styled.DropdownMenuItemChildrenWrapper>\n\n\t\t\t\t{ suffix && (\n\t\t\t\t\t<Styled.ItemSuffixWrapper>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t</Styled.ItemSuffixWrapper>\n\t\t\t\t) }\n\t\t\t</Styled.DropdownMenuItemContentWrapper>\n\t\t</Styled.DropdownMenuItem>\n\t);\n} );\n\nexport const DropdownMenuCheckboxItem = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuCheckboxItemProps, 'div', false >\n>( function DropdownMenuCheckboxItem(\n\t{ suffix, children, hideOnClick = false, ...props },\n\tref\n) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\n\treturn (\n\t\t<Styled.DropdownMenuCheckboxItem\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\taccessibleWhenDisabled\n\t\t\thideOnClick={ hideOnClick }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t>\n\t\t\t<Ariakit.MenuItemCheck\n\t\t\t\tstore={ dropdownMenuContext?.store }\n\t\t\t\trender={ <Styled.ItemPrefixWrapper /> }\n\t\t\t\t// Override some ariakit inline styles\n\t\t\t\tstyle={ { width: 'auto', height: 'auto' } }\n\t\t\t>\n\t\t\t\t<Icon icon={ check } size={ 24 } />\n\t\t\t</Ariakit.MenuItemCheck>\n\n\t\t\t<Styled.DropdownMenuItemContentWrapper>\n\t\t\t\t<Styled.DropdownMenuItemChildrenWrapper>\n\t\t\t\t\t{ children }\n\t\t\t\t</Styled.DropdownMenuItemChildrenWrapper>\n\n\t\t\t\t{ suffix && (\n\t\t\t\t\t<Styled.ItemSuffixWrapper>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t</Styled.ItemSuffixWrapper>\n\t\t\t\t) }\n\t\t\t</Styled.DropdownMenuItemContentWrapper>\n\t\t</Styled.DropdownMenuCheckboxItem>\n\t);\n} );\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nexport const DropdownMenuRadioItem = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuRadioItemProps, 'div', false >\n>( function DropdownMenuRadioItem(\n\t{ suffix, children, hideOnClick = false, ...props },\n\tref\n) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\n\treturn (\n\t\t<Styled.DropdownMenuRadioItem\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\taccessibleWhenDisabled\n\t\t\thideOnClick={ hideOnClick }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t>\n\t\t\t<Ariakit.MenuItemCheck\n\t\t\t\tstore={ dropdownMenuContext?.store }\n\t\t\t\trender={ <Styled.ItemPrefixWrapper /> }\n\t\t\t\t// Override some ariakit inline styles\n\t\t\t\tstyle={ { width: 'auto', height: 'auto' } }\n\t\t\t>\n\t\t\t\t<Icon icon={ radioCheck } size={ 24 } />\n\t\t\t</Ariakit.MenuItemCheck>\n\n\t\t\t<Styled.DropdownMenuItemContentWrapper>\n\t\t\t\t<Styled.DropdownMenuItemChildrenWrapper>\n\t\t\t\t\t{ children }\n\t\t\t\t</Styled.DropdownMenuItemChildrenWrapper>\n\n\t\t\t\t{ suffix && (\n\t\t\t\t\t<Styled.ItemSuffixWrapper>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t</Styled.ItemSuffixWrapper>\n\t\t\t\t) }\n\t\t\t</Styled.DropdownMenuItemContentWrapper>\n\t\t</Styled.DropdownMenuRadioItem>\n\t);\n} );\n\nexport const DropdownMenuGroup = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuGroupProps, 'div', false >\n>( function DropdownMenuGroup( props, ref ) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\treturn (\n\t\t<Styled.DropdownMenuGroup\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t/>\n\t);\n} );\n\nconst UnconnectedDropdownMenu = (\n\tprops: WordPressComponentProps< DropdownMenuProps, 'div', false >,\n\tref: React.ForwardedRef< HTMLDivElement >\n) => {\n\tconst {\n\t\t// Store props\n\t\topen,\n\t\tdefaultOpen = false,\n\t\tonOpenChange,\n\t\tplacement,\n\n\t\t// Menu trigger props\n\t\ttrigger,\n\n\t\t// Menu props\n\t\tgutter,\n\t\tchildren,\n\t\tshift,\n\t\tmodal = true,\n\n\t\t// From internal components context\n\t\tvariant,\n\n\t\t// Rest\n\t\t...otherProps\n\t} = useContextSystem<\n\t\ttypeof props & Pick< DropdownMenuContextType, 'variant' >\n\t>( props, 'DropdownMenu' );\n\n\tconst parentContext = useContext( DropdownMenuContext );\n\n\tconst computedDirection = isRTL() ? 'rtl' : 'ltr';\n\n\t// If an explicit value for the `placement` prop is not passed,\n\t// apply a default placement of `bottom-start` for the root dropdown,\n\t// and of `right-start` for nested dropdowns.\n\tlet computedPlacement =\n\t\tprops.placement ??\n\t\t( parentContext?.store ? 'right-start' : 'bottom-start' );\n\t// Swap left/right in case of RTL direction\n\tif ( computedDirection === 'rtl' ) {\n\t\tif ( /right/.test( computedPlacement ) ) {\n\t\t\tcomputedPlacement = computedPlacement.replace(\n\t\t\t\t'right',\n\t\t\t\t'left'\n\t\t\t) as typeof computedPlacement;\n\t\t} else if ( /left/.test( computedPlacement ) ) {\n\t\t\tcomputedPlacement = computedPlacement.replace(\n\t\t\t\t'left',\n\t\t\t\t'right'\n\t\t\t) as typeof computedPlacement;\n\t\t}\n\t}\n\n\tconst dropdownMenuStore = Ariakit.useMenuStore( {\n\t\tparent: parentContext?.store,\n\t\topen,\n\t\tdefaultOpen,\n\t\tplacement: computedPlacement,\n\t\tfocusLoop: true,\n\t\tsetOpen( willBeOpen ) {\n\t\t\tonOpenChange?.( willBeOpen );\n\t\t},\n\t\trtl: computedDirection === 'rtl',\n\t} );\n\n\tconst contextValue = useMemo(\n\t\t() => ( { store: dropdownMenuStore, variant } ),\n\t\t[ dropdownMenuStore, variant ]\n\t);\n\n\t// Extract the side from the applied placement — useful for animations.\n\tconst appliedPlacementSide = useStoreState(\n\t\tdropdownMenuStore,\n\t\t'placement'\n\t).split( '-' )[ 0 ];\n\n\tif (\n\t\tdropdownMenuStore.parent &&\n\t\t! ( isValidElement( trigger ) && DropdownMenuItem === trigger.type )\n\t) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'For nested DropdownMenus, the `trigger` should always be a `DropdownMenuItem`.'\n\t\t);\n\t}\n\n\tconst hideOnEscape = useCallback(\n\t\t( event: React.KeyboardEvent< Element > ) => {\n\t\t\t// Pressing Escape can cause unexpected consequences (ie. exiting\n\t\t\t// full screen mode on MacOs, close parent modals...).\n\t\t\tevent.preventDefault();\n\t\t\t// Returning `true` causes the menu to hide.\n\t\t\treturn true;\n\t\t},\n\t\t[]\n\t);\n\n\tconst wrapperProps = useMemo(\n\t\t() => ( {\n\t\t\tdir: computedDirection,\n\t\t\tstyle: {\n\t\t\t\tdirection:\n\t\t\t\t\tcomputedDirection as React.CSSProperties[ 'direction' ],\n\t\t\t},\n\t\t} ),\n\t\t[ computedDirection ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Menu trigger */ }\n\t\t\t<Ariakit.MenuButton\n\t\t\t\tref={ ref }\n\t\t\t\tstore={ dropdownMenuStore }\n\t\t\t\trender={\n\t\t\t\t\tdropdownMenuStore.parent\n\t\t\t\t\t\t? cloneElement( trigger, {\n\t\t\t\t\t\t\t\t// Add submenu arrow, unless a `suffix` is explicitly specified\n\t\t\t\t\t\t\t\tsuffix: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ trigger.props.suffix }\n\t\t\t\t\t\t\t\t\t\t<Styled.SubmenuChevronIcon\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ chevronRightSmall }\n\t\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid slice\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: trigger\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ /* Menu popover */ }\n\t\t\t<Styled.DropdownMenu\n\t\t\t\t{ ...otherProps }\n\t\t\t\tmodal={ modal }\n\t\t\t\tstore={ dropdownMenuStore }\n\t\t\t\t// Root menu has an 8px distance from its trigger,\n\t\t\t\t// otherwise 0 (which causes the submenu to slightly overlap)\n\t\t\t\tgutter={ gutter ?? ( dropdownMenuStore.parent ? 0 : 8 ) }\n\t\t\t\t// Align nested menu by the same (but opposite) amount\n\t\t\t\t// as the menu container's padding.\n\t\t\t\tshift={ shift ?? ( dropdownMenuStore.parent ? -4 : 0 ) }\n\t\t\t\thideOnHoverOutside={ false }\n\t\t\t\tdata-side={ appliedPlacementSide }\n\t\t\t\tvariant={ variant }\n\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\thideOnEscape={ hideOnEscape }\n\t\t\t\tunmountOnHide\n\t\t\t>\n\t\t\t\t<DropdownMenuContext.Provider value={ contextValue }>\n\t\t\t\t\t{ children }\n\t\t\t\t</DropdownMenuContext.Provider>\n\t\t\t</Styled.DropdownMenu>\n\t\t</>\n\t);\n};\nexport const DropdownMenu = contextConnect(\n\tUnconnectedDropdownMenu,\n\t'DropdownMenu'\n);\n\nexport const DropdownMenuSeparator = forwardRef<\n\tHTMLHRElement,\n\tWordPressComponentProps< DropdownMenuSeparatorProps, 'hr', false >\n>( function DropdownMenuSeparator( props, ref ) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\treturn (\n\t\t<Styled.DropdownMenuSeparator\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t\tvariant={ dropdownMenuContext?.variant }\n\t\t/>\n\t);\n} );\n\nexport const DropdownMenuItemLabel = forwardRef<\n\tHTMLSpanElement,\n\tWordPressComponentProps< { children: React.ReactNode }, 'span', true >\n>( function DropdownMenuItemLabel( props, ref ) {\n\treturn (\n\t\t<Styled.DropdownMenuItemLabel\n\t\t\tnumberOfLines={ 1 }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n} );\n\nexport const DropdownMenuItemHelpText = forwardRef<\n\tHTMLSpanElement,\n\tWordPressComponentProps< { children: React.ReactNode }, 'span', true >\n>( function DropdownMenuItemHelpText( props, ref ) {\n\treturn (\n\t\t<Styled.DropdownMenuItemHelpText\n\t\t\tnumberOfLines={ 2 }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n} );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Ariakit","useStoreState","useContext","useMemo","cloneElement","isValidElement","useCallback","isRTL","chevronRightSmall","useContextSystem","contextConnect","Styled","DropdownMenuContext","DropdownMenuItem","DropdownMenuCheckboxItem","DropdownMenuRadioItem","DropdownMenuGroup","DropdownMenuGroupLabel","DropdownMenuSeparator","DropdownMenuItemLabel","DropdownMenuItemHelpText","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","UnconnectedDropdownMenu","props","ref","_props$placement","open","defaultOpen","onOpenChange","placement","trigger","gutter","children","shift","modal","variant","otherProps","parentContext","computedDirection","computedPlacement","store","test","replace","dropdownMenuStore","useMenuStore","parent","focusLoop","setOpen","willBeOpen","rtl","contextValue","appliedPlacementSide","split","type","console","warn","hideOnEscape","event","preventDefault","wrapperProps","dir","style","direction","MenuButton","render","suffix","SubmenuChevronIcon","icon","size","preserveAspectRatio","Menu","hideOnHoverOutside","unmountOnHide","renderProps","MenuPopoverOuterWrapper","MenuPopoverInnerWrapper","Provider","value","DropdownMenuV2","Object","assign","Context","displayName","Item","RadioItem","CheckboxItem","Group","GroupLabel","Separator","ItemLabel","ItemHelpText"],"sources":["@wordpress/components/src/dropdown-menu-v2/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport { useStoreState } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseMemo,\n\tcloneElement,\n\tisValidElement,\n\tuseCallback,\n} from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\nimport { chevronRightSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem, contextConnect } from '../context';\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tDropdownMenuContext as DropdownMenuContextType,\n\tDropdownMenuProps,\n} from './types';\nimport * as Styled from './styles';\nimport { DropdownMenuContext } from './context';\nimport { DropdownMenuItem } from './item';\nimport { DropdownMenuCheckboxItem } from './checkbox-item';\nimport { DropdownMenuRadioItem } from './radio-item';\nimport { DropdownMenuGroup } from './group';\nimport { DropdownMenuGroupLabel } from './group-label';\nimport { DropdownMenuSeparator } from './separator';\nimport { DropdownMenuItemLabel } from './item-label';\nimport { DropdownMenuItemHelpText } from './item-help-text';\n\nconst UnconnectedDropdownMenu = (\n\tprops: WordPressComponentProps< DropdownMenuProps, 'div', false >,\n\tref: React.ForwardedRef< HTMLDivElement >\n) => {\n\tconst {\n\t\t// Store props\n\t\topen,\n\t\tdefaultOpen = false,\n\t\tonOpenChange,\n\t\tplacement,\n\n\t\t// Menu trigger props\n\t\ttrigger,\n\n\t\t// Menu props\n\t\tgutter,\n\t\tchildren,\n\t\tshift,\n\t\tmodal = true,\n\n\t\t// From internal components context\n\t\tvariant,\n\n\t\t// Rest\n\t\t...otherProps\n\t} = useContextSystem<\n\t\ttypeof props & Pick< DropdownMenuContextType, 'variant' >\n\t>( props, 'DropdownMenu' );\n\n\tconst parentContext = useContext( DropdownMenuContext );\n\n\tconst computedDirection = isRTL() ? 'rtl' : 'ltr';\n\n\t// If an explicit value for the `placement` prop is not passed,\n\t// apply a default placement of `bottom-start` for the root dropdown,\n\t// and of `right-start` for nested dropdowns.\n\tlet computedPlacement =\n\t\tprops.placement ??\n\t\t( parentContext?.store ? 'right-start' : 'bottom-start' );\n\t// Swap left/right in case of RTL direction\n\tif ( computedDirection === 'rtl' ) {\n\t\tif ( /right/.test( computedPlacement ) ) {\n\t\t\tcomputedPlacement = computedPlacement.replace(\n\t\t\t\t'right',\n\t\t\t\t'left'\n\t\t\t) as typeof computedPlacement;\n\t\t} else if ( /left/.test( computedPlacement ) ) {\n\t\t\tcomputedPlacement = computedPlacement.replace(\n\t\t\t\t'left',\n\t\t\t\t'right'\n\t\t\t) as typeof computedPlacement;\n\t\t}\n\t}\n\n\tconst dropdownMenuStore = Ariakit.useMenuStore( {\n\t\tparent: parentContext?.store,\n\t\topen,\n\t\tdefaultOpen,\n\t\tplacement: computedPlacement,\n\t\tfocusLoop: true,\n\t\tsetOpen( willBeOpen ) {\n\t\t\tonOpenChange?.( willBeOpen );\n\t\t},\n\t\trtl: computedDirection === 'rtl',\n\t} );\n\n\tconst contextValue = useMemo(\n\t\t() => ( { store: dropdownMenuStore, variant } ),\n\t\t[ dropdownMenuStore, variant ]\n\t);\n\n\t// Extract the side from the applied placement — useful for animations.\n\t// Using `currentPlacement` instead of `placement` to make sure that we\n\t// use the final computed placement (including \"flips\" etc).\n\tconst appliedPlacementSide = useStoreState(\n\t\tdropdownMenuStore,\n\t\t'currentPlacement'\n\t).split( '-' )[ 0 ];\n\n\tif (\n\t\tdropdownMenuStore.parent &&\n\t\t! ( isValidElement( trigger ) && DropdownMenuItem === trigger.type )\n\t) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(\n\t\t\t'For nested DropdownMenus, the `trigger` should always be a `DropdownMenuItem`.'\n\t\t);\n\t}\n\n\tconst hideOnEscape = useCallback(\n\t\t( event: React.KeyboardEvent< Element > ) => {\n\t\t\t// Pressing Escape can cause unexpected consequences (ie. exiting\n\t\t\t// full screen mode on MacOs, close parent modals...).\n\t\t\tevent.preventDefault();\n\t\t\t// Returning `true` causes the menu to hide.\n\t\t\treturn true;\n\t\t},\n\t\t[]\n\t);\n\n\tconst wrapperProps = useMemo(\n\t\t() => ( {\n\t\t\tdir: computedDirection,\n\t\t\tstyle: {\n\t\t\t\tdirection:\n\t\t\t\t\tcomputedDirection as React.CSSProperties[ 'direction' ],\n\t\t\t},\n\t\t} ),\n\t\t[ computedDirection ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Menu trigger */ }\n\t\t\t<Ariakit.MenuButton\n\t\t\t\tref={ ref }\n\t\t\t\tstore={ dropdownMenuStore }\n\t\t\t\trender={\n\t\t\t\t\tdropdownMenuStore.parent\n\t\t\t\t\t\t? cloneElement( trigger, {\n\t\t\t\t\t\t\t\t// Add submenu arrow, unless a `suffix` is explicitly specified\n\t\t\t\t\t\t\t\tsuffix: (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ trigger.props.suffix }\n\t\t\t\t\t\t\t\t\t\t<Styled.SubmenuChevronIcon\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ chevronRightSmall }\n\t\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\t\tpreserveAspectRatio=\"xMidYMid slice\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: trigger\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ /* Menu popover */ }\n\t\t\t<Ariakit.Menu\n\t\t\t\t{ ...otherProps }\n\t\t\t\tmodal={ modal }\n\t\t\t\tstore={ dropdownMenuStore }\n\t\t\t\t// Root menu has an 8px distance from its trigger,\n\t\t\t\t// otherwise 0 (which causes the submenu to slightly overlap)\n\t\t\t\tgutter={ gutter ?? ( dropdownMenuStore.parent ? 0 : 8 ) }\n\t\t\t\t// Align nested menu by the same (but opposite) amount\n\t\t\t\t// as the menu container's padding.\n\t\t\t\tshift={ shift ?? ( dropdownMenuStore.parent ? -4 : 0 ) }\n\t\t\t\thideOnHoverOutside={ false }\n\t\t\t\tdata-side={ appliedPlacementSide }\n\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\thideOnEscape={ hideOnEscape }\n\t\t\t\tunmountOnHide\n\t\t\t\trender={ ( renderProps ) => (\n\t\t\t\t\t// Two wrappers are needed for the entry animation, where the menu\n\t\t\t\t\t// container scales with a different factor than its contents.\n\t\t\t\t\t// The {...renderProps} are passed to the inner wrapper, so that the\n\t\t\t\t\t// menu element is the direct parent of the menu item elements.\n\t\t\t\t\t<Styled.MenuPopoverOuterWrapper variant={ variant }>\n\t\t\t\t\t\t<Styled.MenuPopoverInnerWrapper { ...renderProps } />\n\t\t\t\t\t</Styled.MenuPopoverOuterWrapper>\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<DropdownMenuContext.Provider value={ contextValue }>\n\t\t\t\t\t{ children }\n\t\t\t\t</DropdownMenuContext.Provider>\n\t\t\t</Ariakit.Menu>\n\t\t</>\n\t);\n};\n\nexport const DropdownMenuV2 = Object.assign(\n\tcontextConnect( UnconnectedDropdownMenu, 'DropdownMenu' ),\n\t{\n\t\tContext: Object.assign( DropdownMenuContext, {\n\t\t\tdisplayName: 'DropdownMenuV2.Context',\n\t\t} ),\n\t\tItem: Object.assign( DropdownMenuItem, {\n\t\t\tdisplayName: 'DropdownMenuV2.Item',\n\t\t} ),\n\t\tRadioItem: Object.assign( DropdownMenuRadioItem, {\n\t\t\tdisplayName: 'DropdownMenuV2.RadioItem',\n\t\t} ),\n\t\tCheckboxItem: Object.assign( DropdownMenuCheckboxItem, {\n\t\t\tdisplayName: 'DropdownMenuV2.CheckboxItem',\n\t\t} ),\n\t\tGroup: Object.assign( DropdownMenuGroup, {\n\t\t\tdisplayName: 'DropdownMenuV2.Group',\n\t\t} ),\n\t\tGroupLabel: Object.assign( DropdownMenuGroupLabel, {\n\t\t\tdisplayName: 'DropdownMenuV2.GroupLabel',\n\t\t} ),\n\t\tSeparator: Object.assign( DropdownMenuSeparator, {\n\t\t\tdisplayName: 'DropdownMenuV2.Separator',\n\t\t} ),\n\t\tItemLabel: Object.assign( DropdownMenuItemLabel, {\n\t\t\tdisplayName: 'DropdownMenuV2.ItemLabel',\n\t\t} ),\n\t\tItemHelpText: Object.assign( DropdownMenuItemHelpText, {\n\t\t\tdisplayName: 'DropdownMenuV2.ItemHelpText',\n\t\t} ),\n\t}\n);\n\nexport default DropdownMenuV2;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { forwardRef } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ import * as Styled from './styles';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const DropdownMenuItemHelpText = forwardRef(function DropdownMenuItemHelpText(props, ref) {
13
+ return /*#__PURE__*/_jsx(Styled.DropdownMenuItemHelpText, {
14
+ numberOfLines: 2,
15
+ ref: ref,
16
+ ...props
17
+ });
18
+ });
19
+ //# sourceMappingURL=item-help-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","Styled","jsx","_jsx","DropdownMenuItemHelpText","props","ref","numberOfLines"],"sources":["@wordpress/components/src/dropdown-menu-v2/item-help-text.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport * as Styled from './styles';\n\nexport const DropdownMenuItemHelpText = forwardRef<\n\tHTMLSpanElement,\n\tWordPressComponentProps< { children: React.ReactNode }, 'span', true >\n>( function DropdownMenuItemHelpText( props, ref ) {\n\treturn (\n\t\t<Styled.DropdownMenuItemHelpText\n\t\t\tnumberOfLines={ 2 }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;;AAEA,OAAO,KAAKC,MAAM,MAAM,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,wBAAwB,GAAGJ,UAAU,CAG/C,SAASI,wBAAwBA,CAAEC,KAAK,EAAEC,GAAG,EAAG;EAClD,oBACCH,IAAA,CAACF,MAAM,CAACG,wBAAwB;IAC/BG,aAAa,EAAG,CAAG;IACnBD,GAAG,EAAGA,GAAK;IAAA,GACND;EAAK,CACV,CAAC;AAEJ,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { forwardRef } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ import * as Styled from './styles';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const DropdownMenuItemLabel = forwardRef(function DropdownMenuItemLabel(props, ref) {
13
+ return /*#__PURE__*/_jsx(Styled.DropdownMenuItemLabel, {
14
+ numberOfLines: 1,
15
+ ref: ref,
16
+ ...props
17
+ });
18
+ });
19
+ //# sourceMappingURL=item-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","Styled","jsx","_jsx","DropdownMenuItemLabel","props","ref","numberOfLines"],"sources":["@wordpress/components/src/dropdown-menu-v2/item-label.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport * as Styled from './styles';\n\nexport const DropdownMenuItemLabel = forwardRef<\n\tHTMLSpanElement,\n\tWordPressComponentProps< { children: React.ReactNode }, 'span', true >\n>( function DropdownMenuItemLabel( props, ref ) {\n\treturn (\n\t\t<Styled.DropdownMenuItemLabel\n\t\t\tnumberOfLines={ 1 }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;;AAEA,OAAO,KAAKC,MAAM,MAAM,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,qBAAqB,GAAGJ,UAAU,CAG5C,SAASI,qBAAqBA,CAAEC,KAAK,EAAEC,GAAG,EAAG;EAC/C,oBACCH,IAAA,CAACF,MAAM,CAACG,qBAAqB;IAC5BG,aAAa,EAAG,CAAG;IACnBD,GAAG,EAAGA,GAAK;IAAA,GACND;EAAK,CACV,CAAC;AAEJ,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { forwardRef, useContext } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ import * as Styled from './styles';
11
+ import { DropdownMenuContext } from './context';
12
+ import { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ export const DropdownMenuItem = forwardRef(function DropdownMenuItem({
16
+ prefix,
17
+ suffix,
18
+ children,
19
+ onBlur,
20
+ hideOnClick = true,
21
+ ...props
22
+ }, ref) {
23
+ // TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed
24
+ const focusVisibleFixProps = useTemporaryFocusVisibleFix({
25
+ onBlur
26
+ });
27
+ const dropdownMenuContext = useContext(DropdownMenuContext);
28
+ return /*#__PURE__*/_jsxs(Styled.DropdownMenuItem, {
29
+ ref: ref,
30
+ ...props,
31
+ ...focusVisibleFixProps,
32
+ accessibleWhenDisabled: true,
33
+ hideOnClick: hideOnClick,
34
+ store: dropdownMenuContext?.store,
35
+ children: [/*#__PURE__*/_jsx(Styled.ItemPrefixWrapper, {
36
+ children: prefix
37
+ }), /*#__PURE__*/_jsxs(Styled.DropdownMenuItemContentWrapper, {
38
+ children: [/*#__PURE__*/_jsx(Styled.DropdownMenuItemChildrenWrapper, {
39
+ children: children
40
+ }), suffix && /*#__PURE__*/_jsx(Styled.ItemSuffixWrapper, {
41
+ children: suffix
42
+ })]
43
+ })]
44
+ });
45
+ });
46
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useContext","Styled","DropdownMenuContext","useTemporaryFocusVisibleFix","jsx","_jsx","jsxs","_jsxs","DropdownMenuItem","prefix","suffix","children","onBlur","hideOnClick","props","ref","focusVisibleFixProps","dropdownMenuContext","accessibleWhenDisabled","store","ItemPrefixWrapper","DropdownMenuItemContentWrapper","DropdownMenuItemChildrenWrapper","ItemSuffixWrapper"],"sources":["@wordpress/components/src/dropdown-menu-v2/item.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport type { DropdownMenuItemProps } from './types';\nimport * as Styled from './styles';\nimport { DropdownMenuContext } from './context';\nimport { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';\n\nexport const DropdownMenuItem = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuItemProps, 'div', false >\n>( function DropdownMenuItem(\n\t{ prefix, suffix, children, onBlur, hideOnClick = true, ...props },\n\tref\n) {\n\t// TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed\n\tconst focusVisibleFixProps = useTemporaryFocusVisibleFix( { onBlur } );\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\n\treturn (\n\t\t<Styled.DropdownMenuItem\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\t{ ...focusVisibleFixProps }\n\t\t\taccessibleWhenDisabled\n\t\t\thideOnClick={ hideOnClick }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t>\n\t\t\t<Styled.ItemPrefixWrapper>{ prefix }</Styled.ItemPrefixWrapper>\n\n\t\t\t<Styled.DropdownMenuItemContentWrapper>\n\t\t\t\t<Styled.DropdownMenuItemChildrenWrapper>\n\t\t\t\t\t{ children }\n\t\t\t\t</Styled.DropdownMenuItemChildrenWrapper>\n\n\t\t\t\t{ suffix && (\n\t\t\t\t\t<Styled.ItemSuffixWrapper>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t</Styled.ItemSuffixWrapper>\n\t\t\t\t) }\n\t\t\t</Styled.DropdownMenuItemContentWrapper>\n\t\t</Styled.DropdownMenuItem>\n\t);\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;;AAE3D;AACA;AACA;;AAGA,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,SAASC,mBAAmB,QAAQ,WAAW;AAC/C,SAASC,2BAA2B,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEhF,OAAO,MAAMC,gBAAgB,GAAGT,UAAU,CAGvC,SAASS,gBAAgBA,CAC3B;EAAEC,MAAM;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,MAAM;EAAEC,WAAW,GAAG,IAAI;EAAE,GAAGC;AAAM,CAAC,EAClEC,GAAG,EACF;EACD;EACA,MAAMC,oBAAoB,GAAGb,2BAA2B,CAAE;IAAES;EAAO,CAAE,CAAC;EACtE,MAAMK,mBAAmB,GAAGjB,UAAU,CAAEE,mBAAoB,CAAC;EAE7D,oBACCK,KAAA,CAACN,MAAM,CAACO,gBAAgB;IACvBO,GAAG,EAAGA,GAAK;IAAA,GACND,KAAK;IAAA,GACLE,oBAAoB;IACzBE,sBAAsB;IACtBL,WAAW,EAAGA,WAAa;IAC3BM,KAAK,EAAGF,mBAAmB,EAAEE,KAAO;IAAAR,QAAA,gBAEpCN,IAAA,CAACJ,MAAM,CAACmB,iBAAiB;MAAAT,QAAA,EAAGF;IAAM,CAA4B,CAAC,eAE/DF,KAAA,CAACN,MAAM,CAACoB,8BAA8B;MAAAV,QAAA,gBACrCN,IAAA,CAACJ,MAAM,CAACqB,+BAA+B;QAAAX,QAAA,EACpCA;MAAQ,CAC6B,CAAC,EAEvCD,MAAM,iBACPL,IAAA,CAACJ,MAAM,CAACsB,iBAAiB;QAAAZ,QAAA,EACtBD;MAAM,CACiB,CAC1B;IAAA,CACqC,CAAC;EAAA,CAChB,CAAC;AAE5B,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import * as Ariakit from '@ariakit/react';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { forwardRef, useContext } from '@wordpress/element';
10
+ import { Icon } from '@wordpress/icons';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+
16
+ import { DropdownMenuContext } from './context';
17
+ import * as Styled from './styles';
18
+ import { SVG, Circle } from '@wordpress/primitives';
19
+ import { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';
20
+ import { jsx as _jsx } from "react/jsx-runtime";
21
+ import { jsxs as _jsxs } from "react/jsx-runtime";
22
+ const radioCheck = /*#__PURE__*/_jsx(SVG, {
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ viewBox: "0 0 24 24",
25
+ children: /*#__PURE__*/_jsx(Circle, {
26
+ cx: 12,
27
+ cy: 12,
28
+ r: 3
29
+ })
30
+ });
31
+ export const DropdownMenuRadioItem = forwardRef(function DropdownMenuRadioItem({
32
+ suffix,
33
+ children,
34
+ onBlur,
35
+ hideOnClick = false,
36
+ ...props
37
+ }, ref) {
38
+ // TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed
39
+ const focusVisibleFixProps = useTemporaryFocusVisibleFix({
40
+ onBlur
41
+ });
42
+ const dropdownMenuContext = useContext(DropdownMenuContext);
43
+ return /*#__PURE__*/_jsxs(Styled.DropdownMenuRadioItem, {
44
+ ref: ref,
45
+ ...props,
46
+ ...focusVisibleFixProps,
47
+ accessibleWhenDisabled: true,
48
+ hideOnClick: hideOnClick,
49
+ store: dropdownMenuContext?.store,
50
+ children: [/*#__PURE__*/_jsx(Ariakit.MenuItemCheck, {
51
+ store: dropdownMenuContext?.store,
52
+ render: /*#__PURE__*/_jsx(Styled.ItemPrefixWrapper, {})
53
+ // Override some ariakit inline styles
54
+ ,
55
+ style: {
56
+ width: 'auto',
57
+ height: 'auto'
58
+ },
59
+ children: /*#__PURE__*/_jsx(Icon, {
60
+ icon: radioCheck,
61
+ size: 24
62
+ })
63
+ }), /*#__PURE__*/_jsxs(Styled.DropdownMenuItemContentWrapper, {
64
+ children: [/*#__PURE__*/_jsx(Styled.DropdownMenuItemChildrenWrapper, {
65
+ children: children
66
+ }), suffix && /*#__PURE__*/_jsx(Styled.ItemSuffixWrapper, {
67
+ children: suffix
68
+ })]
69
+ })]
70
+ });
71
+ });
72
+ //# sourceMappingURL=radio-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Ariakit","forwardRef","useContext","Icon","DropdownMenuContext","Styled","SVG","Circle","useTemporaryFocusVisibleFix","jsx","_jsx","jsxs","_jsxs","radioCheck","xmlns","viewBox","children","cx","cy","r","DropdownMenuRadioItem","suffix","onBlur","hideOnClick","props","ref","focusVisibleFixProps","dropdownMenuContext","accessibleWhenDisabled","store","MenuItemCheck","render","ItemPrefixWrapper","style","width","height","icon","size","DropdownMenuItemContentWrapper","DropdownMenuItemChildrenWrapper","ItemSuffixWrapper"],"sources":["@wordpress/components/src/dropdown-menu-v2/radio-item.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\nimport { Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { DropdownMenuContext } from './context';\nimport type { DropdownMenuRadioItemProps } from './types';\nimport * as Styled from './styles';\nimport { SVG, Circle } from '@wordpress/primitives';\nimport { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nexport const DropdownMenuRadioItem = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuRadioItemProps, 'div', false >\n>( function DropdownMenuRadioItem(\n\t{ suffix, children, onBlur, hideOnClick = false, ...props },\n\tref\n) {\n\t// TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed\n\tconst focusVisibleFixProps = useTemporaryFocusVisibleFix( { onBlur } );\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\n\treturn (\n\t\t<Styled.DropdownMenuRadioItem\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\t{ ...focusVisibleFixProps }\n\t\t\taccessibleWhenDisabled\n\t\t\thideOnClick={ hideOnClick }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t>\n\t\t\t<Ariakit.MenuItemCheck\n\t\t\t\tstore={ dropdownMenuContext?.store }\n\t\t\t\trender={ <Styled.ItemPrefixWrapper /> }\n\t\t\t\t// Override some ariakit inline styles\n\t\t\t\tstyle={ { width: 'auto', height: 'auto' } }\n\t\t\t>\n\t\t\t\t<Icon icon={ radioCheck } size={ 24 } />\n\t\t\t</Ariakit.MenuItemCheck>\n\n\t\t\t<Styled.DropdownMenuItemContentWrapper>\n\t\t\t\t<Styled.DropdownMenuItemChildrenWrapper>\n\t\t\t\t\t{ children }\n\t\t\t\t</Styled.DropdownMenuItemChildrenWrapper>\n\n\t\t\t\t{ suffix && (\n\t\t\t\t\t<Styled.ItemSuffixWrapper>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t</Styled.ItemSuffixWrapper>\n\t\t\t\t) }\n\t\t\t</Styled.DropdownMenuItemContentWrapper>\n\t\t</Styled.DropdownMenuRadioItem>\n\t);\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;;AAEzC;AACA;AACA;AACA,SAASC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AAC3D,SAASC,IAAI,QAAQ,kBAAkB;;AAEvC;AACA;AACA;;AAEA,SAASC,mBAAmB,QAAQ,WAAW;AAE/C,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,SAASC,GAAG,EAAEC,MAAM,QAAQ,uBAAuB;AACnD,SAASC,2BAA2B,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEhF,MAAMC,UAAU,gBACfH,IAAA,CAACJ,GAAG;EAACQ,KAAK,EAAC,4BAA4B;EAACC,OAAO,EAAC,WAAW;EAAAC,QAAA,eAC1DN,IAAA,CAACH,MAAM;IAACU,EAAE,EAAG,EAAI;IAACC,EAAE,EAAG,EAAI;IAACC,CAAC,EAAG;EAAG,CAAS;AAAC,CACzC,CACL;AAED,OAAO,MAAMC,qBAAqB,GAAGnB,UAAU,CAG5C,SAASmB,qBAAqBA,CAChC;EAAEC,MAAM;EAAEL,QAAQ;EAAEM,MAAM;EAAEC,WAAW,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,EAC3DC,GAAG,EACF;EACD;EACA,MAAMC,oBAAoB,GAAGlB,2BAA2B,CAAE;IAAEc;EAAO,CAAE,CAAC;EACtE,MAAMK,mBAAmB,GAAGzB,UAAU,CAAEE,mBAAoB,CAAC;EAE7D,oBACCQ,KAAA,CAACP,MAAM,CAACe,qBAAqB;IAC5BK,GAAG,EAAGA,GAAK;IAAA,GACND,KAAK;IAAA,GACLE,oBAAoB;IACzBE,sBAAsB;IACtBL,WAAW,EAAGA,WAAa;IAC3BM,KAAK,EAAGF,mBAAmB,EAAEE,KAAO;IAAAb,QAAA,gBAEpCN,IAAA,CAACV,OAAO,CAAC8B,aAAa;MACrBD,KAAK,EAAGF,mBAAmB,EAAEE,KAAO;MACpCE,MAAM,eAAGrB,IAAA,CAACL,MAAM,CAAC2B,iBAAiB,IAAE;MACpC;MAAA;MACAC,KAAK,EAAG;QAAEC,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE;MAAO,CAAG;MAAAnB,QAAA,eAE3CN,IAAA,CAACP,IAAI;QAACiC,IAAI,EAAGvB,UAAY;QAACwB,IAAI,EAAG;MAAI,CAAE;IAAC,CAClB,CAAC,eAExBzB,KAAA,CAACP,MAAM,CAACiC,8BAA8B;MAAAtB,QAAA,gBACrCN,IAAA,CAACL,MAAM,CAACkC,+BAA+B;QAAAvB,QAAA,EACpCA;MAAQ,CAC6B,CAAC,EAEvCK,MAAM,iBACPX,IAAA,CAACL,MAAM,CAACmC,iBAAiB;QAAAxB,QAAA,EACtBK;MAAM,CACiB,CAC1B;IAAA,CACqC,CAAC;EAAA,CACX,CAAC;AAEjC,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { forwardRef, useContext } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ import { DropdownMenuContext } from './context';
11
+ import * as Styled from './styles';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export const DropdownMenuSeparator = forwardRef(function DropdownMenuSeparator(props, ref) {
14
+ const dropdownMenuContext = useContext(DropdownMenuContext);
15
+ return /*#__PURE__*/_jsx(Styled.DropdownMenuSeparator, {
16
+ ref: ref,
17
+ ...props,
18
+ store: dropdownMenuContext?.store,
19
+ variant: dropdownMenuContext?.variant
20
+ });
21
+ });
22
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useContext","DropdownMenuContext","Styled","jsx","_jsx","DropdownMenuSeparator","props","ref","dropdownMenuContext","store","variant"],"sources":["@wordpress/components/src/dropdown-menu-v2/separator.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { DropdownMenuContext } from './context';\nimport type { DropdownMenuSeparatorProps } from './types';\nimport * as Styled from './styles';\n\nexport const DropdownMenuSeparator = forwardRef<\n\tHTMLHRElement,\n\tWordPressComponentProps< DropdownMenuSeparatorProps, 'hr', false >\n>( function DropdownMenuSeparator( props, ref ) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\treturn (\n\t\t<Styled.DropdownMenuSeparator\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tstore={ dropdownMenuContext?.store }\n\t\t\tvariant={ dropdownMenuContext?.variant }\n\t\t/>\n\t);\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;;AAE3D;AACA;AACA;;AAEA,SAASC,mBAAmB,QAAQ,WAAW;AAE/C,OAAO,KAAKC,MAAM,MAAM,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,qBAAqB,GAAGN,UAAU,CAG5C,SAASM,qBAAqBA,CAAEC,KAAK,EAAEC,GAAG,EAAG;EAC/C,MAAMC,mBAAmB,GAAGR,UAAU,CAAEC,mBAAoB,CAAC;EAC7D,oBACCG,IAAA,CAACF,MAAM,CAACG,qBAAqB;IAC5BE,GAAG,EAAGA,GAAK;IAAA,GACND,KAAK;IACVG,KAAK,EAAGD,mBAAmB,EAAEC,KAAO;IACpCC,OAAO,EAAGF,mBAAmB,EAAEE;EAAS,CACxC,CAAC;AAEJ,CAAE,CAAC","ignoreList":[]}