@wordpress/components 28.6.0 → 28.8.1-next.1f6eadc42.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 (652) hide show
  1. package/CHANGELOG.md +109 -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/box-control/utils.js +1 -1
  17. package/build/box-control/utils.js.map +1 -1
  18. package/build/circular-option-picker/circular-option-picker-option.js +15 -9
  19. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  20. package/build/circular-option-picker/circular-option-picker.js +15 -12
  21. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  22. package/build/circular-option-picker/types.js.map +1 -1
  23. package/build/clipboard-button/index.js +6 -6
  24. package/build/clipboard-button/index.js.map +1 -1
  25. package/build/color-palette/utils.js +1 -2
  26. package/build/color-palette/utils.js.map +1 -1
  27. package/build/color-picker/color-copy-button.js +8 -8
  28. package/build/color-picker/color-copy-button.js.map +1 -1
  29. package/build/color-picker/hex-input.js +8 -8
  30. package/build/color-picker/hex-input.js.map +1 -1
  31. package/build/color-picker/input-with-slider.js +8 -8
  32. package/build/color-picker/input-with-slider.js.map +1 -1
  33. package/build/color-picker/styles.js +8 -8
  34. package/build/color-picker/styles.js.map +1 -1
  35. package/build/combobox-control/types.js.map +1 -1
  36. package/build/composite/context.js +1 -1
  37. package/build/composite/context.js.map +1 -1
  38. package/build/composite/group-label.js +33 -0
  39. package/build/composite/group-label.js.map +1 -0
  40. package/build/composite/group.js +33 -0
  41. package/build/composite/group.js.map +1 -0
  42. package/build/composite/hover.js +33 -0
  43. package/build/composite/hover.js.map +1 -0
  44. package/build/composite/index.js +63 -118
  45. package/build/composite/index.js.map +1 -1
  46. package/build/composite/item.js +33 -0
  47. package/build/composite/item.js.map +1 -0
  48. package/build/composite/legacy/index.js +59 -7
  49. package/build/composite/legacy/index.js.map +1 -1
  50. package/build/composite/row.js +33 -0
  51. package/build/composite/row.js.map +1 -0
  52. package/build/composite/typeahead.js +33 -0
  53. package/build/composite/typeahead.js.map +1 -0
  54. package/build/composite/types.js.map +1 -1
  55. package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  56. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  57. package/build/custom-select-control-v2/styles.js +12 -14
  58. package/build/custom-select-control-v2/styles.js.map +1 -1
  59. package/build/date-time/date/index.js +1 -1
  60. package/build/date-time/date/index.js.map +1 -1
  61. package/build/date-time/date/styles.js +37 -26
  62. package/build/date-time/date/styles.js.map +1 -1
  63. package/build/date-time/date/use-lilius/index.js +163 -0
  64. package/build/date-time/date/use-lilius/index.js.map +1 -0
  65. package/build/date-time/time/time-input/index.js +17 -19
  66. package/build/date-time/time/time-input/index.js.map +1 -1
  67. package/build/dimension-control/index.js +6 -1
  68. package/build/dimension-control/index.js.map +1 -1
  69. package/build/draggable/index.js +4 -4
  70. package/build/draggable/index.js.map +1 -1
  71. package/build/dropdown-menu-v2/checkbox-item.js +69 -0
  72. package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
  73. package/build/dropdown-menu-v2/context.js +17 -0
  74. package/build/dropdown-menu-v2/context.js.map +1 -0
  75. package/build/dropdown-menu-v2/group-label.js +40 -0
  76. package/build/dropdown-menu-v2/group-label.js.map +1 -0
  77. package/build/dropdown-menu-v2/group.js +29 -0
  78. package/build/dropdown-menu-v2/group.js.map +1 -0
  79. package/build/dropdown-menu-v2/index.js +58 -146
  80. package/build/dropdown-menu-v2/index.js.map +1 -1
  81. package/build/dropdown-menu-v2/item-help-text.js +27 -0
  82. package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
  83. package/build/dropdown-menu-v2/item-label.js +27 -0
  84. package/build/dropdown-menu-v2/item-label.js.map +1 -0
  85. package/build/dropdown-menu-v2/item.js +53 -0
  86. package/build/dropdown-menu-v2/item.js.map +1 -0
  87. package/build/dropdown-menu-v2/radio-item.js +79 -0
  88. package/build/dropdown-menu-v2/radio-item.js.map +1 -0
  89. package/build/dropdown-menu-v2/separator.js +30 -0
  90. package/build/dropdown-menu-v2/separator.js.map +1 -0
  91. package/build/dropdown-menu-v2/styles.js +54 -78
  92. package/build/dropdown-menu-v2/styles.js.map +1 -1
  93. package/build/dropdown-menu-v2/types.js.map +1 -1
  94. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
  95. package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  96. package/build/focal-point-picker/styles/focal-point-style.js +7 -2
  97. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  98. package/build/form-token-field/types.js.map +1 -1
  99. package/build/index.js +13 -0
  100. package/build/index.js.map +1 -1
  101. package/build/input-control/index.js +2 -2
  102. package/build/input-control/index.js.map +1 -1
  103. package/build/input-control/input-base.js +5 -10
  104. package/build/input-control/input-base.js.map +1 -1
  105. package/build/input-control/input-prefix-wrapper.js +3 -3
  106. package/build/input-control/input-prefix-wrapper.js.map +1 -1
  107. package/build/input-control/input-suffix-wrapper.js +2 -3
  108. package/build/input-control/input-suffix-wrapper.js.map +1 -1
  109. package/build/input-control/reducer/reducer.js +8 -8
  110. package/build/input-control/reducer/reducer.js.map +1 -1
  111. package/build/input-control/styles/input-control-styles.js +75 -45
  112. package/build/input-control/styles/input-control-styles.js.map +1 -1
  113. package/build/input-control/types.js.map +1 -1
  114. package/build/input-control/utils.js +3 -3
  115. package/build/input-control/utils.js.map +1 -1
  116. package/build/item-group/styles.js +10 -10
  117. package/build/item-group/styles.js.map +1 -1
  118. package/build/modal/index.js +16 -9
  119. package/build/modal/index.js.map +1 -1
  120. package/build/navigation/index.js +4 -4
  121. package/build/navigation/index.js.map +1 -1
  122. package/build/navigation/styles/navigation-styles.js +13 -13
  123. package/build/navigation/styles/navigation-styles.js.map +1 -1
  124. package/build/navigator/index.js +12 -13
  125. package/build/navigator/index.js.map +1 -1
  126. package/build/navigator/navigator-back-button/hook.js +2 -2
  127. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  128. package/build/navigator/navigator-button/hook.js +2 -2
  129. package/build/navigator/navigator-button/hook.js.map +1 -1
  130. package/build/navigator/navigator-provider/component.js +99 -67
  131. package/build/navigator/navigator-provider/component.js.map +1 -1
  132. package/build/navigator/navigator-screen/component.js +5 -0
  133. package/build/navigator/navigator-screen/component.js.map +1 -1
  134. package/build/navigator/navigator-to-parent-button/component.js +2 -2
  135. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  136. package/build/navigator/types.js.map +1 -1
  137. package/build/navigator/use-navigator.js +1 -2
  138. package/build/navigator/use-navigator.js.map +1 -1
  139. package/build/palette-edit/index.js +2 -2
  140. package/build/palette-edit/index.js.map +1 -1
  141. package/build/private-apis.js +1 -14
  142. package/build/private-apis.js.map +1 -1
  143. package/build/range-control/styles/range-control-styles.js +30 -30
  144. package/build/range-control/styles/range-control-styles.js.map +1 -1
  145. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  146. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  147. package/build/select-control/styles/select-control-styles.js +12 -12
  148. package/build/select-control/styles/select-control-styles.js.map +1 -1
  149. package/build/slot-fill/bubbles-virtually/fill.js +4 -4
  150. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  151. package/build/slot-fill/index.js +1 -0
  152. package/build/slot-fill/index.js.map +1 -1
  153. package/build/snackbar/index.js +4 -4
  154. package/build/snackbar/index.js.map +1 -1
  155. package/build/tabs/index.js +4 -4
  156. package/build/tabs/index.js.map +1 -1
  157. package/build/tabs/styles.js +3 -3
  158. package/build/tabs/styles.js.map +1 -1
  159. package/build/tabs/tablist.js +5 -4
  160. package/build/tabs/tablist.js.map +1 -1
  161. package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
  162. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  163. package/build/tools-panel/tools-panel/hook.js +6 -6
  164. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  165. package/build/unit-control/styles/unit-control-styles.js +7 -7
  166. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  167. package/build/utils/config-values.js +6 -4
  168. package/build/utils/config-values.js.map +1 -1
  169. package/build/utils/element-rect.js +73 -105
  170. package/build/utils/element-rect.js.map +1 -1
  171. package/build/utils/hooks/use-update-effect.js +4 -4
  172. package/build/utils/hooks/use-update-effect.js.map +1 -1
  173. package/build-module/alignment-matrix-control/cell.js +2 -5
  174. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  175. package/build-module/alignment-matrix-control/icon.js +31 -19
  176. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  177. package/build-module/alignment-matrix-control/index.js +55 -50
  178. package/build-module/alignment-matrix-control/index.js.map +1 -1
  179. package/build-module/alignment-matrix-control/styles.js +70 -0
  180. package/build-module/alignment-matrix-control/styles.js.map +1 -0
  181. package/build-module/alignment-matrix-control/types.js.map +1 -1
  182. package/build-module/angle-picker-control/angle-circle.js +9 -9
  183. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  184. package/build-module/border-control/border-control/component.js +18 -13
  185. package/build-module/border-control/border-control/component.js.map +1 -1
  186. package/build-module/box-control/utils.js +1 -1
  187. package/build-module/box-control/utils.js.map +1 -1
  188. package/build-module/circular-option-picker/circular-option-picker-option.js +16 -10
  189. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  190. package/build-module/circular-option-picker/circular-option-picker.js +16 -13
  191. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  192. package/build-module/circular-option-picker/types.js.map +1 -1
  193. package/build-module/clipboard-button/index.js +6 -6
  194. package/build-module/clipboard-button/index.js.map +1 -1
  195. package/build-module/color-palette/utils.js +1 -2
  196. package/build-module/color-palette/utils.js.map +1 -1
  197. package/build-module/color-picker/color-copy-button.js +8 -8
  198. package/build-module/color-picker/color-copy-button.js.map +1 -1
  199. package/build-module/color-picker/hex-input.js +7 -8
  200. package/build-module/color-picker/hex-input.js.map +1 -1
  201. package/build-module/color-picker/input-with-slider.js +7 -8
  202. package/build-module/color-picker/input-with-slider.js.map +1 -1
  203. package/build-module/color-picker/styles.js +8 -8
  204. package/build-module/color-picker/styles.js.map +1 -1
  205. package/build-module/combobox-control/types.js.map +1 -1
  206. package/build-module/composite/context.js +1 -1
  207. package/build-module/composite/context.js.map +1 -1
  208. package/build-module/composite/group-label.js +25 -0
  209. package/build-module/composite/group-label.js.map +1 -0
  210. package/build-module/composite/group.js +25 -0
  211. package/build-module/composite/group.js.map +1 -0
  212. package/build-module/composite/hover.js +25 -0
  213. package/build-module/composite/hover.js.map +1 -0
  214. package/build-module/composite/index.js +64 -118
  215. package/build-module/composite/index.js.map +1 -1
  216. package/build-module/composite/item.js +25 -0
  217. package/build-module/composite/item.js.map +1 -0
  218. package/build-module/composite/legacy/index.js +57 -8
  219. package/build-module/composite/legacy/index.js.map +1 -1
  220. package/build-module/composite/row.js +25 -0
  221. package/build-module/composite/row.js.map +1 -0
  222. package/build-module/composite/typeahead.js +25 -0
  223. package/build-module/composite/typeahead.js.map +1 -0
  224. package/build-module/composite/types.js.map +1 -1
  225. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
  226. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  227. package/build-module/custom-select-control-v2/styles.js +12 -14
  228. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  229. package/build-module/date-time/date/index.js +1 -2
  230. package/build-module/date-time/date/index.js.map +1 -1
  231. package/build-module/date-time/date/styles.js +33 -26
  232. package/build-module/date-time/date/styles.js.map +1 -1
  233. package/build-module/date-time/date/use-lilius/index.js +158 -0
  234. package/build-module/date-time/date/use-lilius/index.js.map +1 -0
  235. package/build-module/date-time/time/time-input/index.js +17 -19
  236. package/build-module/date-time/time/time-input/index.js.map +1 -1
  237. package/build-module/dimension-control/index.js +6 -1
  238. package/build-module/dimension-control/index.js.map +1 -1
  239. package/build-module/draggable/index.js +4 -4
  240. package/build-module/draggable/index.js.map +1 -1
  241. package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
  242. package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
  243. package/build-module/dropdown-menu-v2/context.js +11 -0
  244. package/build-module/dropdown-menu-v2/context.js.map +1 -0
  245. package/build-module/dropdown-menu-v2/group-label.js +32 -0
  246. package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
  247. package/build-module/dropdown-menu-v2/group.js +21 -0
  248. package/build-module/dropdown-menu-v2/group.js.map +1 -0
  249. package/build-module/dropdown-menu-v2/index.js +57 -144
  250. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  251. package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
  252. package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
  253. package/build-module/dropdown-menu-v2/item-label.js +19 -0
  254. package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
  255. package/build-module/dropdown-menu-v2/item.js +46 -0
  256. package/build-module/dropdown-menu-v2/item.js.map +1 -0
  257. package/build-module/dropdown-menu-v2/radio-item.js +72 -0
  258. package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
  259. package/build-module/dropdown-menu-v2/separator.js +22 -0
  260. package/build-module/dropdown-menu-v2/separator.js.map +1 -0
  261. package/build-module/dropdown-menu-v2/styles.js +54 -78
  262. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  263. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  264. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
  265. package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
  266. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
  267. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  268. package/build-module/form-token-field/types.js.map +1 -1
  269. package/build-module/index.js +3 -1
  270. package/build-module/index.js.map +1 -1
  271. package/build-module/input-control/index.js +2 -2
  272. package/build-module/input-control/index.js.map +1 -1
  273. package/build-module/input-control/input-base.js +6 -11
  274. package/build-module/input-control/input-base.js.map +1 -1
  275. package/build-module/input-control/input-prefix-wrapper.js +4 -3
  276. package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
  277. package/build-module/input-control/input-suffix-wrapper.js +3 -3
  278. package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
  279. package/build-module/input-control/reducer/reducer.js +8 -8
  280. package/build-module/input-control/reducer/reducer.js.map +1 -1
  281. package/build-module/input-control/styles/input-control-styles.js +74 -44
  282. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  283. package/build-module/input-control/types.js.map +1 -1
  284. package/build-module/input-control/utils.js +3 -3
  285. package/build-module/input-control/utils.js.map +1 -1
  286. package/build-module/item-group/styles.js +10 -10
  287. package/build-module/item-group/styles.js.map +1 -1
  288. package/build-module/modal/index.js +17 -9
  289. package/build-module/modal/index.js.map +1 -1
  290. package/build-module/navigation/index.js +4 -4
  291. package/build-module/navigation/index.js.map +1 -1
  292. package/build-module/navigation/styles/navigation-styles.js +14 -14
  293. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  294. package/build-module/navigator/index.js +6 -6
  295. package/build-module/navigator/index.js.map +1 -1
  296. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  297. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  298. package/build-module/navigator/navigator-button/hook.js +1 -1
  299. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  300. package/build-module/navigator/navigator-provider/component.js +99 -67
  301. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  302. package/build-module/navigator/navigator-screen/component.js +4 -0
  303. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  304. package/build-module/navigator/navigator-to-parent-button/component.js +1 -1
  305. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  306. package/build-module/navigator/types.js.map +1 -1
  307. package/build-module/navigator/use-navigator.js +1 -2
  308. package/build-module/navigator/use-navigator.js.map +1 -1
  309. package/build-module/palette-edit/index.js +2 -2
  310. package/build-module/palette-edit/index.js.map +1 -1
  311. package/build-module/private-apis.js +1 -14
  312. package/build-module/private-apis.js.map +1 -1
  313. package/build-module/range-control/styles/range-control-styles.js +31 -31
  314. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  315. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
  316. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  317. package/build-module/select-control/styles/select-control-styles.js +13 -13
  318. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  319. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
  320. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  321. package/build-module/slot-fill/index.js +1 -0
  322. package/build-module/slot-fill/index.js.map +1 -1
  323. package/build-module/snackbar/index.js +4 -4
  324. package/build-module/snackbar/index.js.map +1 -1
  325. package/build-module/tabs/index.js +4 -4
  326. package/build-module/tabs/index.js.map +1 -1
  327. package/build-module/tabs/styles.js +4 -4
  328. package/build-module/tabs/styles.js.map +1 -1
  329. package/build-module/tabs/tablist.js +5 -4
  330. package/build-module/tabs/tablist.js.map +1 -1
  331. package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
  332. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  333. package/build-module/tools-panel/tools-panel/hook.js +6 -6
  334. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  335. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  336. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  337. package/build-module/utils/config-values.js +6 -4
  338. package/build-module/utils/config-values.js.map +1 -1
  339. package/build-module/utils/element-rect.js +74 -105
  340. package/build-module/utils/element-rect.js.map +1 -1
  341. package/build-module/utils/hooks/use-update-effect.js +4 -4
  342. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  343. package/build-style/style-rtl.css +12 -27
  344. package/build-style/style.css +12 -27
  345. package/build-types/alignment-matrix-control/cell.d.ts +1 -1
  346. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
  347. package/build-types/alignment-matrix-control/icon.d.ts +1 -1
  348. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
  349. package/build-types/alignment-matrix-control/index.d.ts +16 -6
  350. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  351. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  352. package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
  353. package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
  354. package/build-types/alignment-matrix-control/types.d.ts +12 -1
  355. package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
  356. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  357. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  358. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  359. package/build-types/box-control/utils.d.ts +1 -1
  360. package/build-types/box-control/utils.d.ts.map +1 -1
  361. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  362. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  363. package/build-types/circular-option-picker/types.d.ts +2 -2
  364. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  365. package/build-types/color-palette/utils.d.ts.map +1 -1
  366. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  367. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  368. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  369. package/build-types/color-picker/styles.d.ts.map +1 -1
  370. package/build-types/combobox-control/types.d.ts +1 -0
  371. package/build-types/combobox-control/types.d.ts.map +1 -1
  372. package/build-types/composite/context.d.ts.map +1 -1
  373. package/build-types/composite/group-label.d.ts +3 -0
  374. package/build-types/composite/group-label.d.ts.map +1 -0
  375. package/build-types/composite/group.d.ts +3 -0
  376. package/build-types/composite/group.d.ts.map +1 -0
  377. package/build-types/composite/hover.d.ts +3 -0
  378. package/build-types/composite/hover.d.ts.map +1 -0
  379. package/build-types/composite/index.d.ts +63 -47
  380. package/build-types/composite/index.d.ts.map +1 -1
  381. package/build-types/composite/item.d.ts +3 -0
  382. package/build-types/composite/item.d.ts.map +1 -0
  383. package/build-types/composite/legacy/index.d.ts +23 -3
  384. package/build-types/composite/legacy/index.d.ts.map +1 -1
  385. package/build-types/composite/legacy/stories/index.story.d.ts.map +1 -1
  386. package/build-types/composite/row.d.ts +3 -0
  387. package/build-types/composite/row.d.ts.map +1 -0
  388. package/build-types/composite/stories/index.story.d.ts +9 -8
  389. package/build-types/composite/stories/index.story.d.ts.map +1 -1
  390. package/build-types/composite/typeahead.d.ts +3 -0
  391. package/build-types/composite/typeahead.d.ts.map +1 -0
  392. package/build-types/composite/types.d.ts +12 -11
  393. package/build-types/composite/types.d.ts.map +1 -1
  394. package/build-types/date-time/date/index.d.ts +0 -3
  395. package/build-types/date-time/date/index.d.ts.map +1 -1
  396. package/build-types/date-time/date/styles.d.ts.map +1 -1
  397. package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
  398. package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
  399. package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
  400. package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
  401. package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
  402. package/build-types/dimension-control/index.d.ts +1 -1
  403. package/build-types/dimension-control/index.d.ts.map +1 -1
  404. package/build-types/dimension-control/stories/index.story.d.ts +5 -0
  405. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  406. package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
  407. package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
  408. package/build-types/dropdown-menu-v2/context.d.ts +6 -0
  409. package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
  410. package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
  411. package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
  412. package/build-types/dropdown-menu-v2/group.d.ts +3 -0
  413. package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
  414. package/build-types/dropdown-menu-v2/index.d.ts +39 -18
  415. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  416. package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
  417. package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
  418. package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
  419. package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
  420. package/build-types/dropdown-menu-v2/item.d.ts +3 -0
  421. package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
  422. package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
  423. package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
  424. package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
  425. package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
  426. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
  427. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  428. package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
  429. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  430. package/build-types/dropdown-menu-v2/types.d.ts +6 -0
  431. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  432. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
  433. package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
  434. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  435. package/build-types/form-token-field/types.d.ts +1 -0
  436. package/build-types/form-token-field/types.d.ts.map +1 -1
  437. package/build-types/index.d.ts +4 -1
  438. package/build-types/index.d.ts.map +1 -1
  439. package/build-types/input-control/input-base.d.ts.map +1 -1
  440. package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
  441. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  442. package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
  443. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  444. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  445. package/build-types/input-control/stories/index.story.d.ts +9 -0
  446. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  447. package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
  448. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  449. package/build-types/input-control/types.d.ts +23 -6
  450. package/build-types/input-control/types.d.ts.map +1 -1
  451. package/build-types/modal/index.d.ts.map +1 -1
  452. package/build-types/modal/stories/index.story.d.ts +3 -0
  453. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  454. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  455. package/build-types/navigator/index.d.ts +6 -6
  456. package/build-types/navigator/index.d.ts.map +1 -1
  457. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  458. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  459. package/build-types/navigator/stories/index.story.d.ts +1 -1
  460. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  461. package/build-types/navigator/types.d.ts +3 -1
  462. package/build-types/navigator/types.d.ts.map +1 -1
  463. package/build-types/navigator/use-navigator.d.ts +1 -2
  464. package/build-types/navigator/use-navigator.d.ts.map +1 -1
  465. package/build-types/private-apis.d.ts.map +1 -1
  466. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  467. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  468. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  469. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  470. package/build-types/slot-fill/index.d.ts +3 -0
  471. package/build-types/slot-fill/index.d.ts.map +1 -1
  472. package/build-types/tabs/index.d.ts.map +1 -1
  473. package/build-types/tabs/styles.d.ts.map +1 -1
  474. package/build-types/tabs/tablist.d.ts.map +1 -1
  475. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  476. package/build-types/utils/config-values.d.ts +3 -3
  477. package/build-types/utils/element-rect.d.ts +32 -74
  478. package/build-types/utils/element-rect.d.ts.map +1 -1
  479. package/package.json +19 -20
  480. package/src/alignment-matrix-control/README.md +1 -5
  481. package/src/alignment-matrix-control/cell.tsx +3 -9
  482. package/src/alignment-matrix-control/icon.tsx +48 -30
  483. package/src/alignment-matrix-control/index.tsx +60 -50
  484. package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
  485. package/src/alignment-matrix-control/styles.ts +113 -0
  486. package/src/alignment-matrix-control/types.ts +12 -1
  487. package/src/angle-picker-control/angle-circle.tsx +11 -9
  488. package/src/border-control/border-control/component.tsx +23 -16
  489. package/src/box-control/utils.ts +1 -1
  490. package/src/circular-option-picker/circular-option-picker-option.tsx +16 -19
  491. package/src/circular-option-picker/circular-option-picker.tsx +26 -12
  492. package/src/circular-option-picker/types.ts +2 -2
  493. package/src/clipboard-button/index.tsx +6 -6
  494. package/src/color-palette/test/utils.ts +21 -2
  495. package/src/color-palette/utils.ts +1 -3
  496. package/src/color-picker/color-copy-button.tsx +10 -8
  497. package/src/color-picker/hex-input.tsx +6 -10
  498. package/src/color-picker/input-with-slider.tsx +6 -10
  499. package/src/color-picker/styles.ts +1 -1
  500. package/src/combobox-control/types.ts +1 -0
  501. package/src/composite/README.md +5 -24
  502. package/src/composite/{context.ts → context.tsx} +1 -2
  503. package/src/composite/group-label.tsx +30 -0
  504. package/src/composite/group.tsx +30 -0
  505. package/src/composite/hover.tsx +30 -0
  506. package/src/composite/index.tsx +71 -166
  507. package/src/composite/item.tsx +30 -0
  508. package/src/composite/legacy/index.tsx +73 -11
  509. package/src/composite/legacy/stories/index.story.tsx +2 -1
  510. package/src/composite/legacy/test/index.tsx +57 -1
  511. package/src/composite/row.tsx +30 -0
  512. package/src/composite/stories/index.story.tsx +254 -365
  513. package/src/composite/typeahead.tsx +30 -0
  514. package/src/composite/types.ts +14 -16
  515. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
  516. package/src/custom-gradient-picker/style.scss +2 -21
  517. package/src/custom-select-control-v2/styles.ts +4 -4
  518. package/src/date-time/date/index.tsx +1 -1
  519. package/src/date-time/date/styles.ts +33 -13
  520. package/src/date-time/date/test/use-lilius.ts +417 -0
  521. package/src/date-time/date/use-lilius/index.ts +394 -0
  522. package/src/date-time/time/test/index.tsx +3 -6
  523. package/src/date-time/time/time-input/index.tsx +25 -25
  524. package/src/date-time/time/time-input/test/index.tsx +6 -7
  525. package/src/dimension-control/README.md +4 -0
  526. package/src/dimension-control/index.tsx +7 -1
  527. package/src/dimension-control/stories/index.story.tsx +7 -2
  528. package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -16
  529. package/src/dimension-control/test/index.test.js +1 -0
  530. package/src/draggable/index.tsx +4 -4
  531. package/src/dropdown-menu-v2/README.md +73 -60
  532. package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
  533. package/src/dropdown-menu-v2/context.tsx +13 -0
  534. package/src/dropdown-menu-v2/group-label.tsx +37 -0
  535. package/src/dropdown-menu-v2/group.tsx +26 -0
  536. package/src/dropdown-menu-v2/index.tsx +57 -197
  537. package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
  538. package/src/dropdown-menu-v2/item-label.tsx +23 -0
  539. package/src/dropdown-menu-v2/item.tsx +50 -0
  540. package/src/dropdown-menu-v2/radio-item.tsx +70 -0
  541. package/src/dropdown-menu-v2/separator.tsx +27 -0
  542. package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
  543. package/src/dropdown-menu-v2/styles.ts +102 -66
  544. package/src/dropdown-menu-v2/test/index.tsx +159 -132
  545. package/src/dropdown-menu-v2/types.ts +7 -0
  546. package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
  547. package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
  548. package/src/form-toggle/style.scss +1 -1
  549. package/src/form-token-field/style.scss +2 -3
  550. package/src/form-token-field/types.ts +1 -0
  551. package/src/index.ts +6 -1
  552. package/src/input-control/index.tsx +2 -2
  553. package/src/input-control/input-base.tsx +4 -14
  554. package/src/input-control/input-prefix-wrapper.tsx +8 -4
  555. package/src/input-control/input-suffix-wrapper.tsx +4 -6
  556. package/src/input-control/reducer/reducer.ts +13 -10
  557. package/src/input-control/stories/index.story.tsx +31 -12
  558. package/src/input-control/styles/input-control-styles.tsx +42 -11
  559. package/src/input-control/types.ts +23 -7
  560. package/src/input-control/utils.ts +3 -3
  561. package/src/item-group/styles.ts +3 -3
  562. package/src/item-group/test/__snapshots__/index.js.snap +3 -3
  563. package/src/modal/index.tsx +21 -12
  564. package/src/modal/stories/index.story.tsx +8 -14
  565. package/src/modal/style.scss +5 -9
  566. package/src/navigation/index.tsx +4 -4
  567. package/src/navigation/styles/navigation-styles.tsx +3 -3
  568. package/src/navigator/index.ts +6 -6
  569. package/src/navigator/navigator-back-button/hook.ts +1 -1
  570. package/src/navigator/navigator-button/hook.ts +1 -1
  571. package/src/navigator/navigator-provider/README.md +2 -3
  572. package/src/navigator/navigator-provider/component.tsx +97 -82
  573. package/src/navigator/navigator-screen/component.tsx +7 -0
  574. package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
  575. package/src/navigator/stories/index.story.tsx +82 -253
  576. package/src/navigator/test/index.tsx +8 -0
  577. package/src/navigator/types.ts +3 -1
  578. package/src/navigator/use-navigator.ts +1 -3
  579. package/src/palette-edit/index.tsx +2 -2
  580. package/src/popover/style.scss +2 -1
  581. package/src/private-apis.ts +1 -23
  582. package/src/range-control/styles/range-control-styles.ts +7 -7
  583. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
  584. package/src/resizable-box/style.scss +2 -2
  585. package/src/select-control/README.md +2 -2
  586. package/src/select-control/styles/select-control-styles.ts +5 -5
  587. package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
  588. package/src/slot-fill/index.tsx +1 -0
  589. package/src/snackbar/index.tsx +4 -4
  590. package/src/tab-panel/style.scss +0 -1
  591. package/src/tabs/index.tsx +8 -4
  592. package/src/tabs/styles.ts +42 -14
  593. package/src/tabs/tablist.tsx +5 -4
  594. package/src/text-control/style.scss +3 -2
  595. package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
  596. package/src/tools-panel/tools-panel/hook.ts +6 -6
  597. package/src/unit-control/styles/unit-control-styles.ts +2 -1
  598. package/src/utils/config-values.js +6 -4
  599. package/src/utils/element-rect.ts +93 -130
  600. package/src/utils/hooks/use-update-effect.js +4 -4
  601. package/tsconfig.tsbuildinfo +1 -1
  602. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
  603. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  604. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -77
  605. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  606. package/build/navigator/navigator-back-button/index.js +0 -14
  607. package/build/navigator/navigator-back-button/index.js.map +0 -1
  608. package/build/navigator/navigator-button/index.js +0 -14
  609. package/build/navigator/navigator-button/index.js.map +0 -1
  610. package/build/navigator/navigator-provider/index.js +0 -14
  611. package/build/navigator/navigator-provider/index.js.map +0 -1
  612. package/build/navigator/navigator-screen/index.js +0 -14
  613. package/build/navigator/navigator-screen/index.js.map +0 -1
  614. package/build/navigator/navigator-to-parent-button/index.js +0 -14
  615. package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
  616. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
  617. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
  618. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -72
  619. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
  620. package/build-module/navigator/navigator-back-button/index.js +0 -2
  621. package/build-module/navigator/navigator-back-button/index.js.map +0 -1
  622. package/build-module/navigator/navigator-button/index.js +0 -2
  623. package/build-module/navigator/navigator-button/index.js.map +0 -1
  624. package/build-module/navigator/navigator-provider/index.js +0 -2
  625. package/build-module/navigator/navigator-provider/index.js.map +0 -1
  626. package/build-module/navigator/navigator-screen/index.js +0 -2
  627. package/build-module/navigator/navigator-screen/index.js.map +0 -1
  628. package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
  629. package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
  630. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
  631. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
  632. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
  633. package/build-types/composite/stories/utils.d.ts +0 -29
  634. package/build-types/composite/stories/utils.d.ts.map +0 -1
  635. package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
  636. package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
  637. package/build-types/navigator/navigator-button/index.d.ts +0 -2
  638. package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
  639. package/build-types/navigator/navigator-provider/index.d.ts +0 -2
  640. package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
  641. package/build-types/navigator/navigator-screen/index.d.ts +0 -2
  642. package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
  643. package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
  644. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
  645. package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
  646. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
  647. package/src/composite/stories/utils.tsx +0 -76
  648. package/src/navigator/navigator-back-button/index.ts +0 -1
  649. package/src/navigator/navigator-button/index.ts +0 -1
  650. package/src/navigator/navigator-provider/index.ts +0 -1
  651. package/src/navigator/navigator-screen/index.ts +0 -1
  652. package/src/navigator/navigator-to-parent-button/index.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["addMonths","addYears","eachDayOfInterval","eachMonthOfInterval","eachWeekOfInterval","endOfMonth","endOfWeek","isAfter","isBefore","isEqual","set","setMonth","setYear","startOfMonth","startOfToday","startOfWeek","subMonths","subYears","useCallback","useMemo","useState","Month","Day","inRange","date","min","max","clearTime","hours","minutes","seconds","milliseconds","useLilius","weekStartsOn","SUNDAY","viewing","initialViewing","Date","selected","initialSelected","numberOfMonths","setViewing","viewToday","viewMonth","month","v","viewPreviousMonth","viewNextMonth","viewYear","year","viewPreviousYear","viewNextYear","setSelected","map","clearSelected","isSelected","findIndex","s","select","replaceExisting","Array","isArray","selectedItems","concat","deselect","filter","d","getTime","includes","toggle","selectRange","start","end","deselectRange","calendar","week"],"sources":["@wordpress/components/src/date-time/date/use-lilius/index.ts"],"sourcesContent":["/**\n * This source is a local copy of the use-lilius library, since the original\n * library is not actively maintained.\n * @see https://github.com/WordPress/gutenberg/discussions/64968\n *\n * use-lilius@2.0.5\n * https://github.com/Avarios/use-lilius\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2021-Present Danny Tatom\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport {\n\taddMonths,\n\taddYears,\n\teachDayOfInterval,\n\teachMonthOfInterval,\n\teachWeekOfInterval,\n\tendOfMonth,\n\tendOfWeek,\n\tisAfter,\n\tisBefore,\n\tisEqual,\n\tset,\n\tsetMonth,\n\tsetYear,\n\tstartOfMonth,\n\tstartOfToday,\n\tstartOfWeek,\n\tsubMonths,\n\tsubYears,\n} from 'date-fns';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\n\nexport enum Month {\n\tJANUARY,\n\tFEBRUARY,\n\tMARCH,\n\tAPRIL,\n\tMAY,\n\tJUNE,\n\tJULY,\n\tAUGUST,\n\tSEPTEMBER,\n\tOCTOBER,\n\tNOVEMBER,\n\tDECEMBER,\n}\n\nexport enum Day {\n\tSUNDAY,\n\tMONDAY,\n\tTUESDAY,\n\tWEDNESDAY,\n\tTHURSDAY,\n\tFRIDAY,\n\tSATURDAY,\n}\n\nexport interface Options {\n\t/**\n\t * What day a week starts on within the calendar matrix.\n\t *\n\t * @default Day.SUNDAY\n\t */\n\tweekStartsOn?: Day;\n\n\t/**\n\t * The initial viewing date.\n\t *\n\t * @default new Date()\n\t */\n\tviewing?: Date;\n\n\t/**\n\t * The initial date(s) selection.\n\t *\n\t * @default []\n\t */\n\tselected?: Date[];\n\n\t/**\n\t * The number of months in the calendar.\n\t *\n\t * @default 1\n\t */\n\tnumberOfMonths?: number;\n}\n\nexport interface Returns {\n\t/**\n\t * Returns a copy of the given date with the time set to 00:00:00:00.\n\t */\n\tclearTime: ( date: Date ) => Date;\n\n\t/**\n\t * Returns whether or not a date is between 2 other dates (inclusive).\n\t */\n\tinRange: ( date: Date, min: Date, max: Date ) => boolean;\n\n\t/**\n\t * The date represented in the calendar matrix. Note that\n\t * the month and year are the only parts used.\n\t */\n\tviewing: Date;\n\n\t/**\n\t * Set the date represented in the calendar matrix. Note that\n\t * the month and year are the only parts used.\n\t */\n\tsetViewing: React.Dispatch< React.SetStateAction< Date > >;\n\n\t/**\n\t * Set the viewing date to today.\n\t */\n\tviewToday: () => void;\n\n\t/**\n\t * Set the viewing date to the given month.\n\t */\n\tviewMonth: ( month: Month ) => void;\n\n\t/**\n\t * Set the viewing date to the month before the current.\n\t */\n\tviewPreviousMonth: () => void;\n\n\t/**\n\t * Set the viewing date to the month after the current.\n\t */\n\tviewNextMonth: () => void;\n\n\t/**\n\t * Set the viewing date to the given year.\n\t */\n\tviewYear: ( year: number ) => void;\n\n\t/**\n\t * Set the viewing date to the year before the current.\n\t */\n\tviewPreviousYear: () => void;\n\n\t/**\n\t * Set the viewing date to the year after the current.\n\t */\n\tviewNextYear: () => void;\n\n\t/**\n\t * The dates currently selected.\n\t */\n\tselected: Date[];\n\n\t/**\n\t * Override the currently selected dates.\n\t */\n\tsetSelected: React.Dispatch< React.SetStateAction< Date[] > >;\n\n\t/**\n\t * Reset the selected dates to [].\n\t */\n\tclearSelected: () => void;\n\n\t/**\n\t * Determine whether or not a date has been selected.\n\t */\n\tisSelected: ( date: Date ) => boolean;\n\n\t/**\n\t * Select one or more dates.\n\t */\n\tselect: ( date: Date | Date[], replaceExisting?: boolean ) => void;\n\n\t/**\n\t * Deselect one or more dates.\n\t */\n\tdeselect: ( date: Date | Date[] ) => void;\n\n\t/**\n\t * Toggle the selection of a date.\n\t */\n\ttoggle: ( date: Date, replaceExisting?: boolean ) => void;\n\n\t/**\n\t * Select a range of dates (inclusive).\n\t */\n\tselectRange: ( start: Date, end: Date, replaceExisting?: boolean ) => void;\n\n\t/**\n\t * Deselect a range of dates (inclusive).\n\t */\n\tdeselectRange: ( start: Date, end: Date ) => void;\n\n\t/**\n\t * A matrix of days based on the current viewing date.\n\t */\n\tcalendar: Date[][][];\n}\n\nconst inRange = ( date: Date, min: Date, max: Date ) =>\n\t( isEqual( date, min ) || isAfter( date, min ) ) &&\n\t( isEqual( date, max ) || isBefore( date, max ) );\n\nconst clearTime = ( date: Date ) =>\n\tset( date, { hours: 0, minutes: 0, seconds: 0, milliseconds: 0 } );\n\nexport const useLilius = ( {\n\tweekStartsOn = Day.SUNDAY,\n\tviewing: initialViewing = new Date(),\n\tselected: initialSelected = [],\n\tnumberOfMonths = 1,\n}: Options = {} ): Returns => {\n\tconst [ viewing, setViewing ] = useState< Date >( initialViewing );\n\n\tconst viewToday = useCallback(\n\t\t() => setViewing( startOfToday() ),\n\t\t[ setViewing ]\n\t);\n\n\tconst viewMonth = useCallback(\n\t\t( month: Month ) => setViewing( ( v ) => setMonth( v, month ) ),\n\t\t[]\n\t);\n\n\tconst viewPreviousMonth = useCallback(\n\t\t() => setViewing( ( v ) => subMonths( v, 1 ) ),\n\t\t[]\n\t);\n\n\tconst viewNextMonth = useCallback(\n\t\t() => setViewing( ( v ) => addMonths( v, 1 ) ),\n\t\t[]\n\t);\n\n\tconst viewYear = useCallback(\n\t\t( year: number ) => setViewing( ( v ) => setYear( v, year ) ),\n\t\t[]\n\t);\n\n\tconst viewPreviousYear = useCallback(\n\t\t() => setViewing( ( v ) => subYears( v, 1 ) ),\n\t\t[]\n\t);\n\n\tconst viewNextYear = useCallback(\n\t\t() => setViewing( ( v ) => addYears( v, 1 ) ),\n\t\t[]\n\t);\n\n\tconst [ selected, setSelected ] = useState< Date[] >(\n\t\tinitialSelected.map( clearTime )\n\t);\n\n\tconst clearSelected = () => setSelected( [] );\n\n\tconst isSelected = useCallback(\n\t\t( date: Date ) =>\n\t\t\tselected.findIndex( ( s ) => isEqual( s, date ) ) > -1,\n\t\t[ selected ]\n\t);\n\n\tconst select = useCallback(\n\t\t( date: Date | Date[], replaceExisting?: boolean ) => {\n\t\t\tif ( replaceExisting ) {\n\t\t\t\tsetSelected( Array.isArray( date ) ? date : [ date ] );\n\t\t\t} else {\n\t\t\t\tsetSelected( ( selectedItems ) =>\n\t\t\t\t\tselectedItems.concat(\n\t\t\t\t\t\tArray.isArray( date ) ? date : [ date ]\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\tconst deselect = useCallback(\n\t\t( date: Date | Date[] ) =>\n\t\t\tsetSelected( ( selectedItems ) =>\n\t\t\t\tArray.isArray( date )\n\t\t\t\t\t? selectedItems.filter(\n\t\t\t\t\t\t\t( s ) =>\n\t\t\t\t\t\t\t\t! date\n\t\t\t\t\t\t\t\t\t.map( ( d ) => d.getTime() )\n\t\t\t\t\t\t\t\t\t.includes( s.getTime() )\n\t\t\t\t\t )\n\t\t\t\t\t: selectedItems.filter( ( s ) => ! isEqual( s, date ) )\n\t\t\t),\n\t\t[]\n\t);\n\n\tconst toggle = useCallback(\n\t\t( date: Date, replaceExisting?: boolean ) =>\n\t\t\tisSelected( date )\n\t\t\t\t? deselect( date )\n\t\t\t\t: select( date, replaceExisting ),\n\t\t[ deselect, isSelected, select ]\n\t);\n\n\tconst selectRange = useCallback(\n\t\t( start: Date, end: Date, replaceExisting?: boolean ) => {\n\t\t\tif ( replaceExisting ) {\n\t\t\t\tsetSelected( eachDayOfInterval( { start, end } ) );\n\t\t\t} else {\n\t\t\t\tsetSelected( ( selectedItems ) =>\n\t\t\t\t\tselectedItems.concat( eachDayOfInterval( { start, end } ) )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\tconst deselectRange = useCallback( ( start: Date, end: Date ) => {\n\t\tsetSelected( ( selectedItems ) =>\n\t\t\tselectedItems.filter(\n\t\t\t\t( s ) =>\n\t\t\t\t\t! eachDayOfInterval( { start, end } )\n\t\t\t\t\t\t.map( ( d ) => d.getTime() )\n\t\t\t\t\t\t.includes( s.getTime() )\n\t\t\t)\n\t\t);\n\t}, [] );\n\n\tconst calendar = useMemo< Date[][][] >(\n\t\t() =>\n\t\t\teachMonthOfInterval( {\n\t\t\t\tstart: startOfMonth( viewing ),\n\t\t\t\tend: endOfMonth( addMonths( viewing, numberOfMonths - 1 ) ),\n\t\t\t} ).map( ( month ) =>\n\t\t\t\teachWeekOfInterval(\n\t\t\t\t\t{\n\t\t\t\t\t\tstart: startOfMonth( month ),\n\t\t\t\t\t\tend: endOfMonth( month ),\n\t\t\t\t\t},\n\t\t\t\t\t{ weekStartsOn }\n\t\t\t\t).map( ( week ) =>\n\t\t\t\t\teachDayOfInterval( {\n\t\t\t\t\t\tstart: startOfWeek( week, { weekStartsOn } ),\n\t\t\t\t\t\tend: endOfWeek( week, { weekStartsOn } ),\n\t\t\t\t\t} )\n\t\t\t\t)\n\t\t\t),\n\t\t[ viewing, weekStartsOn, numberOfMonths ]\n\t);\n\n\treturn {\n\t\tclearTime,\n\t\tinRange,\n\t\tviewing,\n\t\tsetViewing,\n\t\tviewToday,\n\t\tviewMonth,\n\t\tviewPreviousMonth,\n\t\tviewNextMonth,\n\t\tviewYear,\n\t\tviewPreviousYear,\n\t\tviewNextYear,\n\t\tselected,\n\t\tsetSelected,\n\t\tclearSelected,\n\t\tisSelected,\n\t\tselect,\n\t\tdeselect,\n\t\ttoggle,\n\t\tselectRange,\n\t\tdeselectRange,\n\t\tcalendar,\n\t};\n};\n"],"mappings":"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","ignoreList":[]}
@@ -14,11 +14,10 @@ import { Fragment } from '@wordpress/element';
14
14
  */
15
15
  import { TimeWrapper, TimeSeparator, HoursInput, MinutesInput, Fieldset } from '../styles';
16
16
  import { HStack } from '../../../h-stack';
17
- import Button from '../../../button';
18
- import ButtonGroup from '../../../button-group';
19
17
  import { from12hTo24h, from24hTo12h, buildPadInputStateReducer, validateInputElementTarget } from '../../utils';
20
18
  import { useControlledValue } from '../../../utils';
21
19
  import BaseControl from '../../../base-control';
20
+ import { ToggleGroupControl, ToggleGroupControlOption } from '../../../toggle-group-control';
22
21
  import { jsx as _jsx } from "react/jsx-runtime";
23
22
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
23
  export function TimeInput({
@@ -125,23 +124,22 @@ export function TimeInput({
125
124
  __unstableStateReducer: buildPadInputStateReducer(2),
126
125
  ...minutesProps
127
126
  })]
128
- }), is12Hour && /*#__PURE__*/_jsxs(ButtonGroup, {
129
- className: "components-datetime__time-field components-datetime__time-field-am-pm" // Unused, for backwards compatibility.
130
- ,
131
- children: [/*#__PURE__*/_jsx(Button, {
132
- className: "components-datetime__time-am-button" // Unused, for backwards compatibility.
133
- ,
134
- variant: dayPeriod === 'AM' ? 'primary' : 'secondary',
135
- __next40pxDefaultSize: true,
136
- onClick: buildAmPmChangeCallback('AM'),
137
- children: __('AM')
138
- }), /*#__PURE__*/_jsx(Button, {
139
- className: "components-datetime__time-pm-button" // Unused, for backwards compatibility.
140
- ,
141
- variant: dayPeriod === 'PM' ? 'primary' : 'secondary',
142
- __next40pxDefaultSize: true,
143
- onClick: buildAmPmChangeCallback('PM'),
144
- children: __('PM')
127
+ }), is12Hour && /*#__PURE__*/_jsxs(ToggleGroupControl, {
128
+ __next40pxDefaultSize: true,
129
+ __nextHasNoMarginBottom: true,
130
+ isBlock: true,
131
+ label: __('Select AM or PM'),
132
+ hideLabelFromVision: true,
133
+ value: dayPeriod,
134
+ onChange: newValue => {
135
+ buildAmPmChangeCallback(newValue)();
136
+ },
137
+ children: [/*#__PURE__*/_jsx(ToggleGroupControlOption, {
138
+ value: "AM",
139
+ label: __('AM')
140
+ }), /*#__PURE__*/_jsx(ToggleGroupControlOption, {
141
+ value: "PM",
142
+ label: __('PM')
145
143
  })]
146
144
  })]
147
145
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","Fragment","TimeWrapper","TimeSeparator","HoursInput","MinutesInput","Fieldset","HStack","Button","ButtonGroup","from12hTo24h","from24hTo12h","buildPadInputStateReducer","validateInputElementTarget","useControlledValue","BaseControl","jsx","_jsx","jsxs","_jsxs","TimeInput","value","valueProp","defaultValue","is12Hour","label","minutesProps","onChange","hours","Date","getHours","minutes","getMinutes","setValue","dayPeriod","parseDayPeriod","hours12Format","buildNumberControlChangeCallback","method","_value","event","numberValue","Number","buildAmPmChangeCallback","_hours","Wrapper","children","VisualLabel","as","alignment","expanded","className","hideLabelFromVision","__next40pxDefaultSize","String","padStart","step","min","max","required","spinControls","isPressEnterToChange","isDragEnabled","isShiftStepEnabled","__unstableStateReducer","args","variant","onClick"],"sources":["@wordpress/components/src/date-time/time/time-input/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTimeWrapper,\n\tTimeSeparator,\n\tHoursInput,\n\tMinutesInput,\n\tFieldset,\n} from '../styles';\nimport { HStack } from '../../../h-stack';\nimport Button from '../../../button';\nimport ButtonGroup from '../../../button-group';\nimport {\n\tfrom12hTo24h,\n\tfrom24hTo12h,\n\tbuildPadInputStateReducer,\n\tvalidateInputElementTarget,\n} from '../../utils';\nimport type { TimeInputProps } from '../../types';\nimport type { InputChangeCallback } from '../../../input-control/types';\nimport { useControlledValue } from '../../../utils';\nimport BaseControl from '../../../base-control';\n\nexport function TimeInput( {\n\tvalue: valueProp,\n\tdefaultValue,\n\tis12Hour,\n\tlabel,\n\tminutesProps,\n\tonChange,\n}: TimeInputProps ) {\n\tconst [\n\t\tvalue = {\n\t\t\thours: new Date().getHours(),\n\t\t\tminutes: new Date().getMinutes(),\n\t\t},\n\t\tsetValue,\n\t] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange,\n\t\tdefaultValue,\n\t} );\n\tconst dayPeriod = parseDayPeriod( value.hours );\n\tconst hours12Format = from24hTo12h( value.hours );\n\n\tconst buildNumberControlChangeCallback = (\n\t\tmethod: 'hours' | 'minutes'\n\t): InputChangeCallback => {\n\t\treturn ( _value, { event } ) => {\n\t\t\tif ( ! validateInputElementTarget( event ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We can safely assume value is a number if target is valid.\n\t\t\tconst numberValue = Number( _value );\n\n\t\t\tsetValue( {\n\t\t\t\t...value,\n\t\t\t\t[ method ]:\n\t\t\t\t\tmethod === 'hours' && is12Hour\n\t\t\t\t\t\t? from12hTo24h( numberValue, dayPeriod === 'PM' )\n\t\t\t\t\t\t: numberValue,\n\t\t\t} );\n\t\t};\n\t};\n\n\tconst buildAmPmChangeCallback = ( _value: 'AM' | 'PM' ) => {\n\t\treturn () => {\n\t\t\tif ( dayPeriod === _value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetValue( {\n\t\t\t\t...value,\n\t\t\t\thours: from12hTo24h( hours12Format, _value === 'PM' ),\n\t\t\t} );\n\t\t};\n\t};\n\n\tfunction parseDayPeriod( _hours: number ) {\n\t\treturn _hours < 12 ? 'AM' : 'PM';\n\t}\n\n\tconst Wrapper = label ? Fieldset : Fragment;\n\n\treturn (\n\t\t<Wrapper>\n\t\t\t{ label && (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\n\t\t\t<HStack alignment=\"left\" expanded={ false }>\n\t\t\t\t<TimeWrapper\n\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-time\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t<HoursInput\n\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\" // Unused, for backwards compatibility.\n\t\t\t\t\t\tlabel={ __( 'Hours' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ String(\n\t\t\t\t\t\t\tis12Hour ? hours12Format : value.hours\n\t\t\t\t\t\t).padStart( 2, '0' ) }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\tmin={ is12Hour ? 1 : 0 }\n\t\t\t\t\t\tmax={ is12Hour ? 12 : 23 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tspinControls=\"none\"\n\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback( 'hours' ) }\n\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TimeSeparator\n\t\t\t\t\t\tclassName=\"components-datetime__time-separator\" // Unused, for backwards compatibility.\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t:\n\t\t\t\t\t</TimeSeparator>\n\t\t\t\t\t<MinutesInput\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'components-datetime__time-field-minutes-input', // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tminutesProps?.className\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Minutes' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ String( value.minutes ).padStart( 2, '0' ) }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tspinControls=\"none\"\n\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\tonChange={ ( ...args ) => {\n\t\t\t\t\t\t\tbuildNumberControlChangeCallback( 'minutes' )(\n\t\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tminutesProps?.onChange?.( ...args );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ...minutesProps }\n\t\t\t\t\t/>\n\t\t\t\t</TimeWrapper>\n\t\t\t\t{ is12Hour && (\n\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-am-pm\" // Unused, for backwards compatibility.\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-am-button\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\tdayPeriod === 'AM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ buildAmPmChangeCallback( 'AM' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-pm-button\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\tdayPeriod === 'PM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ buildAmPmChangeCallback( 'PM' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ButtonGroup>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</Wrapper>\n\t);\n}\nexport default TimeInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","Fragment","TimeWrapper","TimeSeparator","HoursInput","MinutesInput","Fieldset","HStack","from12hTo24h","from24hTo12h","buildPadInputStateReducer","validateInputElementTarget","useControlledValue","BaseControl","ToggleGroupControl","ToggleGroupControlOption","jsx","_jsx","jsxs","_jsxs","TimeInput","value","valueProp","defaultValue","is12Hour","label","minutesProps","onChange","hours","Date","getHours","minutes","getMinutes","setValue","dayPeriod","parseDayPeriod","hours12Format","buildNumberControlChangeCallback","method","_value","event","numberValue","Number","buildAmPmChangeCallback","_hours","Wrapper","children","VisualLabel","as","alignment","expanded","className","hideLabelFromVision","__next40pxDefaultSize","String","padStart","step","min","max","required","spinControls","isPressEnterToChange","isDragEnabled","isShiftStepEnabled","__unstableStateReducer","args","__nextHasNoMarginBottom","isBlock","newValue"],"sources":["@wordpress/components/src/date-time/time/time-input/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTimeWrapper,\n\tTimeSeparator,\n\tHoursInput,\n\tMinutesInput,\n\tFieldset,\n} from '../styles';\nimport { HStack } from '../../../h-stack';\nimport {\n\tfrom12hTo24h,\n\tfrom24hTo12h,\n\tbuildPadInputStateReducer,\n\tvalidateInputElementTarget,\n} from '../../utils';\nimport type { TimeInputProps } from '../../types';\nimport type { InputChangeCallback } from '../../../input-control/types';\nimport { useControlledValue } from '../../../utils';\nimport BaseControl from '../../../base-control';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../../../toggle-group-control';\n\nexport function TimeInput( {\n\tvalue: valueProp,\n\tdefaultValue,\n\tis12Hour,\n\tlabel,\n\tminutesProps,\n\tonChange,\n}: TimeInputProps ) {\n\tconst [\n\t\tvalue = {\n\t\t\thours: new Date().getHours(),\n\t\t\tminutes: new Date().getMinutes(),\n\t\t},\n\t\tsetValue,\n\t] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange,\n\t\tdefaultValue,\n\t} );\n\tconst dayPeriod = parseDayPeriod( value.hours );\n\tconst hours12Format = from24hTo12h( value.hours );\n\n\tconst buildNumberControlChangeCallback = (\n\t\tmethod: 'hours' | 'minutes'\n\t): InputChangeCallback => {\n\t\treturn ( _value, { event } ) => {\n\t\t\tif ( ! validateInputElementTarget( event ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We can safely assume value is a number if target is valid.\n\t\t\tconst numberValue = Number( _value );\n\n\t\t\tsetValue( {\n\t\t\t\t...value,\n\t\t\t\t[ method ]:\n\t\t\t\t\tmethod === 'hours' && is12Hour\n\t\t\t\t\t\t? from12hTo24h( numberValue, dayPeriod === 'PM' )\n\t\t\t\t\t\t: numberValue,\n\t\t\t} );\n\t\t};\n\t};\n\n\tconst buildAmPmChangeCallback = ( _value: 'AM' | 'PM' ) => {\n\t\treturn () => {\n\t\t\tif ( dayPeriod === _value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetValue( {\n\t\t\t\t...value,\n\t\t\t\thours: from12hTo24h( hours12Format, _value === 'PM' ),\n\t\t\t} );\n\t\t};\n\t};\n\n\tfunction parseDayPeriod( _hours: number ) {\n\t\treturn _hours < 12 ? 'AM' : 'PM';\n\t}\n\n\tconst Wrapper = label ? Fieldset : Fragment;\n\n\treturn (\n\t\t<Wrapper>\n\t\t\t{ label && (\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ label }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t) }\n\n\t\t\t<HStack alignment=\"left\" expanded={ false }>\n\t\t\t\t<TimeWrapper\n\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-time\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t<HoursInput\n\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\" // Unused, for backwards compatibility.\n\t\t\t\t\t\tlabel={ __( 'Hours' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ String(\n\t\t\t\t\t\t\tis12Hour ? hours12Format : value.hours\n\t\t\t\t\t\t).padStart( 2, '0' ) }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\tmin={ is12Hour ? 1 : 0 }\n\t\t\t\t\t\tmax={ is12Hour ? 12 : 23 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tspinControls=\"none\"\n\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback( 'hours' ) }\n\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TimeSeparator\n\t\t\t\t\t\tclassName=\"components-datetime__time-separator\" // Unused, for backwards compatibility.\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t:\n\t\t\t\t\t</TimeSeparator>\n\t\t\t\t\t<MinutesInput\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'components-datetime__time-field-minutes-input', // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tminutesProps?.className\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Minutes' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ String( value.minutes ).padStart( 2, '0' ) }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tspinControls=\"none\"\n\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\tonChange={ ( ...args ) => {\n\t\t\t\t\t\t\tbuildNumberControlChangeCallback( 'minutes' )(\n\t\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tminutesProps?.onChange?.( ...args );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ...minutesProps }\n\t\t\t\t\t/>\n\t\t\t\t</TimeWrapper>\n\t\t\t\t{ is12Hour && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tlabel={ __( 'Select AM or PM' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ dayPeriod }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tbuildAmPmChangeCallback(\n\t\t\t\t\t\t\t\tnewValue as 'AM' | 'PM'\n\t\t\t\t\t\t\t)();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"AM\"\n\t\t\t\t\t\t\tlabel={ __( 'AM' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"PM\"\n\t\t\t\t\t\t\tlabel={ __( 'PM' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</Wrapper>\n\t);\n}\nexport default TimeInput;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SACCC,WAAW,EACXC,aAAa,EACbC,UAAU,EACVC,YAAY,EACZC,QAAQ,QACF,WAAW;AAClB,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SACCC,YAAY,EACZC,YAAY,EACZC,yBAAyB,EACzBC,0BAA0B,QACpB,aAAa;AAGpB,SAASC,kBAAkB,QAAQ,gBAAgB;AACnD,OAAOC,WAAW,MAAM,uBAAuB;AAC/C,SACCC,kBAAkB,EAClBC,wBAAwB,QAClB,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEvC,OAAO,SAASC,SAASA,CAAE;EAC1BC,KAAK,EAAEC,SAAS;EAChBC,YAAY;EACZC,QAAQ;EACRC,KAAK;EACLC,YAAY;EACZC;AACe,CAAC,EAAG;EACnB,MAAM,CACLN,KAAK,GAAG;IACPO,KAAK,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IAC5BC,OAAO,EAAE,IAAIF,IAAI,CAAC,CAAC,CAACG,UAAU,CAAC;EAChC,CAAC,EACDC,QAAQ,CACR,GAAGrB,kBAAkB,CAAE;IACvBS,KAAK,EAAEC,SAAS;IAChBK,QAAQ;IACRJ;EACD,CAAE,CAAC;EACH,MAAMW,SAAS,GAAGC,cAAc,CAAEd,KAAK,CAACO,KAAM,CAAC;EAC/C,MAAMQ,aAAa,GAAG3B,YAAY,CAAEY,KAAK,CAACO,KAAM,CAAC;EAEjD,MAAMS,gCAAgC,GACrCC,MAA2B,IACF;IACzB,OAAO,CAAEC,MAAM,EAAE;MAAEC;IAAM,CAAC,KAAM;MAC/B,IAAK,CAAE7B,0BAA0B,CAAE6B,KAAM,CAAC,EAAG;QAC5C;MACD;;MAEA;MACA,MAAMC,WAAW,GAAGC,MAAM,CAAEH,MAAO,CAAC;MAEpCN,QAAQ,CAAE;QACT,GAAGZ,KAAK;QACR,CAAEiB,MAAM,GACPA,MAAM,KAAK,OAAO,IAAId,QAAQ,GAC3BhB,YAAY,CAAEiC,WAAW,EAAEP,SAAS,KAAK,IAAK,CAAC,GAC/CO;MACL,CAAE,CAAC;IACJ,CAAC;EACF,CAAC;EAED,MAAME,uBAAuB,GAAKJ,MAAmB,IAAM;IAC1D,OAAO,MAAM;MACZ,IAAKL,SAAS,KAAKK,MAAM,EAAG;QAC3B;MACD;MAEAN,QAAQ,CAAE;QACT,GAAGZ,KAAK;QACRO,KAAK,EAAEpB,YAAY,CAAE4B,aAAa,EAAEG,MAAM,KAAK,IAAK;MACrD,CAAE,CAAC;IACJ,CAAC;EACF,CAAC;EAED,SAASJ,cAAcA,CAAES,MAAc,EAAG;IACzC,OAAOA,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;EACjC;EAEA,MAAMC,OAAO,GAAGpB,KAAK,GAAGnB,QAAQ,GAAGL,QAAQ;EAE3C,oBACCkB,KAAA,CAAC0B,OAAO;IAAAC,QAAA,GACLrB,KAAK,iBACNR,IAAA,CAACJ,WAAW,CAACkC,WAAW;MAACC,EAAE,EAAC,QAAQ;MAAAF,QAAA,EACjCrB;IAAK,CACiB,CACzB,eAEDN,KAAA,CAACZ,MAAM;MAAC0C,SAAS,EAAC,MAAM;MAACC,QAAQ,EAAG,KAAO;MAAAJ,QAAA,gBAC1C3B,KAAA,CAACjB,WAAW;QACXiD,SAAS,EAAC,sEAAsE,CAAC;QAAA;QAAAL,QAAA,gBAEjF7B,IAAA,CAACb,UAAU;UACV+C,SAAS,EAAC,6CAA6C,CAAC;UAAA;UACxD1B,KAAK,EAAGzB,EAAE,CAAE,OAAQ,CAAG;UACvBoD,mBAAmB;UACnBC,qBAAqB;UACrBhC,KAAK,EAAGiC,MAAM,CACb9B,QAAQ,GAAGY,aAAa,GAAGf,KAAK,CAACO,KAClC,CAAC,CAAC2B,QAAQ,CAAE,CAAC,EAAE,GAAI,CAAG;UACtBC,IAAI,EAAG,CAAG;UACVC,GAAG,EAAGjC,QAAQ,GAAG,CAAC,GAAG,CAAG;UACxBkC,GAAG,EAAGlC,QAAQ,GAAG,EAAE,GAAG,EAAI;UAC1BmC,QAAQ;UACRC,YAAY,EAAC,MAAM;UACnBC,oBAAoB;UACpBC,aAAa,EAAG,KAAO;UACvBC,kBAAkB,EAAG,KAAO;UAC5BpC,QAAQ,EAAGU,gCAAgC,CAAE,OAAQ,CAAG;UACxD2B,sBAAsB,EAAGtD,yBAAyB,CACjD,CACD;QAAG,CACH,CAAC,eACFO,IAAA,CAACd,aAAa;UACbgD,SAAS,EAAC,qCAAqC,CAAC;UAAA;UAChD,eAAY,MAAM;UAAAL,QAAA,EAClB;QAED,CAAe,CAAC,eAChB7B,IAAA,CAACZ,YAAY;UACZ8C,SAAS,EAAGpD,IAAI,CACf,+CAA+C;UAAE;UACjD2B,YAAY,EAAEyB,SACf,CAAG;UACH1B,KAAK,EAAGzB,EAAE,CAAE,SAAU,CAAG;UACzBoD,mBAAmB;UACnBC,qBAAqB;UACrBhC,KAAK,EAAGiC,MAAM,CAAEjC,KAAK,CAACU,OAAQ,CAAC,CAACwB,QAAQ,CAAE,CAAC,EAAE,GAAI,CAAG;UACpDC,IAAI,EAAG,CAAG;UACVC,GAAG,EAAG,CAAG;UACTC,GAAG,EAAG,EAAI;UACVC,QAAQ;UACRC,YAAY,EAAC,MAAM;UACnBC,oBAAoB;UACpBC,aAAa,EAAG,KAAO;UACvBC,kBAAkB,EAAG,KAAO;UAC5BpC,QAAQ,EAAGA,CAAE,GAAGsC,IAAI,KAAM;YACzB5B,gCAAgC,CAAE,SAAU,CAAC,CAC5C,GAAG4B,IACJ,CAAC;YACDvC,YAAY,EAAEC,QAAQ,GAAI,GAAGsC,IAAK,CAAC;UACpC,CAAG;UACHD,sBAAsB,EAAGtD,yBAAyB,CACjD,CACD,CAAG;UAAA,GACEgB;QAAY,CACjB,CAAC;MAAA,CACU,CAAC,EACZF,QAAQ,iBACTL,KAAA,CAACL,kBAAkB;QAClBuC,qBAAqB;QACrBa,uBAAuB;QACvBC,OAAO;QACP1C,KAAK,EAAGzB,EAAE,CAAE,iBAAkB,CAAG;QACjCoD,mBAAmB;QACnB/B,KAAK,EAAGa,SAAW;QACnBP,QAAQ,EAAKyC,QAAQ,IAAM;UAC1BzB,uBAAuB,CACtByB,QACD,CAAC,CAAC,CAAC;QACJ,CAAG;QAAAtB,QAAA,gBAEH7B,IAAA,CAACF,wBAAwB;UACxBM,KAAK,EAAC,IAAI;UACVI,KAAK,EAAGzB,EAAE,CAAE,IAAK;QAAG,CACpB,CAAC,eACFiB,IAAA,CAACF,wBAAwB;UACxBM,KAAK,EAAC,IAAI;UACVI,KAAK,EAAGzB,EAAE,CAAE,IAAK;QAAG,CACpB,CAAC;MAAA,CACiB,CACpB;IAAA,CACM,CAAC;EAAA,CACD,CAAC;AAEZ;AACA,eAAeoB,SAAS","ignoreList":[]}
@@ -15,6 +15,7 @@ import Icon from '../icon';
15
15
  import SelectControl from '../select-control';
16
16
  import sizesTable, { findSizeBySlug } from './sizes';
17
17
  import { ContextSystemProvider } from '../context';
18
+ import deprecated from '@wordpress/deprecated';
18
19
  import { jsx as _jsx } from "react/jsx-runtime";
19
20
  import { Fragment as _Fragment } from "react/jsx-runtime";
20
21
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -31,7 +32,7 @@ const CONTEXT_VALUE = {
31
32
  /**
32
33
  * `DimensionControl` is a component designed to provide a UI to control spacing and/or dimensions.
33
34
  *
34
- * This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
35
+ * @deprecated
35
36
  *
36
37
  * ```jsx
37
38
  * import { __experimentalDimensionControl as DimensionControl } from '@wordpress/components';
@@ -63,6 +64,10 @@ export function DimensionControl(props) {
63
64
  onChange,
64
65
  className = ''
65
66
  } = props;
67
+ deprecated('wp.components.DimensionControl', {
68
+ since: '6.7',
69
+ version: '7.0'
70
+ });
66
71
  const onChangeSpacingSize = val => {
67
72
  const theSize = findSizeBySlug(sizes, val);
68
73
  if (!theSize || value === theSize.slug) {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","Icon","SelectControl","sizesTable","findSizeBySlug","ContextSystemProvider","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CONTEXT_VALUE","BaseControl","_overrides","__associatedWPComponentName","DimensionControl","props","__next40pxDefaultSize","__nextHasNoMarginBottom","label","value","sizes","icon","onChange","className","onChangeSpacingSize","val","theSize","slug","undefined","formatSizesAsOptions","theSizes","options","map","name","selectLabel","children","hideLabelFromVision"],"sources":["@wordpress/components/src/dimension-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Icon from '../icon';\nimport SelectControl from '../select-control';\nimport sizesTable, { findSizeBySlug } from './sizes';\nimport type { DimensionControlProps, Size } from './types';\nimport type { SelectControlSingleSelectionProps } from '../select-control/types';\nimport { ContextSystemProvider } from '../context';\n\nconst CONTEXT_VALUE = {\n\tBaseControl: {\n\t\t// Temporary during deprecation grace period: Overrides the underlying `__associatedWPComponentName`\n\t\t// via the context system to override the value set by SelectControl.\n\t\t_overrides: { __associatedWPComponentName: 'DimensionControl' },\n\t},\n};\n\n/**\n * `DimensionControl` is a component designed to provide a UI to control spacing and/or dimensions.\n *\n * This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.\n *\n * ```jsx\n * import { __experimentalDimensionControl as DimensionControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * export default function MyCustomDimensionControl() {\n * \tconst [ paddingSize, setPaddingSize ] = useState( '' );\n *\n * \treturn (\n * \t\t<DimensionControl\n * \t\t\t__nextHasNoMarginBottom\n * \t\t\tlabel={ 'Padding' }\n * \t\t\ticon={ 'desktop' }\n * \t\t\tonChange={ ( value ) => setPaddingSize( value ) }\n * \t\t\tvalue={ paddingSize }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nexport function DimensionControl( props: DimensionControlProps ) {\n\tconst {\n\t\t__next40pxDefaultSize = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\tlabel,\n\t\tvalue,\n\t\tsizes = sizesTable,\n\t\ticon,\n\t\tonChange,\n\t\tclassName = '',\n\t} = props;\n\n\tconst onChangeSpacingSize: SelectControlSingleSelectionProps[ 'onChange' ] =\n\t\t( val ) => {\n\t\t\tconst theSize = findSizeBySlug( sizes, val );\n\n\t\t\tif ( ! theSize || value === theSize.slug ) {\n\t\t\t\tonChange?.( undefined );\n\t\t\t} else if ( typeof onChange === 'function' ) {\n\t\t\t\tonChange( theSize.slug );\n\t\t\t}\n\t\t};\n\n\tconst formatSizesAsOptions = ( theSizes: Size[] ) => {\n\t\tconst options = theSizes.map( ( { name, slug } ) => ( {\n\t\t\tlabel: name,\n\t\t\tvalue: slug,\n\t\t} ) );\n\n\t\treturn [\n\t\t\t{\n\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t...options,\n\t\t];\n\t};\n\n\tconst selectLabel = (\n\t\t<>\n\t\t\t{ icon && <Icon icon={ icon } /> }\n\t\t\t{ label }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<ContextSystemProvider value={ CONTEXT_VALUE }>\n\t\t\t<SelectControl\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'block-editor-dimension-control'\n\t\t\t\t) }\n\t\t\t\tlabel={ selectLabel }\n\t\t\t\thideLabelFromVision={ false }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeSpacingSize }\n\t\t\t\toptions={ formatSizesAsOptions( sizes ) }\n\t\t\t/>\n\t\t</ContextSystemProvider>\n\t);\n}\n\nexport default DimensionControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,UAAU,IAAIC,cAAc,QAAQ,SAAS;AAGpD,SAASC,qBAAqB,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,aAAa,GAAG;EACrBC,WAAW,EAAE;IACZ;IACA;IACAC,UAAU,EAAE;MAAEC,2BAA2B,EAAE;IAAmB;EAC/D;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,KAA4B,EAAG;EAChE,MAAM;IACLC,qBAAqB,GAAG,KAAK;IAC7BC,uBAAuB,GAAG,KAAK;IAC/BC,KAAK;IACLC,KAAK;IACLC,KAAK,GAAGnB,UAAU;IAClBoB,IAAI;IACJC,QAAQ;IACRC,SAAS,GAAG;EACb,CAAC,GAAGR,KAAK;EAET,MAAMS,mBAAoE,GACvEC,GAAG,IAAM;IACV,MAAMC,OAAO,GAAGxB,cAAc,CAAEkB,KAAK,EAAEK,GAAI,CAAC;IAE5C,IAAK,CAAEC,OAAO,IAAIP,KAAK,KAAKO,OAAO,CAACC,IAAI,EAAG;MAC1CL,QAAQ,GAAIM,SAAU,CAAC;IACxB,CAAC,MAAM,IAAK,OAAON,QAAQ,KAAK,UAAU,EAAG;MAC5CA,QAAQ,CAAEI,OAAO,CAACC,IAAK,CAAC;IACzB;EACD,CAAC;EAEF,MAAME,oBAAoB,GAAKC,QAAgB,IAAM;IACpD,MAAMC,OAAO,GAAGD,QAAQ,CAACE,GAAG,CAAE,CAAE;MAAEC,IAAI;MAAEN;IAAK,CAAC,MAAQ;MACrDT,KAAK,EAAEe,IAAI;MACXd,KAAK,EAAEQ;IACR,CAAC,CAAG,CAAC;IAEL,OAAO,CACN;MACCT,KAAK,EAAEpB,EAAE,CAAE,SAAU,CAAC;MACtBqB,KAAK,EAAE;IACR,CAAC,EACD,GAAGY,OAAO,CACV;EACF,CAAC;EAED,MAAMG,WAAW,gBAChBzB,KAAA,CAAAF,SAAA;IAAA4B,QAAA,GACGd,IAAI,iBAAIhB,IAAA,CAACN,IAAI;MAACsB,IAAI,EAAGA;IAAM,CAAE,CAAC,EAC9BH,KAAK;EAAA,CACN,CACF;EAED,oBACCb,IAAA,CAACF,qBAAqB;IAACgB,KAAK,EAAGT,aAAe;IAAAyB,QAAA,eAC7C9B,IAAA,CAACL,aAAa;MACbgB,qBAAqB,EAAGA,qBAAuB;MAC/CC,uBAAuB,EAAGA,uBAAyB;MACnDM,SAAS,EAAG1B,IAAI,CACf0B,SAAS,EACT,gCACD,CAAG;MACHL,KAAK,EAAGgB,WAAa;MACrBE,mBAAmB,EAAG,KAAO;MAC7BjB,KAAK,EAAGA,KAAO;MACfG,QAAQ,EAAGE,mBAAqB;MAChCO,OAAO,EAAGF,oBAAoB,CAAET,KAAM;IAAG,CACzC;EAAC,CACoB,CAAC;AAE1B;AAEA,eAAeN,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","Icon","SelectControl","sizesTable","findSizeBySlug","ContextSystemProvider","deprecated","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CONTEXT_VALUE","BaseControl","_overrides","__associatedWPComponentName","DimensionControl","props","__next40pxDefaultSize","__nextHasNoMarginBottom","label","value","sizes","icon","onChange","className","since","version","onChangeSpacingSize","val","theSize","slug","undefined","formatSizesAsOptions","theSizes","options","map","name","selectLabel","children","hideLabelFromVision"],"sources":["@wordpress/components/src/dimension-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Icon from '../icon';\nimport SelectControl from '../select-control';\nimport sizesTable, { findSizeBySlug } from './sizes';\nimport type { DimensionControlProps, Size } from './types';\nimport type { SelectControlSingleSelectionProps } from '../select-control/types';\nimport { ContextSystemProvider } from '../context';\nimport deprecated from '@wordpress/deprecated';\n\nconst CONTEXT_VALUE = {\n\tBaseControl: {\n\t\t// Temporary during deprecation grace period: Overrides the underlying `__associatedWPComponentName`\n\t\t// via the context system to override the value set by SelectControl.\n\t\t_overrides: { __associatedWPComponentName: 'DimensionControl' },\n\t},\n};\n\n/**\n * `DimensionControl` is a component designed to provide a UI to control spacing and/or dimensions.\n *\n * @deprecated\n *\n * ```jsx\n * import { __experimentalDimensionControl as DimensionControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * export default function MyCustomDimensionControl() {\n * \tconst [ paddingSize, setPaddingSize ] = useState( '' );\n *\n * \treturn (\n * \t\t<DimensionControl\n * \t\t\t__nextHasNoMarginBottom\n * \t\t\tlabel={ 'Padding' }\n * \t\t\ticon={ 'desktop' }\n * \t\t\tonChange={ ( value ) => setPaddingSize( value ) }\n * \t\t\tvalue={ paddingSize }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nexport function DimensionControl( props: DimensionControlProps ) {\n\tconst {\n\t\t__next40pxDefaultSize = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\tlabel,\n\t\tvalue,\n\t\tsizes = sizesTable,\n\t\ticon,\n\t\tonChange,\n\t\tclassName = '',\n\t} = props;\n\n\tdeprecated( 'wp.components.DimensionControl', {\n\t\tsince: '6.7',\n\t\tversion: '7.0',\n\t} );\n\n\tconst onChangeSpacingSize: SelectControlSingleSelectionProps[ 'onChange' ] =\n\t\t( val ) => {\n\t\t\tconst theSize = findSizeBySlug( sizes, val );\n\n\t\t\tif ( ! theSize || value === theSize.slug ) {\n\t\t\t\tonChange?.( undefined );\n\t\t\t} else if ( typeof onChange === 'function' ) {\n\t\t\t\tonChange( theSize.slug );\n\t\t\t}\n\t\t};\n\n\tconst formatSizesAsOptions = ( theSizes: Size[] ) => {\n\t\tconst options = theSizes.map( ( { name, slug } ) => ( {\n\t\t\tlabel: name,\n\t\t\tvalue: slug,\n\t\t} ) );\n\n\t\treturn [\n\t\t\t{\n\t\t\t\tlabel: __( 'Default' ),\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\t...options,\n\t\t];\n\t};\n\n\tconst selectLabel = (\n\t\t<>\n\t\t\t{ icon && <Icon icon={ icon } /> }\n\t\t\t{ label }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<ContextSystemProvider value={ CONTEXT_VALUE }>\n\t\t\t<SelectControl\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'block-editor-dimension-control'\n\t\t\t\t) }\n\t\t\t\tlabel={ selectLabel }\n\t\t\t\thideLabelFromVision={ false }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeSpacingSize }\n\t\t\t\toptions={ formatSizesAsOptions( sizes ) }\n\t\t\t/>\n\t\t</ContextSystemProvider>\n\t);\n}\n\nexport default DimensionControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,UAAU,IAAIC,cAAc,QAAQ,SAAS;AAGpD,SAASC,qBAAqB,QAAQ,YAAY;AAClD,OAAOC,UAAU,MAAM,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE/C,MAAMC,aAAa,GAAG;EACrBC,WAAW,EAAE;IACZ;IACA;IACAC,UAAU,EAAE;MAAEC,2BAA2B,EAAE;IAAmB;EAC/D;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,KAA4B,EAAG;EAChE,MAAM;IACLC,qBAAqB,GAAG,KAAK;IAC7BC,uBAAuB,GAAG,KAAK;IAC/BC,KAAK;IACLC,KAAK;IACLC,KAAK,GAAGpB,UAAU;IAClBqB,IAAI;IACJC,QAAQ;IACRC,SAAS,GAAG;EACb,CAAC,GAAGR,KAAK;EAETZ,UAAU,CAAE,gCAAgC,EAAE;IAC7CqB,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE;EACV,CAAE,CAAC;EAEH,MAAMC,mBAAoE,GACvEC,GAAG,IAAM;IACV,MAAMC,OAAO,GAAG3B,cAAc,CAAEmB,KAAK,EAAEO,GAAI,CAAC;IAE5C,IAAK,CAAEC,OAAO,IAAIT,KAAK,KAAKS,OAAO,CAACC,IAAI,EAAG;MAC1CP,QAAQ,GAAIQ,SAAU,CAAC;IACxB,CAAC,MAAM,IAAK,OAAOR,QAAQ,KAAK,UAAU,EAAG;MAC5CA,QAAQ,CAAEM,OAAO,CAACC,IAAK,CAAC;IACzB;EACD,CAAC;EAEF,MAAME,oBAAoB,GAAKC,QAAgB,IAAM;IACpD,MAAMC,OAAO,GAAGD,QAAQ,CAACE,GAAG,CAAE,CAAE;MAAEC,IAAI;MAAEN;IAAK,CAAC,MAAQ;MACrDX,KAAK,EAAEiB,IAAI;MACXhB,KAAK,EAAEU;IACR,CAAC,CAAG,CAAC;IAEL,OAAO,CACN;MACCX,KAAK,EAAErB,EAAE,CAAE,SAAU,CAAC;MACtBsB,KAAK,EAAE;IACR,CAAC,EACD,GAAGc,OAAO,CACV;EACF,CAAC;EAED,MAAMG,WAAW,gBAChB3B,KAAA,CAAAF,SAAA;IAAA8B,QAAA,GACGhB,IAAI,iBAAIhB,IAAA,CAACP,IAAI;MAACuB,IAAI,EAAGA;IAAM,CAAE,CAAC,EAC9BH,KAAK;EAAA,CACN,CACF;EAED,oBACCb,IAAA,CAACH,qBAAqB;IAACiB,KAAK,EAAGT,aAAe;IAAA2B,QAAA,eAC7ChC,IAAA,CAACN,aAAa;MACbiB,qBAAqB,EAAGA,qBAAuB;MAC/CC,uBAAuB,EAAGA,uBAAyB;MACnDM,SAAS,EAAG3B,IAAI,CACf2B,SAAS,EACT,gCACD,CAAG;MACHL,KAAK,EAAGkB,WAAa;MACrBE,mBAAmB,EAAG,KAAO;MAC7BnB,KAAK,EAAGA,KAAO;MACfG,QAAQ,EAAGI,mBAAqB;MAChCO,OAAO,EAAGF,oBAAoB,CAAEX,KAAM;IAAG,CACzC;EAAC,CACoB,CAAC;AAE1B;AAEA,eAAeN,gBAAgB","ignoreList":[]}
@@ -71,7 +71,7 @@ export function Draggable({
71
71
  __experimentalDragComponent: dragComponent
72
72
  }) {
73
73
  const dragComponentRef = useRef(null);
74
- const cleanup = useRef(() => {});
74
+ const cleanupRef = useRef(() => {});
75
75
 
76
76
  /**
77
77
  * Removes the element clone, resets cursor, and removes drag listener.
@@ -80,7 +80,7 @@ export function Draggable({
80
80
  */
81
81
  function end(event) {
82
82
  event.preventDefault();
83
- cleanup.current();
83
+ cleanupRef.current();
84
84
  if (onDragEnd) {
85
85
  onDragEnd(event);
86
86
  }
@@ -194,7 +194,7 @@ export function Draggable({
194
194
  if (onDragStart) {
195
195
  onDragStart(event);
196
196
  }
197
- cleanup.current = () => {
197
+ cleanupRef.current = () => {
198
198
  // Remove drag clone.
199
199
  if (cloneWrapper && cloneWrapper.parentNode) {
200
200
  cloneWrapper.parentNode.removeChild(cloneWrapper);
@@ -209,7 +209,7 @@ export function Draggable({
209
209
  };
210
210
  }
211
211
  useEffect(() => () => {
212
- cleanup.current();
212
+ cleanupRef.current();
213
213
  }, []);
214
214
  return /*#__PURE__*/_jsxs(_Fragment, {
215
215
  children: [children({
@@ -1 +1 @@
1
- {"version":3,"names":["throttle","useEffect","useRef","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","dragImageClass","cloneWrapperClass","clonePadding","bodyClass","Draggable","children","onDragStart","onDragOver","onDragEnd","appendToOwnerDocument","cloneClassname","elementId","transferData","__experimentalTransferDataType","transferDataType","__experimentalDragComponent","dragComponent","dragComponentRef","cleanup","end","event","preventDefault","current","start","ownerDocument","target","dataTransfer","setData","JSON","stringify","cloneWrapper","createElement","style","top","left","dragImage","setDragImage","classList","add","body","appendChild","x","y","clientX","clientY","transform","clonedDragComponent","innerHTML","element","getElementById","elementRect","getBoundingClientRect","elementWrapper","parentNode","elementTopOffset","elementLeftOffset","width","clone","cloneNode","id","Array","from","querySelectorAll","forEach","child","removeChild","cursorLeft","cursorTop","over","e","nextX","nextY","throttledDragOver","addEventListener","remove","removeEventListener","onDraggableStart","onDraggableEnd","className","display","ref"],"sources":["@wordpress/components/src/draggable/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { DragEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { throttle } from '@wordpress/compose';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DraggableProps } from './types';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst clonePadding = 0;\nconst bodyClass = 'is-dragging-components-draggable';\n\n/**\n * `Draggable` is a Component that provides a way to set up a cross-browser\n * (including IE) customizable drag image and the transfer data for the drag\n * event. It decouples the drag handle and the element to drag: use it by\n * wrapping the component that will become the drag handle and providing the DOM\n * ID of the element to drag.\n *\n * Note that the drag handle needs to declare the `draggable=\"true\"` property\n * and bind the `Draggable`s `onDraggableStart` and `onDraggableEnd` event\n * handlers to its own `onDragStart` and `onDragEnd` respectively. `Draggable`\n * takes care of the logic to setup the drag image and the transfer data, but is\n * not concerned with creating an actual DOM element that is draggable.\n *\n * ```jsx\n * import { Draggable, Panel, PanelBody } from '@wordpress/components';\n * import { Icon, more } from '@wordpress/icons';\n *\n * const MyDraggable = () => (\n * <div id=\"draggable-panel\">\n * <Panel header=\"Draggable panel\">\n * <PanelBody>\n * <Draggable elementId=\"draggable-panel\" transferData={ {} }>\n * { ( { onDraggableStart, onDraggableEnd } ) => (\n * <div\n * className=\"example-drag-handle\"\n * draggable\n * onDragStart={ onDraggableStart }\n * onDragEnd={ onDraggableEnd }\n * >\n * <Icon icon={ more } />\n * </div>\n * ) }\n * </Draggable>\n * </PanelBody>\n * </Panel>\n * </div>\n * );\n * ```\n */\nexport function Draggable( {\n\tchildren,\n\tonDragStart,\n\tonDragOver,\n\tonDragEnd,\n\tappendToOwnerDocument = false,\n\tcloneClassname,\n\telementId,\n\ttransferData,\n\t__experimentalTransferDataType: transferDataType = 'text',\n\t__experimentalDragComponent: dragComponent,\n}: DraggableProps ) {\n\tconst dragComponentRef = useRef< HTMLDivElement >( null );\n\tconst cleanup = useRef( () => {} );\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t *\n\t * @param event The non-custom DragEvent.\n\t */\n\tfunction end( event: DragEvent ) {\n\t\tevent.preventDefault();\n\t\tcleanup.current();\n\n\t\tif ( onDragEnd ) {\n\t\t\tonDragEnd( event );\n\t\t}\n\t}\n\n\t/**\n\t * This method does a couple of things:\n\t *\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t *\n\t * @param event The non-custom DragEvent.\n\t */\n\tfunction start( event: DragEvent ) {\n\t\tconst { ownerDocument } = event.target as HTMLElement;\n\n\t\tevent.dataTransfer.setData(\n\t\t\ttransferDataType,\n\t\t\tJSON.stringify( transferData )\n\t\t);\n\n\t\tconst cloneWrapper = ownerDocument.createElement( 'div' );\n\t\t// Reset position to 0,0. Natural stacking order will position this lower, even with a transform otherwise.\n\t\tcloneWrapper.style.top = '0';\n\t\tcloneWrapper.style.left = '0';\n\n\t\tconst dragImage = ownerDocument.createElement( 'div' );\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\townerDocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t}\n\n\t\tcloneWrapper.classList.add( cloneWrapperClass );\n\n\t\tif ( cloneClassname ) {\n\t\t\tcloneWrapper.classList.add( cloneClassname );\n\t\t}\n\n\t\tlet x = 0;\n\t\tlet y = 0;\n\t\t// If a dragComponent is defined, the following logic will clone the\n\t\t// HTML node and inject it into the cloneWrapper.\n\t\tif ( dragComponentRef.current ) {\n\t\t\t// Position dragComponent at the same position as the cursor.\n\t\t\tx = event.clientX;\n\t\t\ty = event.clientY;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\tconst clonedDragComponent = ownerDocument.createElement( 'div' );\n\t\t\tclonedDragComponent.innerHTML = dragComponentRef.current.innerHTML;\n\t\t\tcloneWrapper.appendChild( clonedDragComponent );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\townerDocument.body.appendChild( cloneWrapper );\n\t\t} else {\n\t\t\tconst element = ownerDocument.getElementById(\n\t\t\t\telementId\n\t\t\t) as HTMLElement;\n\n\t\t\t// Prepare element clone and append to element wrapper.\n\t\t\tconst elementRect = element.getBoundingClientRect();\n\t\t\tconst elementWrapper = element.parentNode;\n\t\t\tconst elementTopOffset = elementRect.top;\n\t\t\tconst elementLeftOffset = elementRect.left;\n\n\t\t\tcloneWrapper.style.width = `${\n\t\t\t\telementRect.width + clonePadding * 2\n\t\t\t}px`;\n\n\t\t\tconst clone = element.cloneNode( true ) as HTMLElement;\n\t\t\tclone.id = `clone-${ elementId }`;\n\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tx = elementLeftOffset - clonePadding;\n\t\t\ty = elementTopOffset - clonePadding;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze.\n\t\t\tArray.from< HTMLIFrameElement >(\n\t\t\t\tclone.querySelectorAll( 'iframe' )\n\t\t\t).forEach( ( child ) => child.parentNode?.removeChild( child ) );\n\n\t\t\tcloneWrapper.appendChild( clone );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\tif ( appendToOwnerDocument ) {\n\t\t\t\townerDocument.body.appendChild( cloneWrapper );\n\t\t\t} else {\n\t\t\t\telementWrapper?.appendChild( cloneWrapper );\n\t\t\t}\n\t\t}\n\n\t\t// Mark the current cursor coordinates.\n\t\tlet cursorLeft = event.clientX;\n\t\tlet cursorTop = event.clientY;\n\n\t\tfunction over( e: DragEvent ) {\n\t\t\t// Skip doing any work if mouse has not moved.\n\t\t\tif ( cursorLeft === e.clientX && cursorTop === e.clientY ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextX = x + e.clientX - cursorLeft;\n\t\t\tconst nextY = y + e.clientY - cursorTop;\n\t\t\tcloneWrapper.style.transform = `translate( ${ nextX }px, ${ nextY }px )`;\n\t\t\tcursorLeft = e.clientX;\n\t\t\tcursorTop = e.clientY;\n\t\t\tx = nextX;\n\t\t\ty = nextY;\n\t\t\tif ( onDragOver ) {\n\t\t\t\tonDragOver( e );\n\t\t\t}\n\t\t}\n\n\t\t// Aim for 60fps (16 ms per frame) for now. We can potentially use requestAnimationFrame (raf) instead,\n\t\t// note that browsers may throttle raf below 60fps in certain conditions.\n\t\t// @ts-ignore\n\t\tconst throttledDragOver = throttle( over, 16 );\n\n\t\townerDocument.addEventListener( 'dragover', throttledDragOver );\n\n\t\t// Update cursor to 'grabbing', document wide.\n\t\townerDocument.body.classList.add( bodyClass );\n\n\t\tif ( onDragStart ) {\n\t\t\tonDragStart( event );\n\t\t}\n\n\t\tcleanup.current = () => {\n\t\t\t// Remove drag clone.\n\t\t\tif ( cloneWrapper && cloneWrapper.parentNode ) {\n\t\t\t\tcloneWrapper.parentNode.removeChild( cloneWrapper );\n\t\t\t}\n\n\t\t\tif ( dragImage && dragImage.parentNode ) {\n\t\t\t\tdragImage.parentNode.removeChild( dragImage );\n\t\t\t}\n\n\t\t\t// Reset cursor.\n\t\t\townerDocument.body.classList.remove( bodyClass );\n\n\t\t\townerDocument.removeEventListener( 'dragover', throttledDragOver );\n\t\t};\n\t}\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tcleanup.current();\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ children( {\n\t\t\t\tonDraggableStart: start,\n\t\t\t\tonDraggableEnd: end,\n\t\t\t} ) }\n\t\t\t{ dragComponent && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-draggable-drag-component-root\"\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\tref={ dragComponentRef }\n\t\t\t\t>\n\t\t\t\t\t{ dragComponent }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Draggable;\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,cAAc,GAAG,4CAA4C;AACnE,MAAMC,iBAAiB,GAAG,6BAA6B;AACvD,MAAMC,YAAY,GAAG,CAAC;AACtB,MAAMC,SAAS,GAAG,kCAAkC;;AAEpD;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAE;EAC1BC,QAAQ;EACRC,WAAW;EACXC,UAAU;EACVC,SAAS;EACTC,qBAAqB,GAAG,KAAK;EAC7BC,cAAc;EACdC,SAAS;EACTC,YAAY;EACZC,8BAA8B,EAAEC,gBAAgB,GAAG,MAAM;EACzDC,2BAA2B,EAAEC;AACd,CAAC,EAAG;EACnB,MAAMC,gBAAgB,GAAGxB,MAAM,CAAoB,IAAK,CAAC;EACzD,MAAMyB,OAAO,GAAGzB,MAAM,CAAE,MAAM,CAAC,CAAE,CAAC;;EAElC;AACD;AACA;AACA;AACA;EACC,SAAS0B,GAAGA,CAAEC,KAAgB,EAAG;IAChCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBH,OAAO,CAACI,OAAO,CAAC,CAAC;IAEjB,IAAKd,SAAS,EAAG;MAChBA,SAAS,CAAEY,KAAM,CAAC;IACnB;EACD;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,SAASG,KAAKA,CAAEH,KAAgB,EAAG;IAClC,MAAM;MAAEI;IAAc,CAAC,GAAGJ,KAAK,CAACK,MAAqB;IAErDL,KAAK,CAACM,YAAY,CAACC,OAAO,CACzBb,gBAAgB,EAChBc,IAAI,CAACC,SAAS,CAAEjB,YAAa,CAC9B,CAAC;IAED,MAAMkB,YAAY,GAAGN,aAAa,CAACO,aAAa,CAAE,KAAM,CAAC;IACzD;IACAD,YAAY,CAACE,KAAK,CAACC,GAAG,GAAG,GAAG;IAC5BH,YAAY,CAACE,KAAK,CAACE,IAAI,GAAG,GAAG;IAE7B,MAAMC,SAAS,GAAGX,aAAa,CAACO,aAAa,CAAE,KAAM,CAAC;;IAEtD;IACA;IACA;IACA,IAAK,UAAU,KAAK,OAAOX,KAAK,CAACM,YAAY,CAACU,YAAY,EAAG;MAC5DD,SAAS,CAACE,SAAS,CAACC,GAAG,CAAEtC,cAAe,CAAC;MACzCwB,aAAa,CAACe,IAAI,CAACC,WAAW,CAAEL,SAAU,CAAC;MAC3Cf,KAAK,CAACM,YAAY,CAACU,YAAY,CAAED,SAAS,EAAE,CAAC,EAAE,CAAE,CAAC;IACnD;IAEAL,YAAY,CAACO,SAAS,CAACC,GAAG,CAAErC,iBAAkB,CAAC;IAE/C,IAAKS,cAAc,EAAG;MACrBoB,YAAY,CAACO,SAAS,CAACC,GAAG,CAAE5B,cAAe,CAAC;IAC7C;IAEA,IAAI+B,CAAC,GAAG,CAAC;IACT,IAAIC,CAAC,GAAG,CAAC;IACT;IACA;IACA,IAAKzB,gBAAgB,CAACK,OAAO,EAAG;MAC/B;MACAmB,CAAC,GAAGrB,KAAK,CAACuB,OAAO;MACjBD,CAAC,GAAGtB,KAAK,CAACwB,OAAO;MACjBd,YAAY,CAACE,KAAK,CAACa,SAAS,GAAI,cAAcJ,CAAG,OAAOC,CAAG,MAAK;MAEhE,MAAMI,mBAAmB,GAAGtB,aAAa,CAACO,aAAa,CAAE,KAAM,CAAC;MAChEe,mBAAmB,CAACC,SAAS,GAAG9B,gBAAgB,CAACK,OAAO,CAACyB,SAAS;MAClEjB,YAAY,CAACU,WAAW,CAAEM,mBAAoB,CAAC;;MAE/C;MACAtB,aAAa,CAACe,IAAI,CAACC,WAAW,CAAEV,YAAa,CAAC;IAC/C,CAAC,MAAM;MACN,MAAMkB,OAAO,GAAGxB,aAAa,CAACyB,cAAc,CAC3CtC,SACD,CAAgB;;MAEhB;MACA,MAAMuC,WAAW,GAAGF,OAAO,CAACG,qBAAqB,CAAC,CAAC;MACnD,MAAMC,cAAc,GAAGJ,OAAO,CAACK,UAAU;MACzC,MAAMC,gBAAgB,GAAGJ,WAAW,CAACjB,GAAG;MACxC,MAAMsB,iBAAiB,GAAGL,WAAW,CAAChB,IAAI;MAE1CJ,YAAY,CAACE,KAAK,CAACwB,KAAK,GAAI,GAC3BN,WAAW,CAACM,KAAK,GAAGtD,YAAY,GAAG,CACnC,IAAG;MAEJ,MAAMuD,KAAK,GAAGT,OAAO,CAACU,SAAS,CAAE,IAAK,CAAgB;MACtDD,KAAK,CAACE,EAAE,GAAI,SAAShD,SAAW,EAAC;;MAEjC;MACA8B,CAAC,GAAGc,iBAAiB,GAAGrD,YAAY;MACpCwC,CAAC,GAAGY,gBAAgB,GAAGpD,YAAY;MACnC4B,YAAY,CAACE,KAAK,CAACa,SAAS,GAAI,cAAcJ,CAAG,OAAOC,CAAG,MAAK;;MAEhE;MACAkB,KAAK,CAACC,IAAI,CACTJ,KAAK,CAACK,gBAAgB,CAAE,QAAS,CAClC,CAAC,CAACC,OAAO,CAAIC,KAAK,IAAMA,KAAK,CAACX,UAAU,EAAEY,WAAW,CAAED,KAAM,CAAE,CAAC;MAEhElC,YAAY,CAACU,WAAW,CAAEiB,KAAM,CAAC;;MAEjC;MACA,IAAKhD,qBAAqB,EAAG;QAC5Be,aAAa,CAACe,IAAI,CAACC,WAAW,CAAEV,YAAa,CAAC;MAC/C,CAAC,MAAM;QACNsB,cAAc,EAAEZ,WAAW,CAAEV,YAAa,CAAC;MAC5C;IACD;;IAEA;IACA,IAAIoC,UAAU,GAAG9C,KAAK,CAACuB,OAAO;IAC9B,IAAIwB,SAAS,GAAG/C,KAAK,CAACwB,OAAO;IAE7B,SAASwB,IAAIA,CAAEC,CAAY,EAAG;MAC7B;MACA,IAAKH,UAAU,KAAKG,CAAC,CAAC1B,OAAO,IAAIwB,SAAS,KAAKE,CAAC,CAACzB,OAAO,EAAG;QAC1D;MACD;MACA,MAAM0B,KAAK,GAAG7B,CAAC,GAAG4B,CAAC,CAAC1B,OAAO,GAAGuB,UAAU;MACxC,MAAMK,KAAK,GAAG7B,CAAC,GAAG2B,CAAC,CAACzB,OAAO,GAAGuB,SAAS;MACvCrC,YAAY,CAACE,KAAK,CAACa,SAAS,GAAI,cAAcyB,KAAO,OAAOC,KAAO,MAAK;MACxEL,UAAU,GAAGG,CAAC,CAAC1B,OAAO;MACtBwB,SAAS,GAAGE,CAAC,CAACzB,OAAO;MACrBH,CAAC,GAAG6B,KAAK;MACT5B,CAAC,GAAG6B,KAAK;MACT,IAAKhE,UAAU,EAAG;QACjBA,UAAU,CAAE8D,CAAE,CAAC;MAChB;IACD;;IAEA;IACA;IACA;IACA,MAAMG,iBAAiB,GAAGjF,QAAQ,CAAE6E,IAAI,EAAE,EAAG,CAAC;IAE9C5C,aAAa,CAACiD,gBAAgB,CAAE,UAAU,EAAED,iBAAkB,CAAC;;IAE/D;IACAhD,aAAa,CAACe,IAAI,CAACF,SAAS,CAACC,GAAG,CAAEnC,SAAU,CAAC;IAE7C,IAAKG,WAAW,EAAG;MAClBA,WAAW,CAAEc,KAAM,CAAC;IACrB;IAEAF,OAAO,CAACI,OAAO,GAAG,MAAM;MACvB;MACA,IAAKQ,YAAY,IAAIA,YAAY,CAACuB,UAAU,EAAG;QAC9CvB,YAAY,CAACuB,UAAU,CAACY,WAAW,CAAEnC,YAAa,CAAC;MACpD;MAEA,IAAKK,SAAS,IAAIA,SAAS,CAACkB,UAAU,EAAG;QACxClB,SAAS,CAACkB,UAAU,CAACY,WAAW,CAAE9B,SAAU,CAAC;MAC9C;;MAEA;MACAX,aAAa,CAACe,IAAI,CAACF,SAAS,CAACqC,MAAM,CAAEvE,SAAU,CAAC;MAEhDqB,aAAa,CAACmD,mBAAmB,CAAE,UAAU,EAAEH,iBAAkB,CAAC;IACnE,CAAC;EACF;EAEAhF,SAAS,CACR,MAAM,MAAM;IACX0B,OAAO,CAACI,OAAO,CAAC,CAAC;EAClB,CAAC,EACD,EACD,CAAC;EAED,oBACCvB,KAAA,CAAAF,SAAA;IAAAQ,QAAA,GACGA,QAAQ,CAAE;MACXuE,gBAAgB,EAAErD,KAAK;MACvBsD,cAAc,EAAE1D;IACjB,CAAE,CAAC,EACDH,aAAa,iBACdrB,IAAA;MACCmF,SAAS,EAAC,0CAA0C;MACpD9C,KAAK,EAAG;QAAE+C,OAAO,EAAE;MAAO,CAAG;MAC7BC,GAAG,EAAG/D,gBAAkB;MAAAZ,QAAA,EAEtBW;IAAa,CACX,CACL;EAAA,CACA,CAAC;AAEL;AAEA,eAAeZ,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["throttle","useEffect","useRef","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","dragImageClass","cloneWrapperClass","clonePadding","bodyClass","Draggable","children","onDragStart","onDragOver","onDragEnd","appendToOwnerDocument","cloneClassname","elementId","transferData","__experimentalTransferDataType","transferDataType","__experimentalDragComponent","dragComponent","dragComponentRef","cleanupRef","end","event","preventDefault","current","start","ownerDocument","target","dataTransfer","setData","JSON","stringify","cloneWrapper","createElement","style","top","left","dragImage","setDragImage","classList","add","body","appendChild","x","y","clientX","clientY","transform","clonedDragComponent","innerHTML","element","getElementById","elementRect","getBoundingClientRect","elementWrapper","parentNode","elementTopOffset","elementLeftOffset","width","clone","cloneNode","id","Array","from","querySelectorAll","forEach","child","removeChild","cursorLeft","cursorTop","over","e","nextX","nextY","throttledDragOver","addEventListener","remove","removeEventListener","onDraggableStart","onDraggableEnd","className","display","ref"],"sources":["@wordpress/components/src/draggable/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { DragEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { throttle } from '@wordpress/compose';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DraggableProps } from './types';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst clonePadding = 0;\nconst bodyClass = 'is-dragging-components-draggable';\n\n/**\n * `Draggable` is a Component that provides a way to set up a cross-browser\n * (including IE) customizable drag image and the transfer data for the drag\n * event. It decouples the drag handle and the element to drag: use it by\n * wrapping the component that will become the drag handle and providing the DOM\n * ID of the element to drag.\n *\n * Note that the drag handle needs to declare the `draggable=\"true\"` property\n * and bind the `Draggable`s `onDraggableStart` and `onDraggableEnd` event\n * handlers to its own `onDragStart` and `onDragEnd` respectively. `Draggable`\n * takes care of the logic to setup the drag image and the transfer data, but is\n * not concerned with creating an actual DOM element that is draggable.\n *\n * ```jsx\n * import { Draggable, Panel, PanelBody } from '@wordpress/components';\n * import { Icon, more } from '@wordpress/icons';\n *\n * const MyDraggable = () => (\n * <div id=\"draggable-panel\">\n * <Panel header=\"Draggable panel\">\n * <PanelBody>\n * <Draggable elementId=\"draggable-panel\" transferData={ {} }>\n * { ( { onDraggableStart, onDraggableEnd } ) => (\n * <div\n * className=\"example-drag-handle\"\n * draggable\n * onDragStart={ onDraggableStart }\n * onDragEnd={ onDraggableEnd }\n * >\n * <Icon icon={ more } />\n * </div>\n * ) }\n * </Draggable>\n * </PanelBody>\n * </Panel>\n * </div>\n * );\n * ```\n */\nexport function Draggable( {\n\tchildren,\n\tonDragStart,\n\tonDragOver,\n\tonDragEnd,\n\tappendToOwnerDocument = false,\n\tcloneClassname,\n\telementId,\n\ttransferData,\n\t__experimentalTransferDataType: transferDataType = 'text',\n\t__experimentalDragComponent: dragComponent,\n}: DraggableProps ) {\n\tconst dragComponentRef = useRef< HTMLDivElement >( null );\n\tconst cleanupRef = useRef( () => {} );\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t *\n\t * @param event The non-custom DragEvent.\n\t */\n\tfunction end( event: DragEvent ) {\n\t\tevent.preventDefault();\n\t\tcleanupRef.current();\n\n\t\tif ( onDragEnd ) {\n\t\t\tonDragEnd( event );\n\t\t}\n\t}\n\n\t/**\n\t * This method does a couple of things:\n\t *\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t *\n\t * @param event The non-custom DragEvent.\n\t */\n\tfunction start( event: DragEvent ) {\n\t\tconst { ownerDocument } = event.target as HTMLElement;\n\n\t\tevent.dataTransfer.setData(\n\t\t\ttransferDataType,\n\t\t\tJSON.stringify( transferData )\n\t\t);\n\n\t\tconst cloneWrapper = ownerDocument.createElement( 'div' );\n\t\t// Reset position to 0,0. Natural stacking order will position this lower, even with a transform otherwise.\n\t\tcloneWrapper.style.top = '0';\n\t\tcloneWrapper.style.left = '0';\n\n\t\tconst dragImage = ownerDocument.createElement( 'div' );\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\townerDocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t}\n\n\t\tcloneWrapper.classList.add( cloneWrapperClass );\n\n\t\tif ( cloneClassname ) {\n\t\t\tcloneWrapper.classList.add( cloneClassname );\n\t\t}\n\n\t\tlet x = 0;\n\t\tlet y = 0;\n\t\t// If a dragComponent is defined, the following logic will clone the\n\t\t// HTML node and inject it into the cloneWrapper.\n\t\tif ( dragComponentRef.current ) {\n\t\t\t// Position dragComponent at the same position as the cursor.\n\t\t\tx = event.clientX;\n\t\t\ty = event.clientY;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\tconst clonedDragComponent = ownerDocument.createElement( 'div' );\n\t\t\tclonedDragComponent.innerHTML = dragComponentRef.current.innerHTML;\n\t\t\tcloneWrapper.appendChild( clonedDragComponent );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\townerDocument.body.appendChild( cloneWrapper );\n\t\t} else {\n\t\t\tconst element = ownerDocument.getElementById(\n\t\t\t\telementId\n\t\t\t) as HTMLElement;\n\n\t\t\t// Prepare element clone and append to element wrapper.\n\t\t\tconst elementRect = element.getBoundingClientRect();\n\t\t\tconst elementWrapper = element.parentNode;\n\t\t\tconst elementTopOffset = elementRect.top;\n\t\t\tconst elementLeftOffset = elementRect.left;\n\n\t\t\tcloneWrapper.style.width = `${\n\t\t\t\telementRect.width + clonePadding * 2\n\t\t\t}px`;\n\n\t\t\tconst clone = element.cloneNode( true ) as HTMLElement;\n\t\t\tclone.id = `clone-${ elementId }`;\n\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tx = elementLeftOffset - clonePadding;\n\t\t\ty = elementTopOffset - clonePadding;\n\t\t\tcloneWrapper.style.transform = `translate( ${ x }px, ${ y }px )`;\n\n\t\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze.\n\t\t\tArray.from< HTMLIFrameElement >(\n\t\t\t\tclone.querySelectorAll( 'iframe' )\n\t\t\t).forEach( ( child ) => child.parentNode?.removeChild( child ) );\n\n\t\t\tcloneWrapper.appendChild( clone );\n\n\t\t\t// Inject the cloneWrapper into the DOM.\n\t\t\tif ( appendToOwnerDocument ) {\n\t\t\t\townerDocument.body.appendChild( cloneWrapper );\n\t\t\t} else {\n\t\t\t\telementWrapper?.appendChild( cloneWrapper );\n\t\t\t}\n\t\t}\n\n\t\t// Mark the current cursor coordinates.\n\t\tlet cursorLeft = event.clientX;\n\t\tlet cursorTop = event.clientY;\n\n\t\tfunction over( e: DragEvent ) {\n\t\t\t// Skip doing any work if mouse has not moved.\n\t\t\tif ( cursorLeft === e.clientX && cursorTop === e.clientY ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextX = x + e.clientX - cursorLeft;\n\t\t\tconst nextY = y + e.clientY - cursorTop;\n\t\t\tcloneWrapper.style.transform = `translate( ${ nextX }px, ${ nextY }px )`;\n\t\t\tcursorLeft = e.clientX;\n\t\t\tcursorTop = e.clientY;\n\t\t\tx = nextX;\n\t\t\ty = nextY;\n\t\t\tif ( onDragOver ) {\n\t\t\t\tonDragOver( e );\n\t\t\t}\n\t\t}\n\n\t\t// Aim for 60fps (16 ms per frame) for now. We can potentially use requestAnimationFrame (raf) instead,\n\t\t// note that browsers may throttle raf below 60fps in certain conditions.\n\t\t// @ts-ignore\n\t\tconst throttledDragOver = throttle( over, 16 );\n\n\t\townerDocument.addEventListener( 'dragover', throttledDragOver );\n\n\t\t// Update cursor to 'grabbing', document wide.\n\t\townerDocument.body.classList.add( bodyClass );\n\n\t\tif ( onDragStart ) {\n\t\t\tonDragStart( event );\n\t\t}\n\n\t\tcleanupRef.current = () => {\n\t\t\t// Remove drag clone.\n\t\t\tif ( cloneWrapper && cloneWrapper.parentNode ) {\n\t\t\t\tcloneWrapper.parentNode.removeChild( cloneWrapper );\n\t\t\t}\n\n\t\t\tif ( dragImage && dragImage.parentNode ) {\n\t\t\t\tdragImage.parentNode.removeChild( dragImage );\n\t\t\t}\n\n\t\t\t// Reset cursor.\n\t\t\townerDocument.body.classList.remove( bodyClass );\n\n\t\t\townerDocument.removeEventListener( 'dragover', throttledDragOver );\n\t\t};\n\t}\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tcleanupRef.current();\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ children( {\n\t\t\t\tonDraggableStart: start,\n\t\t\t\tonDraggableEnd: end,\n\t\t\t} ) }\n\t\t\t{ dragComponent && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-draggable-drag-component-root\"\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\tref={ dragComponentRef }\n\t\t\t\t>\n\t\t\t\t\t{ dragComponent }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Draggable;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,62 @@
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, check } from '@wordpress/icons';
11
+
12
+ /**
13
+ * Internal dependencies
14
+ */
15
+
16
+ import { DropdownMenuContext } from './context';
17
+ import * as Styled from './styles';
18
+ import { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ import { jsxs as _jsxs } from "react/jsx-runtime";
21
+ export const DropdownMenuCheckboxItem = forwardRef(function DropdownMenuCheckboxItem({
22
+ suffix,
23
+ children,
24
+ onBlur,
25
+ hideOnClick = false,
26
+ ...props
27
+ }, ref) {
28
+ // TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed
29
+ const focusVisibleFixProps = useTemporaryFocusVisibleFix({
30
+ onBlur
31
+ });
32
+ const dropdownMenuContext = useContext(DropdownMenuContext);
33
+ return /*#__PURE__*/_jsxs(Styled.DropdownMenuCheckboxItem, {
34
+ ref: ref,
35
+ ...props,
36
+ ...focusVisibleFixProps,
37
+ accessibleWhenDisabled: true,
38
+ hideOnClick: hideOnClick,
39
+ store: dropdownMenuContext?.store,
40
+ children: [/*#__PURE__*/_jsx(Ariakit.MenuItemCheck, {
41
+ store: dropdownMenuContext?.store,
42
+ render: /*#__PURE__*/_jsx(Styled.ItemPrefixWrapper, {})
43
+ // Override some ariakit inline styles
44
+ ,
45
+ style: {
46
+ width: 'auto',
47
+ height: 'auto'
48
+ },
49
+ children: /*#__PURE__*/_jsx(Icon, {
50
+ icon: check,
51
+ size: 24
52
+ })
53
+ }), /*#__PURE__*/_jsxs(Styled.DropdownMenuItemContentWrapper, {
54
+ children: [/*#__PURE__*/_jsx(Styled.DropdownMenuItemChildrenWrapper, {
55
+ children: children
56
+ }), suffix && /*#__PURE__*/_jsx(Styled.ItemSuffixWrapper, {
57
+ children: suffix
58
+ })]
59
+ })]
60
+ });
61
+ });
62
+ //# sourceMappingURL=checkbox-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Ariakit","forwardRef","useContext","Icon","check","DropdownMenuContext","Styled","useTemporaryFocusVisibleFix","jsx","_jsx","jsxs","_jsxs","DropdownMenuCheckboxItem","suffix","children","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/checkbox-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, check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { DropdownMenuContext } from './context';\nimport type { DropdownMenuCheckboxItemProps } from './types';\nimport * as Styled from './styles';\nimport { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';\n\nexport const DropdownMenuCheckboxItem = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuCheckboxItemProps, 'div', false >\n>( function DropdownMenuCheckboxItem(\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.DropdownMenuCheckboxItem\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={ 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"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;;AAEzC;AACA;AACA;AACA,SAASC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AAC3D,SAASC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;;AAE9C;AACA;AACA;;AAEA,SAASC,mBAAmB,QAAQ,WAAW;AAE/C,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,SAASC,2BAA2B,QAAQ,mCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEhF,OAAO,MAAMC,wBAAwB,GAAGX,UAAU,CAG/C,SAASW,wBAAwBA,CACnC;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,MAAM;EAAEC,WAAW,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,EAC3DC,GAAG,EACF;EACD;EACA,MAAMC,oBAAoB,GAAGZ,2BAA2B,CAAE;IAAEQ;EAAO,CAAE,CAAC;EACtE,MAAMK,mBAAmB,GAAGlB,UAAU,CAAEG,mBAAoB,CAAC;EAE7D,oBACCM,KAAA,CAACL,MAAM,CAACM,wBAAwB;IAC/BM,GAAG,EAAGA,GAAK;IAAA,GACND,KAAK;IAAA,GACLE,oBAAoB;IACzBE,sBAAsB;IACtBL,WAAW,EAAGA,WAAa;IAC3BM,KAAK,EAAGF,mBAAmB,EAAEE,KAAO;IAAAR,QAAA,gBAEpCL,IAAA,CAACT,OAAO,CAACuB,aAAa;MACrBD,KAAK,EAAGF,mBAAmB,EAAEE,KAAO;MACpCE,MAAM,eAAGf,IAAA,CAACH,MAAM,CAACmB,iBAAiB,IAAE;MACpC;MAAA;MACAC,KAAK,EAAG;QAAEC,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE;MAAO,CAAG;MAAAd,QAAA,eAE3CL,IAAA,CAACN,IAAI;QAAC0B,IAAI,EAAGzB,KAAO;QAAC0B,IAAI,EAAG;MAAI,CAAE;IAAC,CACb,CAAC,eAExBnB,KAAA,CAACL,MAAM,CAACyB,8BAA8B;MAAAjB,QAAA,gBACrCL,IAAA,CAACH,MAAM,CAAC0B,+BAA+B;QAAAlB,QAAA,EACpCA;MAAQ,CAC6B,CAAC,EAEvCD,MAAM,iBACPJ,IAAA,CAACH,MAAM,CAAC2B,iBAAiB;QAAAnB,QAAA,EACtBD;MAAM,CACiB,CAC1B;IAAA,CACqC,CAAC;EAAA,CACR,CAAC;AAEpC,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { createContext } from '@wordpress/element';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+
10
+ export const DropdownMenuContext = createContext(undefined);
11
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","DropdownMenuContext","undefined"],"sources":["@wordpress/components/src/dropdown-menu-v2/context.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DropdownMenuContext as DropdownMenuContextType } from './types';\n\nexport const DropdownMenuContext = createContext<\n\tDropdownMenuContextType | undefined\n>( undefined );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;;AAGA,OAAO,MAAMC,mBAAmB,GAAGD,aAAa,CAE7CE,SAAU,CAAC","ignoreList":[]}
@@ -0,0 +1,32 @@
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 { Text } from '../text';
12
+ import * as Styled from './styles';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const DropdownMenuGroupLabel = forwardRef(function DropdownMenuGroup(props, ref) {
15
+ const dropdownMenuContext = useContext(DropdownMenuContext);
16
+ return /*#__PURE__*/_jsx(Styled.DropdownMenuGroupLabel, {
17
+ ref: ref,
18
+ render:
19
+ /*#__PURE__*/
20
+ // @ts-expect-error The `children` prop is passed
21
+ _jsx(Text, {
22
+ upperCase: true,
23
+ variant: "muted",
24
+ size: "11px",
25
+ weight: 500,
26
+ lineHeight: "16px"
27
+ }),
28
+ ...props,
29
+ store: dropdownMenuContext?.store
30
+ });
31
+ });
32
+ //# sourceMappingURL=group-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useContext","DropdownMenuContext","Text","Styled","jsx","_jsx","DropdownMenuGroupLabel","DropdownMenuGroup","props","ref","dropdownMenuContext","render","upperCase","variant","size","weight","lineHeight","store"],"sources":["@wordpress/components/src/dropdown-menu-v2/group-label.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 { Text } from '../text';\nimport type { DropdownMenuGroupLabelProps } from './types';\nimport * as Styled from './styles';\n\nexport const DropdownMenuGroupLabel = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< DropdownMenuGroupLabelProps, 'div', false >\n>( function DropdownMenuGroup( props, ref ) {\n\tconst dropdownMenuContext = useContext( DropdownMenuContext );\n\treturn (\n\t\t<Styled.DropdownMenuGroupLabel\n\t\t\tref={ ref }\n\t\t\trender={\n\t\t\t\t// @ts-expect-error The `children` prop is passed\n\t\t\t\t<Text\n\t\t\t\t\tupperCase\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tsize=\"11px\"\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tlineHeight=\"16px\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\t{ ...props }\n\t\t\tstore={ dropdownMenuContext?.store }\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;AAC/C,SAASC,IAAI,QAAQ,SAAS;AAE9B,OAAO,KAAKC,MAAM,MAAM,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,sBAAsB,GAAGP,UAAU,CAG7C,SAASQ,iBAAiBA,CAAEC,KAAK,EAAEC,GAAG,EAAG;EAC3C,MAAMC,mBAAmB,GAAGV,UAAU,CAAEC,mBAAoB,CAAC;EAC7D,oBACCI,IAAA,CAACF,MAAM,CAACG,sBAAsB;IAC7BG,GAAG,EAAGA,GAAK;IACXE,MAAM;IAAA;IACL;IACAN,IAAA,CAACH,IAAI;MACJU,SAAS;MACTC,OAAO,EAAC,OAAO;MACfC,IAAI,EAAC,MAAM;MACXC,MAAM,EAAG,GAAK;MACdC,UAAU,EAAC;IAAM,CACjB,CACD;IAAA,GACIR,KAAK;IACVS,KAAK,EAAGP,mBAAmB,EAAEO;EAAO,CACpC,CAAC;AAEJ,CAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
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 DropdownMenuGroup = forwardRef(function DropdownMenuGroup(props, ref) {
14
+ const dropdownMenuContext = useContext(DropdownMenuContext);
15
+ return /*#__PURE__*/_jsx(Styled.DropdownMenuGroup, {
16
+ ref: ref,
17
+ ...props,
18
+ store: dropdownMenuContext?.store
19
+ });
20
+ });
21
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useContext","DropdownMenuContext","Styled","jsx","_jsx","DropdownMenuGroup","props","ref","dropdownMenuContext","store"],"sources":["@wordpress/components/src/dropdown-menu-v2/group.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 { DropdownMenuGroupProps } from './types';\nimport * as Styled from './styles';\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"],"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,iBAAiB,GAAGN,UAAU,CAGxC,SAASM,iBAAiBA,CAAEC,KAAK,EAAEC,GAAG,EAAG;EAC3C,MAAMC,mBAAmB,GAAGR,UAAU,CAAEC,mBAAoB,CAAC;EAC7D,oBACCG,IAAA,CAACF,MAAM,CAACG,iBAAiB;IACxBE,GAAG,EAAGA,GAAK;IAAA,GACND,KAAK;IACVG,KAAK,EAAGD,mBAAmB,EAAEC;EAAO,CACpC,CAAC;AAEJ,CAAE,CAAC","ignoreList":[]}