@wordpress/components 19.17.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/CONTRIBUTING.md +10 -10
  3. package/build/alignment-matrix-control/index.js +1 -1
  4. package/build/alignment-matrix-control/index.js.map +1 -1
  5. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  6. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  7. package/build/angle-picker-control/index.js +3 -0
  8. package/build/angle-picker-control/index.js.map +1 -1
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js +14 -4
  10. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  11. package/build/autocomplete/index.js +9 -11
  12. package/build/autocomplete/index.js.map +1 -1
  13. package/build/base-control/styles/base-control-styles.js +8 -8
  14. package/build/base-control/styles/base-control-styles.js.map +1 -1
  15. package/build/base-field/styles.js +5 -5
  16. package/build/base-field/styles.js.map +1 -1
  17. package/build/box-control/styles/box-control-visualizer-styles.js +8 -8
  18. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  19. package/build/card/card/component.js +6 -11
  20. package/build/card/card/component.js.map +1 -1
  21. package/build/card/card/hook.js +0 -10
  22. package/build/card/card/hook.js.map +1 -1
  23. package/build/card/card/index.js.map +1 -1
  24. package/build/card/card-body/component.js +7 -8
  25. package/build/card/card-body/component.js.map +1 -1
  26. package/build/card/card-body/hook.js +0 -4
  27. package/build/card/card-body/hook.js.map +1 -1
  28. package/build/card/card-body/index.js.map +1 -1
  29. package/build/card/card-divider/component.js +7 -8
  30. package/build/card/card-divider/component.js.map +1 -1
  31. package/build/card/card-divider/hook.js +0 -4
  32. package/build/card/card-divider/hook.js.map +1 -1
  33. package/build/card/card-divider/index.js.map +1 -1
  34. package/build/card/card-footer/component.js +7 -8
  35. package/build/card/card-footer/component.js.map +1 -1
  36. package/build/card/card-footer/hook.js +0 -4
  37. package/build/card/card-footer/hook.js.map +1 -1
  38. package/build/card/card-footer/index.js.map +1 -1
  39. package/build/card/card-header/component.js +7 -8
  40. package/build/card/card-header/component.js.map +1 -1
  41. package/build/card/card-header/hook.js +0 -4
  42. package/build/card/card-header/hook.js.map +1 -1
  43. package/build/card/card-header/index.js.map +1 -1
  44. package/build/card/card-media/component.js +7 -7
  45. package/build/card/card-media/component.js.map +1 -1
  46. package/build/card/card-media/hook.js +0 -4
  47. package/build/card/card-media/hook.js.map +1 -1
  48. package/build/card/card-media/index.js.map +1 -1
  49. package/build/card/context.js.map +1 -1
  50. package/build/card/index.js.map +1 -1
  51. package/build/card/styles.js +17 -17
  52. package/build/card/styles.js.map +1 -1
  53. package/build/color-list-picker/index.js +16 -5
  54. package/build/color-list-picker/index.js.map +1 -1
  55. package/build/color-palette/index.js +22 -12
  56. package/build/color-palette/index.js.map +1 -1
  57. package/build/color-palette/index.native.js +3 -3
  58. package/build/color-palette/index.native.js.map +1 -1
  59. package/build/combobox-control/index.js +7 -4
  60. package/build/combobox-control/index.js.map +1 -1
  61. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  62. package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
  63. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
  64. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
  65. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
  66. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -0
  67. package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  68. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
  69. package/build/custom-gradient-picker/index.js +19 -4
  70. package/build/custom-gradient-picker/index.js.map +1 -1
  71. package/build/custom-select-control/index.js +21 -11
  72. package/build/custom-select-control/index.js.map +1 -1
  73. package/build/custom-select-control/styles.js +34 -0
  74. package/build/custom-select-control/styles.js.map +1 -0
  75. package/build/date-time/constants.js +9 -0
  76. package/build/date-time/constants.js.map +1 -0
  77. package/build/date-time/date/index.js +175 -186
  78. package/build/date-time/date/index.js.map +1 -1
  79. package/build/date-time/date/styles.js +59 -40
  80. package/build/date-time/date/styles.js.map +1 -1
  81. package/build/date-time/date-time/index.js +5 -2
  82. package/build/date-time/date-time/index.js.map +1 -1
  83. package/build/date-time/time/index.js +22 -17
  84. package/build/date-time/time/index.js.map +1 -1
  85. package/build/date-time/utils.js +27 -0
  86. package/build/date-time/utils.js.map +1 -0
  87. package/build/dimension-control/index.js +2 -6
  88. package/build/dimension-control/index.js.map +1 -1
  89. package/build/disabled/index.js +28 -11
  90. package/build/disabled/index.js.map +1 -1
  91. package/build/disabled/styles/disabled-styles.js +3 -3
  92. package/build/disabled/styles/disabled-styles.js.map +1 -1
  93. package/build/{swatch → disabled}/types.js +0 -0
  94. package/build/{swatch → disabled}/types.js.map +0 -0
  95. package/build/drop-zone/index.js +2 -4
  96. package/build/drop-zone/index.js.map +1 -1
  97. package/build/dropdown/index.js +5 -6
  98. package/build/dropdown/index.js.map +1 -1
  99. package/build/duotone-picker/custom-duotone-bar.js +2 -2
  100. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  101. package/build/duotone-picker/duotone-picker.js +9 -1
  102. package/build/duotone-picker/duotone-picker.js.map +1 -1
  103. package/build/duotone-picker/duotone-swatch.js +13 -3
  104. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  105. package/build/focal-point-picker/index.js +4 -6
  106. package/build/focal-point-picker/index.js.map +1 -1
  107. package/build/focal-point-picker/styles/focal-point-style.js +4 -4
  108. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  109. package/build/font-size-picker/index.js +43 -14
  110. package/build/font-size-picker/index.js.map +1 -1
  111. package/build/font-size-picker/utils.js +32 -22
  112. package/build/font-size-picker/utils.js.map +1 -1
  113. package/build/form-token-field/index.js +29 -20
  114. package/build/form-token-field/index.js.map +1 -1
  115. package/build/gradient-picker/index.js +15 -3
  116. package/build/gradient-picker/index.js.map +1 -1
  117. package/build/guide/index.js +5 -3
  118. package/build/guide/index.js.map +1 -1
  119. package/build/guide/page-control.js +3 -7
  120. package/build/guide/page-control.js.map +1 -1
  121. package/build/item-group/styles.js +10 -10
  122. package/build/item-group/styles.js.map +1 -1
  123. package/build/mobile/bottom-sheet/index.native.js +3 -6
  124. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  125. package/build/mobile/global-styles-context/utils.native.js +3 -1
  126. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  127. package/build/mobile/image/index.native.js +6 -26
  128. package/build/mobile/image/index.native.js.map +1 -1
  129. package/build/mobile/picker/index.android.js +3 -3
  130. package/build/mobile/picker/index.android.js.map +1 -1
  131. package/build/modal/index.js +1 -3
  132. package/build/modal/index.js.map +1 -1
  133. package/build/navigable-container/container.js +9 -8
  134. package/build/navigable-container/container.js.map +1 -1
  135. package/build/navigable-container/menu.js +3 -9
  136. package/build/navigable-container/menu.js.map +1 -1
  137. package/build/navigator/navigator-back-button/hook.js +0 -4
  138. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  139. package/build/navigator/navigator-button/hook.js +0 -4
  140. package/build/navigator/navigator-button/hook.js.map +1 -1
  141. package/build/notice/list.js +10 -6
  142. package/build/notice/list.js.map +1 -1
  143. package/build/palette-edit/index.js +1 -0
  144. package/build/palette-edit/index.js.map +1 -1
  145. package/build/palette-edit/styles.js +10 -10
  146. package/build/palette-edit/styles.js.map +1 -1
  147. package/build/popover/index.js +100 -97
  148. package/build/popover/index.js.map +1 -1
  149. package/build/popover/utils.js +178 -0
  150. package/build/popover/utils.js.map +1 -0
  151. package/build/range-control/index.js +3 -0
  152. package/build/range-control/index.js.map +1 -1
  153. package/build/range-control/styles/range-control-styles.js +43 -37
  154. package/build/range-control/styles/range-control-styles.js.map +1 -1
  155. package/build/select-control/chevron-down.js +30 -0
  156. package/build/select-control/chevron-down.js.map +1 -0
  157. package/build/select-control/index.js +7 -7
  158. package/build/select-control/index.js.map +1 -1
  159. package/build/select-control/styles/select-control-styles.js +30 -15
  160. package/build/select-control/styles/select-control-styles.js.map +1 -1
  161. package/build/snackbar/list.js +5 -3
  162. package/build/snackbar/list.js.map +1 -1
  163. package/build/spinner/index.js +2 -0
  164. package/build/spinner/index.js.map +1 -1
  165. package/build/text/styles.js +7 -7
  166. package/build/text/styles.js.map +1 -1
  167. package/build/toggle-group-control/toggle-group-control/component.js +16 -8
  168. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  169. package/build/toggle-group-control/toggle-group-control/styles.js +7 -5
  170. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  171. package/build/toggle-group-control/toggle-group-control-option/component.js +15 -5
  172. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  173. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
  174. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  175. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +20 -7
  176. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  177. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +26 -7
  178. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  179. package/build/tools-panel/styles.js +11 -11
  180. package/build/tools-panel/styles.js.map +1 -1
  181. package/build/tooltip/index.js +1 -7
  182. package/build/tooltip/index.js.map +1 -1
  183. package/build/tree-grid/index.js +4 -10
  184. package/build/tree-grid/index.js.map +1 -1
  185. package/build/ui/context/context-connect.js +1 -3
  186. package/build/ui/context/context-connect.js.map +1 -1
  187. package/build/unit-control/index.js +2 -3
  188. package/build/unit-control/index.js.map +1 -1
  189. package/build/utils/colors-values.js +52 -142
  190. package/build/utils/colors-values.js.map +1 -1
  191. package/build/utils/config-values.js +1 -1
  192. package/build/utils/config-values.js.map +1 -1
  193. package/build/utils/input/input-control.js +1 -1
  194. package/build/utils/input/input-control.js.map +1 -1
  195. package/build/utils/rtl.js +6 -5
  196. package/build/utils/rtl.js.map +1 -1
  197. package/build/utils/strings.js +50 -0
  198. package/build/utils/strings.js.map +1 -0
  199. package/build-module/alignment-matrix-control/index.js +1 -1
  200. package/build-module/alignment-matrix-control/index.js.map +1 -1
  201. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  202. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  203. package/build-module/angle-picker-control/index.js +3 -0
  204. package/build-module/angle-picker-control/index.js.map +1 -1
  205. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -4
  206. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  207. package/build-module/autocomplete/index.js +9 -10
  208. package/build-module/autocomplete/index.js.map +1 -1
  209. package/build-module/base-control/styles/base-control-styles.js +8 -8
  210. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  211. package/build-module/base-field/styles.js +5 -5
  212. package/build-module/base-field/styles.js.map +1 -1
  213. package/build-module/box-control/styles/box-control-visualizer-styles.js +8 -8
  214. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  215. package/build-module/card/card/component.js +5 -10
  216. package/build-module/card/card/component.js.map +1 -1
  217. package/build-module/card/card/hook.js +0 -9
  218. package/build-module/card/card/hook.js.map +1 -1
  219. package/build-module/card/card/index.js.map +1 -1
  220. package/build-module/card/card-body/component.js +7 -8
  221. package/build-module/card/card-body/component.js.map +1 -1
  222. package/build-module/card/card-body/hook.js +0 -4
  223. package/build-module/card/card-body/hook.js.map +1 -1
  224. package/build-module/card/card-body/index.js.map +1 -1
  225. package/build-module/card/card-divider/component.js +7 -8
  226. package/build-module/card/card-divider/component.js.map +1 -1
  227. package/build-module/card/card-divider/hook.js +0 -4
  228. package/build-module/card/card-divider/hook.js.map +1 -1
  229. package/build-module/card/card-divider/index.js.map +1 -1
  230. package/build-module/card/card-footer/component.js +7 -8
  231. package/build-module/card/card-footer/component.js.map +1 -1
  232. package/build-module/card/card-footer/hook.js +0 -4
  233. package/build-module/card/card-footer/hook.js.map +1 -1
  234. package/build-module/card/card-footer/index.js.map +1 -1
  235. package/build-module/card/card-header/component.js +7 -8
  236. package/build-module/card/card-header/component.js.map +1 -1
  237. package/build-module/card/card-header/hook.js +0 -4
  238. package/build-module/card/card-header/hook.js.map +1 -1
  239. package/build-module/card/card-header/index.js.map +1 -1
  240. package/build-module/card/card-media/component.js +7 -7
  241. package/build-module/card/card-media/component.js.map +1 -1
  242. package/build-module/card/card-media/hook.js +0 -4
  243. package/build-module/card/card-media/hook.js.map +1 -1
  244. package/build-module/card/card-media/index.js.map +1 -1
  245. package/build-module/card/context.js.map +1 -1
  246. package/build-module/card/index.js.map +1 -1
  247. package/build-module/card/styles.js +17 -17
  248. package/build-module/card/styles.js.map +1 -1
  249. package/build-module/color-list-picker/index.js +13 -5
  250. package/build-module/color-list-picker/index.js.map +1 -1
  251. package/build-module/color-palette/index.js +22 -11
  252. package/build-module/color-palette/index.js.map +1 -1
  253. package/build-module/color-palette/index.native.js +4 -4
  254. package/build-module/color-palette/index.native.js.map +1 -1
  255. package/build-module/combobox-control/index.js +6 -3
  256. package/build-module/combobox-control/index.js.map +1 -1
  257. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  258. package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
  259. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
  260. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
  261. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
  262. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -0
  263. package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  264. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
  265. package/build-module/custom-gradient-picker/index.js +16 -3
  266. package/build-module/custom-gradient-picker/index.js.map +1 -1
  267. package/build-module/custom-select-control/index.js +20 -12
  268. package/build-module/custom-select-control/index.js.map +1 -1
  269. package/build-module/custom-select-control/styles.js +22 -0
  270. package/build-module/custom-select-control/styles.js.map +1 -0
  271. package/build-module/date-time/constants.js +2 -0
  272. package/build-module/date-time/constants.js.map +1 -0
  273. package/build-module/date-time/date/index.js +178 -184
  274. package/build-module/date-time/date/index.js.map +1 -1
  275. package/build-module/date-time/date/styles.js +47 -38
  276. package/build-module/date-time/date/styles.js.map +1 -1
  277. package/build-module/date-time/date-time/index.js +4 -2
  278. package/build-module/date-time/date-time/index.js.map +1 -1
  279. package/build-module/date-time/time/index.js +20 -16
  280. package/build-module/date-time/time/index.js.map +1 -1
  281. package/build-module/date-time/utils.js +19 -0
  282. package/build-module/date-time/utils.js.map +1 -0
  283. package/build-module/dimension-control/index.js +1 -5
  284. package/build-module/dimension-control/index.js.map +1 -1
  285. package/build-module/disabled/index.js +28 -11
  286. package/build-module/disabled/index.js.map +1 -1
  287. package/build-module/disabled/styles/disabled-styles.js +3 -3
  288. package/build-module/disabled/styles/disabled-styles.js.map +1 -1
  289. package/build-module/{swatch → disabled}/types.js +0 -0
  290. package/build-module/{swatch → disabled}/types.js.map +0 -0
  291. package/build-module/drop-zone/index.js +2 -3
  292. package/build-module/drop-zone/index.js.map +1 -1
  293. package/build-module/dropdown/index.js +5 -6
  294. package/build-module/dropdown/index.js.map +1 -1
  295. package/build-module/duotone-picker/custom-duotone-bar.js +1 -1
  296. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  297. package/build-module/duotone-picker/duotone-picker.js +7 -1
  298. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  299. package/build-module/duotone-picker/duotone-swatch.js +11 -3
  300. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  301. package/build-module/focal-point-picker/index.js +4 -5
  302. package/build-module/focal-point-picker/index.js.map +1 -1
  303. package/build-module/focal-point-picker/styles/focal-point-style.js +4 -4
  304. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  305. package/build-module/font-size-picker/index.js +39 -14
  306. package/build-module/font-size-picker/index.js.map +1 -1
  307. package/build-module/font-size-picker/utils.js +31 -23
  308. package/build-module/font-size-picker/utils.js.map +1 -1
  309. package/build-module/form-token-field/index.js +30 -20
  310. package/build-module/form-token-field/index.js.map +1 -1
  311. package/build-module/gradient-picker/index.js +14 -3
  312. package/build-module/gradient-picker/index.js.map +1 -1
  313. package/build-module/guide/index.js +5 -3
  314. package/build-module/guide/index.js.map +1 -1
  315. package/build-module/guide/page-control.js +3 -6
  316. package/build-module/guide/page-control.js.map +1 -1
  317. package/build-module/item-group/styles.js +10 -10
  318. package/build-module/item-group/styles.js.map +1 -1
  319. package/build-module/mobile/bottom-sheet/index.native.js +3 -5
  320. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  321. package/build-module/mobile/global-styles-context/utils.native.js +2 -1
  322. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  323. package/build-module/mobile/image/index.native.js +8 -28
  324. package/build-module/mobile/image/index.native.js.map +1 -1
  325. package/build-module/mobile/picker/index.android.js +3 -3
  326. package/build-module/mobile/picker/index.android.js.map +1 -1
  327. package/build-module/modal/index.js +1 -2
  328. package/build-module/modal/index.js.map +1 -1
  329. package/build-module/navigable-container/container.js +9 -7
  330. package/build-module/navigable-container/container.js.map +1 -1
  331. package/build-module/navigable-container/menu.js +3 -8
  332. package/build-module/navigable-container/menu.js.map +1 -1
  333. package/build-module/navigator/navigator-back-button/hook.js +0 -4
  334. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  335. package/build-module/navigator/navigator-button/hook.js +0 -4
  336. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  337. package/build-module/notice/list.js +10 -5
  338. package/build-module/notice/list.js.map +1 -1
  339. package/build-module/palette-edit/index.js +1 -0
  340. package/build-module/palette-edit/index.js.map +1 -1
  341. package/build-module/palette-edit/styles.js +10 -10
  342. package/build-module/palette-edit/styles.js.map +1 -1
  343. package/build-module/popover/index.js +100 -98
  344. package/build-module/popover/index.js.map +1 -1
  345. package/build-module/popover/utils.js +164 -0
  346. package/build-module/popover/utils.js.map +1 -0
  347. package/build-module/range-control/index.js +3 -0
  348. package/build-module/range-control/index.js.map +1 -1
  349. package/build-module/range-control/styles/range-control-styles.js +43 -37
  350. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  351. package/build-module/select-control/chevron-down.js +21 -0
  352. package/build-module/select-control/chevron-down.js.map +1 -0
  353. package/build-module/select-control/index.js +7 -7
  354. package/build-module/select-control/index.js.map +1 -1
  355. package/build-module/select-control/styles/select-control-styles.js +24 -13
  356. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  357. package/build-module/snackbar/list.js +5 -2
  358. package/build-module/snackbar/list.js.map +1 -1
  359. package/build-module/spinner/index.js +2 -0
  360. package/build-module/spinner/index.js.map +1 -1
  361. package/build-module/text/styles.js +7 -7
  362. package/build-module/text/styles.js.map +1 -1
  363. package/build-module/toggle-group-control/toggle-group-control/component.js +14 -7
  364. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  365. package/build-module/toggle-group-control/toggle-group-control/styles.js +5 -4
  366. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  367. package/build-module/toggle-group-control/toggle-group-control-option/component.js +17 -3
  368. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  369. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
  370. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  371. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +16 -6
  372. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  373. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +27 -5
  374. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  375. package/build-module/tools-panel/styles.js +11 -11
  376. package/build-module/tools-panel/styles.js.map +1 -1
  377. package/build-module/tooltip/index.js +1 -6
  378. package/build-module/tooltip/index.js.map +1 -1
  379. package/build-module/tree-grid/index.js +4 -9
  380. package/build-module/tree-grid/index.js.map +1 -1
  381. package/build-module/ui/context/context-connect.js +1 -2
  382. package/build-module/ui/context/context-connect.js.map +1 -1
  383. package/build-module/unit-control/index.js +2 -2
  384. package/build-module/unit-control/index.js.map +1 -1
  385. package/build-module/utils/colors-values.js +52 -141
  386. package/build-module/utils/colors-values.js.map +1 -1
  387. package/build-module/utils/config-values.js +1 -1
  388. package/build-module/utils/config-values.js.map +1 -1
  389. package/build-module/utils/input/input-control.js +1 -1
  390. package/build-module/utils/input/input-control.js.map +1 -1
  391. package/build-module/utils/rtl.js +6 -4
  392. package/build-module/utils/rtl.js.map +1 -1
  393. package/build-module/utils/strings.js +37 -0
  394. package/build-module/utils/strings.js.map +1 -0
  395. package/build-style/style-rtl.css +176 -1227
  396. package/build-style/style.css +171 -1225
  397. package/build-types/card/card/component.d.ts +3 -3
  398. package/build-types/card/card/component.d.ts.map +1 -1
  399. package/build-types/card/card/hook.d.ts +7 -2
  400. package/build-types/card/card/hook.d.ts.map +1 -1
  401. package/build-types/card/card/index.d.ts +2 -2
  402. package/build-types/card/card/index.d.ts.map +1 -1
  403. package/build-types/card/card-body/component.d.ts +3 -3
  404. package/build-types/card/card-body/component.d.ts.map +1 -1
  405. package/build-types/card/card-body/hook.d.ts +5 -2
  406. package/build-types/card/card-body/hook.d.ts.map +1 -1
  407. package/build-types/card/card-body/index.d.ts +2 -2
  408. package/build-types/card/card-body/index.d.ts.map +1 -1
  409. package/build-types/card/card-divider/component.d.ts +3 -3
  410. package/build-types/card/card-divider/component.d.ts.map +1 -1
  411. package/build-types/card/card-divider/hook.d.ts +5 -2
  412. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  413. package/build-types/card/card-divider/index.d.ts +2 -2
  414. package/build-types/card/card-divider/index.d.ts.map +1 -1
  415. package/build-types/card/card-footer/component.d.ts +3 -3
  416. package/build-types/card/card-footer/component.d.ts.map +1 -1
  417. package/build-types/card/card-footer/hook.d.ts +5 -2
  418. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  419. package/build-types/card/card-footer/index.d.ts +2 -2
  420. package/build-types/card/card-footer/index.d.ts.map +1 -1
  421. package/build-types/card/card-header/component.d.ts +3 -3
  422. package/build-types/card/card-header/component.d.ts.map +1 -1
  423. package/build-types/card/card-header/hook.d.ts +5 -2
  424. package/build-types/card/card-header/hook.d.ts.map +1 -1
  425. package/build-types/card/card-header/index.d.ts +2 -2
  426. package/build-types/card/card-header/index.d.ts.map +1 -1
  427. package/build-types/card/card-media/component.d.ts +3 -4
  428. package/build-types/card/card-media/component.d.ts.map +1 -1
  429. package/build-types/card/card-media/hook.d.ts +6 -5
  430. package/build-types/card/card-media/hook.d.ts.map +1 -1
  431. package/build-types/card/card-media/index.d.ts +2 -2
  432. package/build-types/card/card-media/index.d.ts.map +1 -1
  433. package/build-types/card/context.d.ts +3 -2
  434. package/build-types/card/context.d.ts.map +1 -1
  435. package/build-types/card/index.d.ts +6 -6
  436. package/build-types/card/index.d.ts.map +1 -1
  437. package/build-types/card/stories/index.d.ts +12 -0
  438. package/build-types/card/stories/index.d.ts.map +1 -0
  439. package/build-types/card/styles.d.ts +20 -22
  440. package/build-types/card/styles.d.ts.map +1 -1
  441. package/build-types/card/test/index.d.ts +2 -0
  442. package/build-types/{flyout → card/test}/index.d.ts.map +1 -1
  443. package/build-types/card/types.d.ts +7 -1
  444. package/build-types/card/types.d.ts.map +1 -1
  445. package/build-types/color-palette/index.d.ts +2 -1
  446. package/build-types/color-palette/index.d.ts.map +1 -1
  447. package/build-types/color-picker/styles.d.ts +2 -2
  448. package/build-types/date-time/constants.d.ts +2 -0
  449. package/build-types/date-time/constants.d.ts.map +1 -0
  450. package/build-types/date-time/date/index.d.ts +3 -1
  451. package/build-types/date-time/date/index.d.ts.map +1 -1
  452. package/build-types/date-time/date/styles.d.ts +22 -8
  453. package/build-types/date-time/date/styles.d.ts.map +1 -1
  454. package/build-types/date-time/date/test/index.d.ts +1 -1
  455. package/build-types/date-time/date/test/index.d.ts.map +1 -1
  456. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  457. package/build-types/date-time/time/index.d.ts.map +1 -1
  458. package/build-types/date-time/utils.d.ts +8 -0
  459. package/build-types/date-time/utils.d.ts.map +1 -0
  460. package/build-types/disabled/index.d.ts +35 -28
  461. package/build-types/disabled/index.d.ts.map +1 -1
  462. package/build-types/disabled/stories/index.d.ts +13 -0
  463. package/build-types/disabled/stories/index.d.ts.map +1 -0
  464. package/build-types/disabled/styles/disabled-styles.d.ts +2 -1
  465. package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
  466. package/build-types/disabled/test/index.d.ts +2 -0
  467. package/build-types/{flyout/flyout → disabled/test}/index.d.ts.map +1 -1
  468. package/build-types/disabled/types.d.ts +14 -0
  469. package/build-types/disabled/types.d.ts.map +1 -0
  470. package/build-types/dropdown/index.d.ts.map +1 -1
  471. package/build-types/form-token-field/index.d.ts.map +1 -1
  472. package/build-types/form-token-field/stories/index.d.ts +1 -0
  473. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  474. package/build-types/form-token-field/test/index.d.ts +2 -0
  475. package/build-types/form-token-field/test/index.d.ts.map +1 -0
  476. package/build-types/form-token-field/types.d.ts +7 -0
  477. package/build-types/form-token-field/types.d.ts.map +1 -1
  478. package/build-types/navigable-container/menu.d.ts.map +1 -1
  479. package/build-types/navigator/navigator-back-button/hook.d.ts +0 -3
  480. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  481. package/build-types/navigator/navigator-button/hook.d.ts +0 -3
  482. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  483. package/build-types/placeholder/test/index.d.ts +2 -0
  484. package/build-types/placeholder/test/index.d.ts.map +1 -0
  485. package/build-types/popover/index.d.ts +1 -1
  486. package/build-types/popover/index.d.ts.map +1 -1
  487. package/build-types/popover/utils.d.ts +26 -69
  488. package/build-types/popover/utils.d.ts.map +1 -1
  489. package/build-types/range-control/index.d.ts +2 -2
  490. package/build-types/range-control/index.d.ts.map +1 -1
  491. package/build-types/range-control/styles/range-control-styles.d.ts +5 -2
  492. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  493. package/build-types/range-control/types.d.ts +2 -2
  494. package/build-types/range-control/types.d.ts.map +1 -1
  495. package/build-types/select-control/chevron-down.d.ts +4 -0
  496. package/build-types/select-control/chevron-down.d.ts.map +1 -0
  497. package/build-types/select-control/index.d.ts.map +1 -1
  498. package/build-types/select-control/styles/select-control-styles.d.ts +8 -0
  499. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  500. package/build-types/spinner/index.d.ts.map +1 -1
  501. package/build-types/toggle-group-control/stories/index.d.ts +25 -0
  502. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -0
  503. package/build-types/toggle-group-control/test/index.d.ts +2 -0
  504. package/build-types/toggle-group-control/test/index.d.ts.map +1 -0
  505. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -3
  506. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  507. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -0
  508. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  509. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -7
  510. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  511. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  512. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -0
  513. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  514. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +11 -9
  515. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  516. package/build-types/toggle-group-control/types.d.ts +23 -10
  517. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  518. package/build-types/tooltip/index.d.ts.map +1 -1
  519. package/build-types/ui/context/context-connect.d.ts +3 -0
  520. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  521. package/build-types/ui/form-group/use-form-group.d.ts +2 -2
  522. package/build-types/unit-control/index.d.ts +2 -1
  523. package/build-types/unit-control/index.d.ts.map +1 -1
  524. package/build-types/unit-control/types.d.ts +5 -1
  525. package/build-types/unit-control/types.d.ts.map +1 -1
  526. package/build-types/utils/colors-values.d.ts +18 -97
  527. package/build-types/utils/colors-values.d.ts.map +1 -1
  528. package/build-types/utils/rtl.d.ts.map +1 -1
  529. package/build-types/utils/strings.d.ts +2 -0
  530. package/build-types/utils/strings.d.ts.map +1 -0
  531. package/package.json +22 -21
  532. package/src/alignment-matrix-control/index.js +1 -1
  533. package/src/alignment-matrix-control/stories/index.js +49 -24
  534. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -3
  535. package/src/angle-picker-control/index.js +7 -1
  536. package/src/angle-picker-control/stories/index.js +8 -5
  537. package/src/angle-picker-control/styles/angle-picker-control-styles.js +12 -3
  538. package/src/autocomplete/index.js +9 -18
  539. package/src/base-control/styles/base-control-styles.ts +1 -1
  540. package/src/base-field/styles.js +1 -1
  541. package/src/base-field/test/__snapshots__/index.js.snap +2 -2
  542. package/src/box-control/styles/box-control-visualizer-styles.js +0 -1
  543. package/src/box-control/test/index.js +8 -8
  544. package/src/button/test/index.js +188 -146
  545. package/src/card/card/{component.js → component.tsx} +13 -9
  546. package/src/card/card/{hook.js → hook.ts} +11 -11
  547. package/src/card/card/{index.js → index.ts} +0 -0
  548. package/src/card/card-body/{component.js → component.tsx} +13 -9
  549. package/src/card/card-body/{hook.js → hook.ts} +5 -5
  550. package/src/card/card-body/{index.js → index.ts} +0 -0
  551. package/src/card/card-divider/{component.js → component.tsx} +16 -10
  552. package/src/card/card-divider/{hook.js → hook.ts} +5 -5
  553. package/src/card/card-divider/{index.js → index.ts} +0 -0
  554. package/src/card/card-footer/{component.js → component.tsx} +13 -9
  555. package/src/card/card-footer/{hook.js → hook.ts} +5 -5
  556. package/src/card/card-footer/{index.js → index.ts} +0 -0
  557. package/src/card/card-header/{component.js → component.tsx} +13 -9
  558. package/src/card/card-header/{hook.js → hook.ts} +5 -5
  559. package/src/card/card-header/{index.js → index.ts} +0 -0
  560. package/src/card/card-media/{component.js → component.tsx} +13 -8
  561. package/src/card/card-media/{hook.js → hook.ts} +5 -5
  562. package/src/card/card-media/{index.js → index.ts} +0 -0
  563. package/src/card/{context.js → context.ts} +0 -0
  564. package/src/card/{index.js → index.ts} +0 -0
  565. package/src/card/stories/index.tsx +75 -0
  566. package/src/card/{styles.js → styles.ts} +0 -0
  567. package/src/card/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  568. package/src/card/test/{index.js → index.tsx} +3 -3
  569. package/src/card/types.ts +8 -1
  570. package/src/color-list-picker/index.js +15 -3
  571. package/src/color-list-picker/style.scss +11 -0
  572. package/src/color-palette/index.js +32 -16
  573. package/src/color-palette/index.native.js +10 -6
  574. package/src/color-palette/stories/index.js +1 -1
  575. package/src/color-palette/test/__snapshots__/index.js.snap +17 -3
  576. package/src/combobox-control/index.js +6 -5
  577. package/src/combobox-control/stories/index.js +9 -3
  578. package/src/combobox-control/style.scss +0 -1
  579. package/src/confirm-dialog/test/index.js +85 -62
  580. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
  581. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +54 -50
  582. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -3
  583. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/test/utils.js +0 -0
  584. package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
  585. package/src/custom-gradient-picker/index.js +18 -3
  586. package/src/custom-gradient-picker/stories/index.js +4 -3
  587. package/src/custom-gradient-picker/style.scss +30 -27
  588. package/src/custom-select-control/README.md +10 -0
  589. package/src/custom-select-control/index.js +22 -16
  590. package/src/custom-select-control/stories/index.js +1 -1
  591. package/src/custom-select-control/style.scss +0 -12
  592. package/src/custom-select-control/styles.ts +28 -0
  593. package/src/custom-select-control/test/index.js +4 -1
  594. package/src/date-time/constants.ts +1 -0
  595. package/src/date-time/date/index.tsx +289 -184
  596. package/src/date-time/date/styles.ts +86 -27
  597. package/src/date-time/date/test/index.tsx +18 -28
  598. package/src/date-time/date-time/index.tsx +3 -2
  599. package/src/date-time/time/index.tsx +23 -19
  600. package/src/date-time/utils.ts +17 -0
  601. package/src/dimension-control/index.js +1 -5
  602. package/src/disabled/index.tsx +80 -0
  603. package/src/disabled/stories/index.tsx +87 -0
  604. package/src/disabled/styles/{disabled-styles.js → disabled-styles.tsx} +0 -0
  605. package/src/disabled/test/index.tsx +174 -0
  606. package/src/disabled/types.ts +13 -0
  607. package/src/drop-zone/index.js +2 -3
  608. package/src/dropdown/index.js +3 -5
  609. package/src/dropdown-menu/stories/index.js +13 -2
  610. package/src/duotone-picker/custom-duotone-bar.js +1 -1
  611. package/src/duotone-picker/duotone-picker.js +34 -26
  612. package/src/duotone-picker/duotone-swatch.js +12 -5
  613. package/src/duotone-picker/stories/duotone-picker.js +66 -0
  614. package/src/duotone-picker/stories/duotone-swatch.js +32 -0
  615. package/src/focal-point-picker/index.js +10 -5
  616. package/src/focal-point-picker/styles/focal-point-style.js +0 -1
  617. package/src/focal-point-picker/test/index.js +78 -45
  618. package/src/font-size-picker/index.js +161 -144
  619. package/src/font-size-picker/stories/index.js +1 -0
  620. package/src/font-size-picker/style.scss +8 -5
  621. package/src/font-size-picker/test/index.js +13 -6
  622. package/src/font-size-picker/test/{util.js → utils.js} +77 -1
  623. package/src/font-size-picker/utils.js +38 -23
  624. package/src/form-token-field/README.md +1 -0
  625. package/src/form-token-field/index.tsx +41 -33
  626. package/src/form-token-field/stories/index.tsx +8 -0
  627. package/src/form-token-field/test/index.tsx +2106 -0
  628. package/src/form-token-field/types.ts +7 -0
  629. package/src/gradient-picker/index.js +22 -7
  630. package/src/gradient-picker/stories/index.js +56 -81
  631. package/src/guide/index.js +3 -1
  632. package/src/guide/page-control.js +1 -6
  633. package/src/guide/stories/index.js +12 -11
  634. package/src/guide/test/index.js +54 -37
  635. package/src/guide/test/page-control.js +14 -17
  636. package/src/higher-order/with-notices/test/index.js +4 -2
  637. package/src/higher-order/with-spoken-messages/test/index.js +1 -1
  638. package/src/item-group/styles.ts +3 -3
  639. package/src/menu-group/test/index.js +18 -7
  640. package/src/mobile/bottom-sheet/index.native.js +2 -4
  641. package/src/mobile/global-styles-context/utils.native.js +2 -1
  642. package/src/mobile/image/index.native.js +9 -30
  643. package/src/mobile/picker/index.android.js +10 -4
  644. package/src/mobile/picker/styles.native.scss +4 -4
  645. package/src/modal/index.js +1 -2
  646. package/src/modal/test/index.js +11 -9
  647. package/src/navigable-container/container.js +12 -18
  648. package/src/navigable-container/menu.js +3 -7
  649. package/src/navigable-container/test/menu.js +14 -11
  650. package/src/navigator/navigator-back-button/hook.ts +0 -3
  651. package/src/navigator/navigator-button/hook.ts +0 -3
  652. package/src/notice/list.js +12 -10
  653. package/src/palette-edit/index.js +1 -0
  654. package/src/palette-edit/styles.js +6 -5
  655. package/src/placeholder/README.md +1 -1
  656. package/src/placeholder/style.scss +65 -20
  657. package/src/placeholder/test/index.tsx +174 -0
  658. package/src/popover/index.js +133 -112
  659. package/src/popover/stories/index.js +17 -3
  660. package/src/popover/test/__snapshots__/index.js.snap +6 -6
  661. package/src/popover/test/index.js +129 -36
  662. package/src/popover/utils.js +107 -0
  663. package/src/range-control/index.tsx +3 -0
  664. package/src/range-control/styles/range-control-styles.ts +9 -4
  665. package/src/range-control/types.ts +5 -2
  666. package/src/select-control/chevron-down.tsx +25 -0
  667. package/src/select-control/index.tsx +6 -9
  668. package/src/select-control/styles/select-control-styles.ts +23 -14
  669. package/src/slot-fill/test/slot.js +5 -5
  670. package/src/snackbar/list.js +3 -2
  671. package/src/spinner/index.tsx +2 -0
  672. package/src/style.scss +0 -2
  673. package/src/text/styles.js +1 -1
  674. package/src/text/test/index.tsx +1 -1
  675. package/src/toggle-group-control/stories/index.tsx +127 -0
  676. package/src/toggle-group-control/test/__snapshots__/{index.js.snap → index.tsx.snap} +28 -22
  677. package/src/toggle-group-control/test/{index.js → index.tsx} +2 -4
  678. package/src/toggle-group-control/toggle-group-control/README.md +2 -0
  679. package/src/toggle-group-control/toggle-group-control/component.tsx +18 -9
  680. package/src/toggle-group-control/toggle-group-control/styles.ts +9 -6
  681. package/src/toggle-group-control/toggle-group-control-option/component.tsx +19 -3
  682. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -0
  683. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +18 -0
  684. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +6 -8
  685. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +30 -7
  686. package/src/toggle-group-control/types.ts +74 -59
  687. package/src/toolbar/test/index.js +4 -4
  688. package/src/toolbar-group/test/index.js +9 -15
  689. package/src/tools-panel/styles.ts +2 -2
  690. package/src/tools-panel/test/index.js +3 -2
  691. package/src/tooltip/index.js +1 -5
  692. package/src/tooltip/test/index.js +188 -172
  693. package/src/tree-grid/index.js +4 -9
  694. package/src/ui/context/context-connect.ts +3 -2
  695. package/src/unit-control/index.tsx +2 -2
  696. package/src/unit-control/types.ts +10 -1
  697. package/src/utils/colors-values.js +42 -137
  698. package/src/utils/config-values.js +1 -1
  699. package/src/utils/input/input-control.js +6 -6
  700. package/src/utils/rtl.js +6 -2
  701. package/src/utils/strings.ts +72 -0
  702. package/src/utils/test/strings.js +15 -0
  703. package/tsconfig.json +0 -1
  704. package/tsconfig.tsbuildinfo +1 -1
  705. package/build/custom-gradient-bar/constants.js.map +0 -1
  706. package/build/custom-gradient-bar/control-points.js.map +0 -1
  707. package/build/custom-gradient-bar/index.js.map +0 -1
  708. package/build/custom-gradient-bar/utils.js.map +0 -1
  709. package/build/date-time/date/utils.js +0 -34
  710. package/build/date-time/date/utils.js.map +0 -1
  711. package/build/swatch/index.js +0 -41
  712. package/build/swatch/index.js.map +0 -1
  713. package/build-module/custom-gradient-bar/constants.js.map +0 -1
  714. package/build-module/custom-gradient-bar/control-points.js.map +0 -1
  715. package/build-module/custom-gradient-bar/index.js.map +0 -1
  716. package/build-module/custom-gradient-bar/utils.js.map +0 -1
  717. package/build-module/date-time/date/utils.js +0 -22
  718. package/build-module/date-time/date/utils.js.map +0 -1
  719. package/build-module/swatch/index.js +0 -30
  720. package/build-module/swatch/index.js.map +0 -1
  721. package/build-types/color-picker/color-display.d.ts +0 -13
  722. package/build-types/color-picker/color-display.d.ts.map +0 -1
  723. package/build-types/date-time/date/test/utils.d.ts +0 -2
  724. package/build-types/date-time/date/test/utils.d.ts.map +0 -1
  725. package/build-types/date-time/date/utils.d.ts +0 -15
  726. package/build-types/date-time/date/utils.d.ts.map +0 -1
  727. package/build-types/flyout/context.d.ts +0 -6
  728. package/build-types/flyout/context.d.ts.map +0 -1
  729. package/build-types/flyout/flyout/component.d.ts +0 -21
  730. package/build-types/flyout/flyout/component.d.ts.map +0 -1
  731. package/build-types/flyout/flyout/hook.d.ts +0 -270
  732. package/build-types/flyout/flyout/hook.d.ts.map +0 -1
  733. package/build-types/flyout/flyout/index.d.ts +0 -3
  734. package/build-types/flyout/flyout-content/component.d.ts +0 -3
  735. package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
  736. package/build-types/flyout/flyout-content/index.d.ts +0 -2
  737. package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
  738. package/build-types/flyout/index.d.ts +0 -2
  739. package/build-types/flyout/styles.d.ts +0 -22
  740. package/build-types/flyout/styles.d.ts.map +0 -1
  741. package/build-types/flyout/types.d.ts +0 -80
  742. package/build-types/flyout/types.d.ts.map +0 -1
  743. package/build-types/flyout/utils.d.ts +0 -8
  744. package/build-types/flyout/utils.d.ts.map +0 -1
  745. package/build-types/form-token-field/test/lib/fixtures.d.ts +0 -26
  746. package/build-types/form-token-field/test/lib/fixtures.d.ts.map +0 -1
  747. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +0 -21
  748. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +0 -1
  749. package/build-types/swatch/index.d.ts +0 -5
  750. package/build-types/swatch/index.d.ts.map +0 -1
  751. package/build-types/swatch/types.d.ts +0 -11
  752. package/build-types/swatch/types.d.ts.map +0 -1
  753. package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
  754. package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
  755. package/src/card/stories/index.js +0 -209
  756. package/src/date-time/date/datepicker.scss +0 -863
  757. package/src/date-time/date/style.scss +0 -85
  758. package/src/date-time/date/test/utils.ts +0 -32
  759. package/src/date-time/date/utils.ts +0 -20
  760. package/src/date-time/style.scss +0 -1
  761. package/src/disabled/index.js +0 -55
  762. package/src/disabled/stories/index.js +0 -61
  763. package/src/disabled/test/index.js +0 -240
  764. package/src/form-token-field/test/index.js +0 -411
  765. package/src/form-token-field/test/lib/fixtures.js +0 -89
  766. package/src/form-token-field/test/lib/token-field-wrapper.tsx +0 -71
  767. package/src/menu-group/test/__snapshots__/index.js.snap +0 -23
  768. package/src/placeholder/test/index.js +0 -163
  769. package/src/swatch/index.tsx +0 -22
  770. package/src/swatch/style.scss +0 -21
  771. package/src/swatch/types.ts +0 -11
  772. package/src/toggle-group-control/stories/index.js +0 -203
  773. package/src/tools-panel/test/__snapshots__/index.js.snap +0 -210
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/dropdown/index.js"],"names":["classnames","useRef","useEffect","useState","Popover","useObservableState","initialState","onStateChange","state","setState","value","Dropdown","props","renderContent","renderToggle","className","contentClassName","expandOnMobile","headerTitle","focusOnMount","position","popoverProps","onClose","onToggle","containerRef","isOpen","setIsOpen","toggle","closeIfFocusOutside","ownerDocument","current","dialog","activeElement","closest","contains","close","args","hasAnchorRef","anchorRef","getAnchorRect","anchorRect","firstChild","undefined"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\n\nfunction useObservableState( initialState, onStateChange ) {\n\tconst [ state, setState ] = useState( initialState );\n\treturn [\n\t\tstate,\n\t\t( value ) => {\n\t\t\tsetState( value );\n\t\t\tif ( onStateChange ) {\n\t\t\t\tonStateChange( value );\n\t\t\t}\n\t\t},\n\t];\n}\n\nexport default function Dropdown( props ) {\n\tconst {\n\t\trenderContent,\n\t\trenderToggle,\n\t\tclassName,\n\t\tcontentClassName,\n\t\texpandOnMobile,\n\t\theaderTitle,\n\t\tfocusOnMount,\n\t\tposition,\n\t\tpopoverProps,\n\t\tonClose,\n\t\tonToggle,\n\t} = props;\n\tconst containerRef = useRef();\n\tconst [ isOpen, setIsOpen ] = useObservableState( false, onToggle );\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tif ( onToggle && isOpen ) {\n\t\t\t\tonToggle( false );\n\t\t\t}\n\t\t},\n\t\t[ onToggle, isOpen ]\n\t);\n\n\tfunction toggle() {\n\t\tsetIsOpen( ! isOpen );\n\t}\n\n\t/**\n\t * Closes the popover when focus leaves it unless the toggle was pressed or\n\t * focus has moved to a separate dialog. The former is to let the toggle\n\t * handle closing the popover and the latter is to preserve presence in\n\t * case a dialog has opened, allowing focus to return when it's dismissed.\n\t */\n\tfunction closeIfFocusOutside() {\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst dialog = ownerDocument.activeElement.closest( '[role=\"dialog\"]' );\n\t\tif (\n\t\t\t! containerRef.current.contains( ownerDocument.activeElement ) &&\n\t\t\t( ! dialog || dialog.contains( containerRef.current ) )\n\t\t) {\n\t\t\tclose();\n\t\t}\n\t}\n\n\tfunction close() {\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tsetIsOpen( false );\n\t}\n\n\tconst args = { isOpen, onToggle: toggle, onClose: close };\n\tconst hasAnchorRef =\n\t\t!! popoverProps?.anchorRef ||\n\t\t!! popoverProps?.getAnchorRect ||\n\t\t!! popoverProps?.anchorRect;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'components-dropdown', className ) }\n\t\t\tref={ containerRef }\n\t\t\t// Some UAs focus the closest focusable parent when the toggle is\n\t\t\t// clicked. Making this div focusable ensures such UAs will focus\n\t\t\t// it and `closeIfFocusOutside` can tell if the toggle was clicked.\n\t\t\ttabIndex=\"-1\"\n\t\t>\n\t\t\t{ renderToggle( args ) }\n\t\t\t{ isOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition={ position }\n\t\t\t\t\tonClose={ close }\n\t\t\t\t\tonFocusOutside={ closeIfFocusOutside }\n\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t\t\t// This value is used to ensure that the dropdowns\n\t\t\t\t\t// align with the editor header by default.\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tanchorRef={\n\t\t\t\t\t\t! hasAnchorRef\n\t\t\t\t\t\t\t? containerRef?.current?.firstChild // Anchor to the rendered toggle.\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\t{ ...popoverProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-dropdown__content',\n\t\t\t\t\t\tpopoverProps ? popoverProps.className : undefined,\n\t\t\t\t\t\tcontentClassName\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/dropdown/index.js"],"names":["classnames","useRef","useEffect","useState","Popover","useObservableState","initialState","onStateChange","state","setState","value","Dropdown","props","renderContent","renderToggle","className","contentClassName","expandOnMobile","headerTitle","focusOnMount","position","popoverProps","onClose","onToggle","style","containerRef","isOpen","setIsOpen","toggle","closeIfFocusOutside","ownerDocument","current","dialog","activeElement","closest","contains","close","args","hasAnchorRef","anchorRef","getAnchorRect","anchorRect","undefined"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\n\nfunction useObservableState( initialState, onStateChange ) {\n\tconst [ state, setState ] = useState( initialState );\n\treturn [\n\t\tstate,\n\t\t( value ) => {\n\t\t\tsetState( value );\n\t\t\tif ( onStateChange ) {\n\t\t\t\tonStateChange( value );\n\t\t\t}\n\t\t},\n\t];\n}\n\nexport default function Dropdown( props ) {\n\tconst {\n\t\trenderContent,\n\t\trenderToggle,\n\t\tclassName,\n\t\tcontentClassName,\n\t\texpandOnMobile,\n\t\theaderTitle,\n\t\tfocusOnMount,\n\t\tposition,\n\t\tpopoverProps,\n\t\tonClose,\n\t\tonToggle,\n\t\tstyle,\n\t} = props;\n\tconst containerRef = useRef();\n\tconst [ isOpen, setIsOpen ] = useObservableState( false, onToggle );\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tif ( onToggle && isOpen ) {\n\t\t\t\tonToggle( false );\n\t\t\t}\n\t\t},\n\t\t[ onToggle, isOpen ]\n\t);\n\n\tfunction toggle() {\n\t\tsetIsOpen( ! isOpen );\n\t}\n\n\t/**\n\t * Closes the popover when focus leaves it unless the toggle was pressed or\n\t * focus has moved to a separate dialog. The former is to let the toggle\n\t * handle closing the popover and the latter is to preserve presence in\n\t * case a dialog has opened, allowing focus to return when it's dismissed.\n\t */\n\tfunction closeIfFocusOutside() {\n\t\tconst { ownerDocument } = containerRef.current;\n\t\tconst dialog = ownerDocument.activeElement.closest( '[role=\"dialog\"]' );\n\t\tif (\n\t\t\t! containerRef.current.contains( ownerDocument.activeElement ) &&\n\t\t\t( ! dialog || dialog.contains( containerRef.current ) )\n\t\t) {\n\t\t\tclose();\n\t\t}\n\t}\n\n\tfunction close() {\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tsetIsOpen( false );\n\t}\n\n\tconst args = { isOpen, onToggle: toggle, onClose: close };\n\tconst hasAnchorRef =\n\t\t!! popoverProps?.anchorRef ||\n\t\t!! popoverProps?.getAnchorRect ||\n\t\t!! popoverProps?.anchorRect;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'components-dropdown', className ) }\n\t\t\tref={ containerRef }\n\t\t\t// Some UAs focus the closest focusable parent when the toggle is\n\t\t\t// clicked. Making this div focusable ensures such UAs will focus\n\t\t\t// it and `closeIfFocusOutside` can tell if the toggle was clicked.\n\t\t\ttabIndex=\"-1\"\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ renderToggle( args ) }\n\t\t\t{ isOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition={ position }\n\t\t\t\t\tonClose={ close }\n\t\t\t\t\tonFocusOutside={ closeIfFocusOutside }\n\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t\t\t// This value is used to ensure that the dropdowns\n\t\t\t\t\t// align with the editor header by default.\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tanchorRef={ ! hasAnchorRef ? containerRef : undefined }\n\t\t\t\t\t{ ...popoverProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-dropdown__content',\n\t\t\t\t\t\tpopoverProps ? popoverProps.className : undefined,\n\t\t\t\t\t\tcontentClassName\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * Internal dependencies
5
5
  */
6
- import CustomGradientBar from '../custom-gradient-bar';
6
+ import CustomGradientBar from '../custom-gradient-picker/gradient-bar';
7
7
  import { getColorStopsFromColors, getGradientFromCSSColors, getColorsFromColorStops } from './utils';
8
8
  const PLACEHOLDER_VALUES = ['#333', '#CCC'];
9
9
  export default function CustomDuotoneBar(_ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/duotone-picker/custom-duotone-bar.js"],"names":["CustomGradientBar","getColorStopsFromColors","getGradientFromCSSColors","getColorsFromColorStops","PLACEHOLDER_VALUES","CustomDuotoneBar","value","onChange","hasGradient","values","background","controlPoints","newColorStops","newValue"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,iBAAP,MAA8B,wBAA9B;AAEA,SACCC,uBADD,EAECC,wBAFD,EAGCC,uBAHD,QAIO,SAJP;AAMA,MAAMC,kBAAkB,GAAG,CAAE,MAAF,EAAU,MAAV,CAA3B;AAEA,eAAe,SAASC,gBAAT,OAAiD;AAAA,MAAtB;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAsB;AAC/D,QAAMC,WAAW,GAAG,CAAC,CAAEF,KAAvB;AACA,QAAMG,MAAM,GAAGD,WAAW,GAAGF,KAAH,GAAWF,kBAArC;AACA,QAAMM,UAAU,GAAGR,wBAAwB,CAAEO,MAAF,CAA3C;AACA,QAAME,aAAa,GAAGV,uBAAuB,CAAEQ,MAAF,CAA7C;AACA,SACC,cAAC,iBAAD;AACC,IAAA,eAAe,MADhB;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,WAAW,EAAGF,WAHf;AAIC,IAAA,KAAK,EAAGG,aAJT;AAKC,IAAA,QAAQ,EAAKC,aAAF,IAAqB;AAC/B,YAAMC,QAAQ,GAAGV,uBAAuB,CAAES,aAAF,CAAxC;AACAL,MAAAA,QAAQ,CAAEM,QAAF,CAAR;AACA;AARF,IADD;AAYA","sourcesContent":["/**\n * Internal dependencies\n */\nimport CustomGradientBar from '../custom-gradient-bar';\n\nimport {\n\tgetColorStopsFromColors,\n\tgetGradientFromCSSColors,\n\tgetColorsFromColorStops,\n} from './utils';\n\nconst PLACEHOLDER_VALUES = [ '#333', '#CCC' ];\n\nexport default function CustomDuotoneBar( { value, onChange } ) {\n\tconst hasGradient = !! value;\n\tconst values = hasGradient ? value : PLACEHOLDER_VALUES;\n\tconst background = getGradientFromCSSColors( values );\n\tconst controlPoints = getColorStopsFromColors( values );\n\treturn (\n\t\t<CustomGradientBar\n\t\t\tdisableInserter\n\t\t\tbackground={ background }\n\t\t\thasGradient={ hasGradient }\n\t\t\tvalue={ controlPoints }\n\t\t\tonChange={ ( newColorStops ) => {\n\t\t\t\tconst newValue = getColorsFromColorStops( newColorStops );\n\t\t\t\tonChange( newValue );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/duotone-picker/custom-duotone-bar.js"],"names":["CustomGradientBar","getColorStopsFromColors","getGradientFromCSSColors","getColorsFromColorStops","PLACEHOLDER_VALUES","CustomDuotoneBar","value","onChange","hasGradient","values","background","controlPoints","newColorStops","newValue"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,iBAAP,MAA8B,wCAA9B;AAEA,SACCC,uBADD,EAECC,wBAFD,EAGCC,uBAHD,QAIO,SAJP;AAMA,MAAMC,kBAAkB,GAAG,CAAE,MAAF,EAAU,MAAV,CAA3B;AAEA,eAAe,SAASC,gBAAT,OAAiD;AAAA,MAAtB;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAsB;AAC/D,QAAMC,WAAW,GAAG,CAAC,CAAEF,KAAvB;AACA,QAAMG,MAAM,GAAGD,WAAW,GAAGF,KAAH,GAAWF,kBAArC;AACA,QAAMM,UAAU,GAAGR,wBAAwB,CAAEO,MAAF,CAA3C;AACA,QAAME,aAAa,GAAGV,uBAAuB,CAAEQ,MAAF,CAA7C;AACA,SACC,cAAC,iBAAD;AACC,IAAA,eAAe,MADhB;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,WAAW,EAAGF,WAHf;AAIC,IAAA,KAAK,EAAGG,aAJT;AAKC,IAAA,QAAQ,EAAKC,aAAF,IAAqB;AAC/B,YAAMC,QAAQ,GAAGV,uBAAuB,CAAES,aAAF,CAAxC;AACAL,MAAAA,QAAQ,CAAEM,QAAF,CAAR;AACA;AARF,IADD;AAYA","sourcesContent":["/**\n * Internal dependencies\n */\nimport CustomGradientBar from '../custom-gradient-picker/gradient-bar';\n\nimport {\n\tgetColorStopsFromColors,\n\tgetGradientFromCSSColors,\n\tgetColorsFromColorStops,\n} from './utils';\n\nconst PLACEHOLDER_VALUES = [ '#333', '#CCC' ];\n\nexport default function CustomDuotoneBar( { value, onChange } ) {\n\tconst hasGradient = !! value;\n\tconst values = hasGradient ? value : PLACEHOLDER_VALUES;\n\tconst background = getGradientFromCSSColors( values );\n\tconst controlPoints = getColorStopsFromColors( values );\n\treturn (\n\t\t<CustomGradientBar\n\t\t\tdisableInserter\n\t\t\tbackground={ background }\n\t\t\thasGradient={ hasGradient }\n\t\t\tvalue={ controlPoints }\n\t\t\tonChange={ ( newColorStops ) => {\n\t\t\t\tconst newValue = getColorsFromColorStops( newColorStops );\n\t\t\t\tonChange( newValue );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -16,8 +16,10 @@ import { __, sprintf } from '@wordpress/i18n';
16
16
 
17
17
  import ColorListPicker from '../color-list-picker';
18
18
  import CircularOptionPicker from '../circular-option-picker';
19
+ import { VStack } from '../v-stack';
19
20
  import CustomDuotoneBar from './custom-duotone-bar';
20
21
  import { getDefaultColors, getGradientFromCSSColors } from './utils';
22
+ import { Spacer } from '../spacer';
21
23
 
22
24
  function DuotonePicker(_ref) {
23
25
  let {
@@ -74,6 +76,10 @@ function DuotonePicker(_ref) {
74
76
  actions: !!clearable && createElement(CircularOptionPicker.ButtonAction, {
75
77
  onClick: () => onChange(undefined)
76
78
  }, __('Clear'))
79
+ }, createElement(Spacer, {
80
+ paddingTop: 4
81
+ }, createElement(VStack, {
82
+ spacing: 3
77
83
  }, !disableCustomColors && !disableCustomDuotone && createElement(CustomDuotoneBar, {
78
84
  value: isUnset ? undefined : value,
79
85
  onChange: onChange
@@ -95,7 +101,7 @@ function DuotonePicker(_ref) {
95
101
  const newValue = newColors.length >= 2 ? newColors : undefined;
96
102
  onChange(newValue);
97
103
  }
98
- }));
104
+ }))));
99
105
  }
100
106
 
101
107
  export default DuotonePicker;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/duotone-picker/duotone-picker.js"],"names":["isEqual","useMemo","__","sprintf","ColorListPicker","CircularOptionPicker","CustomDuotoneBar","getDefaultColors","getGradientFromCSSColors","DuotonePicker","clearable","unsetable","colorPalette","duotonePalette","disableCustomColors","disableCustomDuotone","value","onChange","defaultDark","defaultLight","isUnset","unsetOption","undefined","options","map","colors","slug","name","style","background","color","tooltipText","label","isSelected","newColors","newValue","length"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorListPicker from '../color-list-picker';\nimport CircularOptionPicker from '../circular-option-picker';\n\nimport CustomDuotoneBar from './custom-duotone-bar';\nimport { getDefaultColors, getGradientFromCSSColors } from './utils';\n\nfunction DuotonePicker( {\n\tclearable = true,\n\tunsetable = true,\n\tcolorPalette,\n\tduotonePalette,\n\tdisableCustomColors,\n\tdisableCustomDuotone,\n\tvalue,\n\tonChange,\n} ) {\n\tconst [ defaultDark, defaultLight ] = useMemo(\n\t\t() => getDefaultColors( colorPalette ),\n\t\t[ colorPalette ]\n\t);\n\n\tconst isUnset = value === 'unset';\n\n\tconst unsetOption = (\n\t\t<CircularOptionPicker.Option\n\t\t\tkey=\"unset\"\n\t\t\tvalue=\"unset\"\n\t\t\tisSelected={ isUnset }\n\t\t\ttooltipText={ __( 'Unset' ) }\n\t\t\tclassName=\"components-duotone-picker__color-indicator\"\n\t\t\tonClick={ () => {\n\t\t\t\tonChange( isUnset ? undefined : 'unset' );\n\t\t\t} }\n\t\t/>\n\t);\n\n\tconst options = duotonePalette.map( ( { colors, slug, name } ) => {\n\t\tconst style = {\n\t\t\tbackground: getGradientFromCSSColors( colors, '135deg' ),\n\t\t\tcolor: 'transparent',\n\t\t};\n\t\tconst tooltipText =\n\t\t\tname ??\n\t\t\tsprintf(\n\t\t\t\t// translators: %s: duotone code e.g: \"dark-grayscale\" or \"7f7f7f-ffffff\".\n\t\t\t\t__( 'Duotone code: %s' ),\n\t\t\t\tslug\n\t\t\t);\n\t\tconst label = name\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: The name of the option e.g: \"Dark grayscale\".\n\t\t\t\t\t__( 'Duotone: %s' ),\n\t\t\t\t\tname\n\t\t\t )\n\t\t\t: tooltipText;\n\t\tconst isSelected = isEqual( colors, value );\n\n\t\treturn (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ slug }\n\t\t\t\tvalue={ colors }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\taria-label={ label }\n\t\t\t\ttooltipText={ tooltipText }\n\t\t\t\tstyle={ style }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonChange( isSelected ? undefined : colors );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\toptions={ unsetable ? [ unsetOption, ...options ] : options }\n\t\t\tactions={\n\t\t\t\t!! clearable && (\n\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t{ ! disableCustomColors && ! disableCustomDuotone && (\n\t\t\t\t<CustomDuotoneBar\n\t\t\t\t\tvalue={ isUnset ? undefined : value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomDuotone && (\n\t\t\t\t<ColorListPicker\n\t\t\t\t\tlabels={ [ __( 'Shadows' ), __( 'Highlights' ) ] }\n\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\tvalue={ isUnset ? undefined : value }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColors ) => {\n\t\t\t\t\t\tif ( ! newColors[ 0 ] ) {\n\t\t\t\t\t\t\tnewColors[ 0 ] = defaultDark;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! newColors[ 1 ] ) {\n\t\t\t\t\t\t\tnewColors[ 1 ] = defaultLight;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\tnewColors.length >= 2 ? newColors : undefined;\n\t\t\t\t\t\tonChange( newValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</CircularOptionPicker>\n\t);\n}\n\nexport default DuotonePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/duotone-picker/duotone-picker.js"],"names":["isEqual","useMemo","__","sprintf","ColorListPicker","CircularOptionPicker","VStack","CustomDuotoneBar","getDefaultColors","getGradientFromCSSColors","Spacer","DuotonePicker","clearable","unsetable","colorPalette","duotonePalette","disableCustomColors","disableCustomDuotone","value","onChange","defaultDark","defaultLight","isUnset","unsetOption","undefined","options","map","colors","slug","name","style","background","color","tooltipText","label","isSelected","newColors","newValue","length"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorListPicker from '../color-list-picker';\nimport CircularOptionPicker from '../circular-option-picker';\nimport { VStack } from '../v-stack';\n\nimport CustomDuotoneBar from './custom-duotone-bar';\nimport { getDefaultColors, getGradientFromCSSColors } from './utils';\nimport { Spacer } from '../spacer';\n\nfunction DuotonePicker( {\n\tclearable = true,\n\tunsetable = true,\n\tcolorPalette,\n\tduotonePalette,\n\tdisableCustomColors,\n\tdisableCustomDuotone,\n\tvalue,\n\tonChange,\n} ) {\n\tconst [ defaultDark, defaultLight ] = useMemo(\n\t\t() => getDefaultColors( colorPalette ),\n\t\t[ colorPalette ]\n\t);\n\n\tconst isUnset = value === 'unset';\n\n\tconst unsetOption = (\n\t\t<CircularOptionPicker.Option\n\t\t\tkey=\"unset\"\n\t\t\tvalue=\"unset\"\n\t\t\tisSelected={ isUnset }\n\t\t\ttooltipText={ __( 'Unset' ) }\n\t\t\tclassName=\"components-duotone-picker__color-indicator\"\n\t\t\tonClick={ () => {\n\t\t\t\tonChange( isUnset ? undefined : 'unset' );\n\t\t\t} }\n\t\t/>\n\t);\n\n\tconst options = duotonePalette.map( ( { colors, slug, name } ) => {\n\t\tconst style = {\n\t\t\tbackground: getGradientFromCSSColors( colors, '135deg' ),\n\t\t\tcolor: 'transparent',\n\t\t};\n\t\tconst tooltipText =\n\t\t\tname ??\n\t\t\tsprintf(\n\t\t\t\t// translators: %s: duotone code e.g: \"dark-grayscale\" or \"7f7f7f-ffffff\".\n\t\t\t\t__( 'Duotone code: %s' ),\n\t\t\t\tslug\n\t\t\t);\n\t\tconst label = name\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: The name of the option e.g: \"Dark grayscale\".\n\t\t\t\t\t__( 'Duotone: %s' ),\n\t\t\t\t\tname\n\t\t\t )\n\t\t\t: tooltipText;\n\t\tconst isSelected = isEqual( colors, value );\n\n\t\treturn (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ slug }\n\t\t\t\tvalue={ colors }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\taria-label={ label }\n\t\t\t\ttooltipText={ tooltipText }\n\t\t\t\tstyle={ style }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonChange( isSelected ? undefined : colors );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\toptions={ unsetable ? [ unsetOption, ...options ] : options }\n\t\t\tactions={\n\t\t\t\t!! clearable && (\n\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<Spacer paddingTop={ 4 }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t{ ! disableCustomColors && ! disableCustomDuotone && (\n\t\t\t\t\t\t<CustomDuotoneBar\n\t\t\t\t\t\t\tvalue={ isUnset ? undefined : value }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! disableCustomDuotone && (\n\t\t\t\t\t\t<ColorListPicker\n\t\t\t\t\t\t\tlabels={ [ __( 'Shadows' ), __( 'Highlights' ) ] }\n\t\t\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\t\t\tvalue={ isUnset ? undefined : value }\n\t\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\t\tonChange={ ( newColors ) => {\n\t\t\t\t\t\t\t\tif ( ! newColors[ 0 ] ) {\n\t\t\t\t\t\t\t\t\tnewColors[ 0 ] = defaultDark;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( ! newColors[ 1 ] ) {\n\t\t\t\t\t\t\t\t\tnewColors[ 1 ] = defaultLight;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\t\t\tnewColors.length >= 2\n\t\t\t\t\t\t\t\t\t\t? newColors\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\tonChange( newValue );\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</VStack>\n\t\t\t</Spacer>\n\t\t</CircularOptionPicker>\n\t);\n}\n\nexport default DuotonePicker;\n"]}
@@ -1,17 +1,25 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { swatch } from '@wordpress/icons';
3
7
  /**
4
8
  * Internal dependencies
5
9
  */
6
- import Swatch from '../swatch';
10
+
11
+ import ColorIndicator from '../color-indicator';
12
+ import Icon from '../icon';
7
13
  import { getGradientFromCSSColors } from './utils';
8
14
 
9
15
  function DuotoneSwatch(_ref) {
10
16
  let {
11
17
  values
12
18
  } = _ref;
13
- return createElement(Swatch, {
14
- fill: values && getGradientFromCSSColors(values, '135deg')
19
+ return values ? createElement(ColorIndicator, {
20
+ colorValue: getGradientFromCSSColors(values, '135deg')
21
+ }) : createElement(Icon, {
22
+ icon: swatch
15
23
  });
16
24
  }
17
25
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/duotone-picker/duotone-swatch.js"],"names":["Swatch","getGradientFromCSSColors","DuotoneSwatch","values"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,MAAP,MAAmB,WAAnB;AAEA,SAASC,wBAAT,QAAyC,SAAzC;;AAEA,SAASC,aAAT,OAAqC;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AACpC,SACC,cAAC,MAAD;AACC,IAAA,IAAI,EAAGA,MAAM,IAAIF,wBAAwB,CAAEE,MAAF,EAAU,QAAV;AAD1C,IADD;AAKA;;AAED,eAAeD,aAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport Swatch from '../swatch';\n\nimport { getGradientFromCSSColors } from './utils';\n\nfunction DuotoneSwatch( { values } ) {\n\treturn (\n\t\t<Swatch\n\t\t\tfill={ values && getGradientFromCSSColors( values, '135deg' ) }\n\t\t/>\n\t);\n}\n\nexport default DuotoneSwatch;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/duotone-picker/duotone-swatch.js"],"names":["swatch","ColorIndicator","Icon","getGradientFromCSSColors","DuotoneSwatch","values"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,kBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,SAASC,wBAAT,QAAyC,SAAzC;;AAEA,SAASC,aAAT,OAAqC;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AACpC,SAAOA,MAAM,GACZ,cAAC,cAAD;AACC,IAAA,UAAU,EAAGF,wBAAwB,CAAEE,MAAF,EAAU,QAAV;AADtC,IADY,GAKZ,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGL;AAAb,IALD;AAOA;;AAED,eAAeI,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { swatch } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ColorIndicator from '../color-indicator';\nimport Icon from '../icon';\nimport { getGradientFromCSSColors } from './utils';\n\nfunction DuotoneSwatch( { values } ) {\n\treturn values ? (\n\t\t<ColorIndicator\n\t\t\tcolorValue={ getGradientFromCSSColors( values, '135deg' ) }\n\t\t/>\n\t) : (\n\t\t<Icon icon={ swatch } />\n\t);\n}\n\nexport default DuotoneSwatch;\n"]}
@@ -11,7 +11,6 @@ import classnames from 'classnames';
11
11
  import { __ } from '@wordpress/i18n';
12
12
  import { Component, createRef } from '@wordpress/element';
13
13
  import { withInstanceId } from '@wordpress/compose';
14
- import { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';
15
14
  /**
16
15
  * Internal dependencies
17
16
  */
@@ -205,16 +204,16 @@ export class FocalPointPicker extends Component {
205
204
 
206
205
  onKeyDown(event) {
207
206
  const {
208
- keyCode,
207
+ code,
209
208
  shiftKey
210
209
  } = event;
211
- if (![UP, DOWN, LEFT, RIGHT].includes(keyCode)) return;
210
+ if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(code)) return;
212
211
  event.preventDefault();
213
212
  const next = { ...this.state.percentages
214
213
  };
215
214
  const step = shiftKey ? 0.1 : 0.01;
216
- const delta = keyCode === UP || keyCode === LEFT ? -1 * step : step;
217
- const axis = keyCode === UP || keyCode === DOWN ? 'y' : 'x';
215
+ const delta = code === 'ArrowUp' || code === 'ArrowLeft' ? -1 * step : step;
216
+ const axis = code === 'ArrowUp' || code === 'ArrowDown' ? 'y' : 'x';
218
217
  const value = parseFloat(next[axis]) + delta;
219
218
  next[axis] = roundClamp(value, 0, 1, step);
220
219
  this.updateValue(next, () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/focal-point-picker/index.js"],"names":["classnames","__","Component","createRef","withInstanceId","UP","DOWN","LEFT","RIGHT","BaseControl","Controls","FocalPoint","Grid","Media","MediaWrapper","MediaContainer","roundClamp","INITIAL_BOUNDS","FocalPointPicker","constructor","props","arguments","state","isDragging","bounds","percentages","value","containerRef","mediaRef","onMouseDown","startDrag","bind","onMouseUp","stopDrag","onKeyDown","onMouseMove","doDrag","ifDraggingStop","onChangeAtControls","updateValue","onChange","updateBounds","componentDidMount","defaultView","current","ownerDocument","addEventListener","componentDidUpdate","prevProps","url","x","y","setState","componentWillUnmount","removeEventListener","calculateBounds","clientWidth","clientHeight","dimensions","width","height","pickerDimensions","widthRatio","heightRatio","right","top","bottom","left","nextValue","callback","resolvedValue","resolvePoint","nextPercentage","parseFloat","toFixed","event","persist","focus","getValueFromPoint","pageX","pageY","shiftKey","onDragStart","onDragEnd","keyCode","includes","preventDefault","next","step","delta","axis","onDrag","point","byTenths","relativePoint","Math","max","min","nextX","nextY","containerNode","getBoundingClientRect","document","body","scrollTop","iconCoordinates","undefined","render","autoPlay","className","help","instanceId","label","classes","id","defaultProps"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,oBAArC;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,SAASC,EAAT,EAAaC,IAAb,EAAmBC,IAAnB,EAAyBC,KAAzB,QAAsC,qBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SACCC,YADD,EAECC,cAFD,QAGO,mCAHP;AAIA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,cAAT,QAA+B,SAA/B;AAEA,OAAO,MAAMC,gBAAN,SAA+BhB,SAA/B,CAAyC;AAC/CiB,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAO,GAAGC,SAAV;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,UAAU,EAAE,KADA;AAEZC,MAAAA,MAAM,EAAEP,cAFI;AAGZQ,MAAAA,WAAW,EAAEL,KAAK,CAACM;AAHP,KAAb;AAMA,SAAKC,YAAL,GAAoBxB,SAAS,EAA7B;AACA,SAAKyB,QAAL,GAAgBzB,SAAS,EAAzB;AAEA,SAAK0B,WAAL,GAAmB,KAAKC,SAAL,CAAeC,IAAf,CAAqB,IAArB,CAAnB;AACA,SAAKC,SAAL,GAAiB,KAAKC,QAAL,CAAcF,IAAd,CAAoB,IAApB,CAAjB;AACA,SAAKG,SAAL,GAAiB,KAAKA,SAAL,CAAeH,IAAf,CAAqB,IAArB,CAAjB;AACA,SAAKI,WAAL,GAAmB,KAAKC,MAAL,CAAYL,IAAZ,CAAkB,IAAlB,CAAnB;;AACA,SAAKM,cAAL,GAAsB,MAAM;AAC3B,UAAK,KAAKf,KAAL,CAAWC,UAAhB,EAA6B;AAC5B,aAAKU,QAAL;AACA;AACD,KAJD;;AAKA,SAAKK,kBAAL,GAA4BZ,KAAF,IAAa;AACtC,WAAKa,WAAL,CAAkBb,KAAlB,EAAyB,MAAM;AAC9B,aAAKN,KAAL,CAAWoB,QAAX,CAAqB,KAAKlB,KAAL,CAAWG,WAAhC;AACA,OAFD;AAGA,KAJD;;AAMA,SAAKgB,YAAL,GAAoB,KAAKA,YAAL,CAAkBV,IAAlB,CAAwB,IAAxB,CAApB;AACA,SAAKQ,WAAL,GAAmB,KAAKA,WAAL,CAAiBR,IAAjB,CAAuB,IAAvB,CAAnB;AACA;;AACDW,EAAAA,iBAAiB,GAAG;AACnB,UAAM;AAAEC,MAAAA;AAAF,QAAkB,KAAKhB,YAAL,CAAkBiB,OAAlB,CAA0BC,aAAlD;AACAF,IAAAA,WAAW,CAACG,gBAAZ,CAA8B,QAA9B,EAAwC,KAAKL,YAA7C;AAEA;AACF;AACA;AACA;AACA;AACA;;AACE,SAAKA,YAAL;AACA;;AACDM,EAAAA,kBAAkB,CAAEC,SAAF,EAAc;AAC/B,QAAKA,SAAS,CAACC,GAAV,KAAkB,KAAK7B,KAAL,CAAW6B,GAAlC,EAAwC;AACvC,WAAKZ,cAAL;AACA;AACD;AACF;AACA;AACA;;;AACE,UAAM;AACLd,MAAAA,UADK;AAELE,MAAAA,WAAW,EAAE;AAAEyB,QAAAA,CAAF;AAAKC,QAAAA;AAAL;AAFR,QAGF,KAAK7B,KAHT;AAIA,UAAM;AAAEI,MAAAA;AAAF,QAAY,KAAKN,KAAvB;;AACA,QAAK,CAAEG,UAAF,KAAkBG,KAAK,CAACwB,CAAN,KAAYA,CAAZ,IAAiBxB,KAAK,CAACyB,CAAN,KAAYA,CAA/C,CAAL,EAA0D;AACzD,WAAKC,QAAL,CAAe;AAAE3B,QAAAA,WAAW,EAAE,KAAKL,KAAL,CAAWM;AAA1B,OAAf;AACA;AACD;;AACD2B,EAAAA,oBAAoB,GAAG;AACtB,UAAM;AAAEV,MAAAA;AAAF,QAAkB,KAAKhB,YAAL,CAAkBiB,OAAlB,CAA0BC,aAAlD;AACAF,IAAAA,WAAW,CAACW,mBAAZ,CAAiC,QAAjC,EAA2C,KAAKb,YAAhD;AACA,SAAKJ,cAAL;AACA;;AACDkB,EAAAA,eAAe,GAAG;AACjB,UAAM/B,MAAM,GAAGP,cAAf;;AAEA,QAAK,CAAE,KAAKW,QAAL,CAAcgB,OAArB,EAA+B;AAC9B,aAAOpB,MAAP;AACA,KALgB,CAOjB;;;AACA,QACC,KAAKI,QAAL,CAAcgB,OAAd,CAAsBY,WAAtB,KAAsC,CAAtC,IACA,KAAK5B,QAAL,CAAcgB,OAAd,CAAsBa,YAAtB,KAAuC,CAFxC,EAGE;AACD,aAAOjC,MAAP;AACA;;AAED,UAAMkC,UAAU,GAAG;AAClBC,MAAAA,KAAK,EAAE,KAAK/B,QAAL,CAAcgB,OAAd,CAAsBY,WADX;AAElBI,MAAAA,MAAM,EAAE,KAAKhC,QAAL,CAAcgB,OAAd,CAAsBa;AAFZ,KAAnB;AAKA,UAAMI,gBAAgB,GAAG,KAAKA,gBAAL,EAAzB;AAEA,UAAMC,UAAU,GAAGD,gBAAgB,CAACF,KAAjB,GAAyBD,UAAU,CAACC,KAAvD;AACA,UAAMI,WAAW,GAAGF,gBAAgB,CAACD,MAAjB,GAA0BF,UAAU,CAACE,MAAzD;;AAEA,QAAKG,WAAW,IAAID,UAApB,EAAiC;AAChCtC,MAAAA,MAAM,CAACmC,KAAP,GAAenC,MAAM,CAACwC,KAAP,GAAeH,gBAAgB,CAACF,KAA/C;AACAnC,MAAAA,MAAM,CAACoC,MAAP,GAAgBF,UAAU,CAACE,MAAX,GAAoBE,UAApC;AACAtC,MAAAA,MAAM,CAACyC,GAAP,GAAa,CAAEJ,gBAAgB,CAACD,MAAjB,GAA0BpC,MAAM,CAACoC,MAAnC,IAA8C,CAA3D;AACApC,MAAAA,MAAM,CAAC0C,MAAP,GAAgB1C,MAAM,CAACyC,GAAP,GAAazC,MAAM,CAACoC,MAApC;AACA,KALD,MAKO;AACNpC,MAAAA,MAAM,CAACoC,MAAP,GAAgBpC,MAAM,CAAC0C,MAAP,GAAgBL,gBAAgB,CAACD,MAAjD;AACApC,MAAAA,MAAM,CAACmC,KAAP,GAAeD,UAAU,CAACC,KAAX,GAAmBI,WAAlC;AACAvC,MAAAA,MAAM,CAAC2C,IAAP,GAAc,CAAEN,gBAAgB,CAACF,KAAjB,GAAyBnC,MAAM,CAACmC,KAAlC,IAA4C,CAA1D;AACAnC,MAAAA,MAAM,CAACwC,KAAP,GAAexC,MAAM,CAAC2C,IAAP,GAAc3C,MAAM,CAACmC,KAApC;AACA;;AACD,WAAOnC,MAAP;AACA;;AACDe,EAAAA,WAAW,GAA6B;AAAA;;AAAA,QAA3B6B,SAA2B,uEAAf,EAAe;AAAA,QAAXC,QAAW;AACvC,UAAMC,aAAa,sDAClB,oBAAKlD,KAAL,EAAWmD,YADO,2DAClB,yCAA2BH,SAA3B,CADkB,yEACwBA,SAD3C;AAGA,UAAM;AAAElB,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAWmB,aAAjB;AAEA,UAAME,cAAc,GAAG;AACtBtB,MAAAA,CAAC,EAAEuB,UAAU,CAAEvB,CAAF,CAAV,CAAgBwB,OAAhB,CAAyB,CAAzB,CADmB;AAEtBvB,MAAAA,CAAC,EAAEsB,UAAU,CAAEtB,CAAF,CAAV,CAAgBuB,OAAhB,CAAyB,CAAzB;AAFmB,KAAvB;AAKA,SAAKtB,QAAL,CAAe;AAAE3B,MAAAA,WAAW,EAAE+C;AAAf,KAAf,EAAgDH,QAAhD;AACA;;AACD5B,EAAAA,YAAY,GAAG;AACd,SAAKW,QAAL,CAAe;AACd5B,MAAAA,MAAM,EAAE,KAAK+B,eAAL;AADM,KAAf;AAGA;;AACDzB,EAAAA,SAAS,CAAE6C,KAAF,EAAU;AAAA;;AAClBA,IAAAA,KAAK,CAACC,OAAN;AACA,SAAKjD,YAAL,CAAkBiB,OAAlB,CAA0BiC,KAA1B;AACA,SAAKzB,QAAL,CAAe;AAAE7B,MAAAA,UAAU,EAAE;AAAd,KAAf;AACA,UAAM;AAAEsB,MAAAA;AAAF,QAAoB,KAAKlB,YAAL,CAAkBiB,OAA5C;AACAC,IAAAA,aAAa,CAACC,gBAAd,CAAgC,SAAhC,EAA2C,KAAKd,SAAhD;AACAa,IAAAA,aAAa,CAACC,gBAAd,CAAgC,WAAhC,EAA6C,KAAKX,WAAlD;AACA,UAAMT,KAAK,GAAG,KAAKoD,iBAAL,CACb;AAAE5B,MAAAA,CAAC,EAAEyB,KAAK,CAACI,KAAX;AAAkB5B,MAAAA,CAAC,EAAEwB,KAAK,CAACK;AAA3B,KADa,EAEbL,KAAK,CAACM,QAFO,CAAd;AAIA,SAAK1C,WAAL,CAAkBb,KAAlB;AACA,kDAAKN,KAAL,EAAW8D,WAAX,mGAA0BxD,KAA1B,EAAiCiD,KAAjC;AACA;;AACD1C,EAAAA,QAAQ,CAAE0C,KAAF,EAAU;AAAA;;AACjB,UAAM;AAAE9B,MAAAA;AAAF,QAAoB,KAAKlB,YAAL,CAAkBiB,OAA5C;AACAC,IAAAA,aAAa,CAACS,mBAAd,CAAmC,SAAnC,EAA8C,KAAKtB,SAAnD;AACAa,IAAAA,aAAa,CAACS,mBAAd,CAAmC,WAAnC,EAAgD,KAAKnB,WAArD;AACA,SAAKiB,QAAL,CAAe;AAAE7B,MAAAA,UAAU,EAAE;AAAd,KAAf,EAAsC,MAAM;AAC3C,WAAKH,KAAL,CAAWoB,QAAX,CAAqB,KAAKlB,KAAL,CAAWG,WAAhC;AACA,KAFD;AAGA,kDAAKL,KAAL,EAAW+D,SAAX,mGAAwBR,KAAxB;AACA;;AACDzC,EAAAA,SAAS,CAAEyC,KAAF,EAAU;AAClB,UAAM;AAAES,MAAAA,OAAF;AAAWH,MAAAA;AAAX,QAAwBN,KAA9B;AACA,QAAK,CAAE,CAAEtE,EAAF,EAAMC,IAAN,EAAYC,IAAZ,EAAkBC,KAAlB,EAA0B6E,QAA1B,CAAoCD,OAApC,CAAP,EAAuD;AAEvDT,IAAAA,KAAK,CAACW,cAAN;AAEA,UAAMC,IAAI,GAAG,EAAE,GAAG,KAAKjE,KAAL,CAAWG;AAAhB,KAAb;AACA,UAAM+D,IAAI,GAAGP,QAAQ,GAAG,GAAH,GAAS,IAA9B;AACA,UAAMQ,KAAK,GAAGL,OAAO,KAAK/E,EAAZ,IAAkB+E,OAAO,KAAK7E,IAA9B,GAAqC,CAAC,CAAD,GAAKiF,IAA1C,GAAiDA,IAA/D;AACA,UAAME,IAAI,GAAGN,OAAO,KAAK/E,EAAZ,IAAkB+E,OAAO,KAAK9E,IAA9B,GAAqC,GAArC,GAA2C,GAAxD;AACA,UAAMoB,KAAK,GAAG+C,UAAU,CAAEc,IAAI,CAAEG,IAAF,CAAN,CAAV,GAA6BD,KAA3C;AAEAF,IAAAA,IAAI,CAAEG,IAAF,CAAJ,GAAe1E,UAAU,CAAEU,KAAF,EAAS,CAAT,EAAY,CAAZ,EAAe8D,IAAf,CAAzB;AAEA,SAAKjD,WAAL,CAAkBgD,IAAlB,EAAwB,MAAM;AAC7B,WAAKnE,KAAL,CAAWoB,QAAX,CAAqB,KAAKlB,KAAL,CAAWG,WAAhC;AACA,KAFD;AAGA;;AACDW,EAAAA,MAAM,CAAEuC,KAAF,EAAU;AAAA;;AACf;AACAA,IAAAA,KAAK,CAACW,cAAN;AACA,UAAM5D,KAAK,GAAG,KAAKoD,iBAAL,CACb;AAAE5B,MAAAA,CAAC,EAAEyB,KAAK,CAACI,KAAX;AAAkB5B,MAAAA,CAAC,EAAEwB,KAAK,CAACK;AAA3B,KADa,EAEbL,KAAK,CAACM,QAFO,CAAd;AAIA,SAAK1C,WAAL,CAAkBb,KAAlB;AACA,+CAAKN,KAAL,EAAWuE,MAAX,6FAAqBjE,KAArB,EAA4BiD,KAA5B;AACA;;AACDG,EAAAA,iBAAiB,CAAEc,KAAF,EAASC,QAAT,EAAoB;AACpC,UAAM;AAAErE,MAAAA;AAAF,QAAa,KAAKF,KAAxB;AAEA,UAAMuC,gBAAgB,GAAG,KAAKA,gBAAL,EAAzB;AACA,UAAMiC,aAAa,GAAG;AACrB3B,MAAAA,IAAI,EAAEyB,KAAK,CAAC1C,CAAN,GAAUW,gBAAgB,CAACM,IADZ;AAErBF,MAAAA,GAAG,EAAE2B,KAAK,CAACzC,CAAN,GAAUU,gBAAgB,CAACI;AAFX,KAAtB;AAKA,UAAME,IAAI,GAAG4B,IAAI,CAACC,GAAL,CACZxE,MAAM,CAAC2C,IADK,EAEZ4B,IAAI,CAACE,GAAL,CAAUH,aAAa,CAAC3B,IAAxB,EAA8B3C,MAAM,CAACwC,KAArC,CAFY,CAAb;AAIA,UAAMC,GAAG,GAAG8B,IAAI,CAACC,GAAL,CACXxE,MAAM,CAACyC,GADI,EAEX8B,IAAI,CAACE,GAAL,CAAUH,aAAa,CAAC7B,GAAxB,EAA6BzC,MAAM,CAAC0C,MAApC,CAFW,CAAZ;AAKA,QAAIgC,KAAK,GACR,CAAE/B,IAAI,GAAG3C,MAAM,CAAC2C,IAAhB,KACEN,gBAAgB,CAACF,KAAjB,GAAyBnC,MAAM,CAAC2C,IAAP,GAAc,CADzC,CADD;AAGA,QAAIgC,KAAK,GACR,CAAElC,GAAG,GAAGzC,MAAM,CAACyC,GAAf,KAAyBJ,gBAAgB,CAACD,MAAjB,GAA0BpC,MAAM,CAACyC,GAAP,GAAa,CAAhE,CADD,CArBoC,CAwBpC;;AACA,UAAMuB,IAAI,GAAGK,QAAQ,GAAG,GAAH,GAAS,IAA9B;AAEAK,IAAAA,KAAK,GAAGlF,UAAU,CAAEkF,KAAF,EAAS,CAAT,EAAY,CAAZ,EAAeV,IAAf,CAAlB;AACAW,IAAAA,KAAK,GAAGnF,UAAU,CAAEmF,KAAF,EAAS,CAAT,EAAY,CAAZ,EAAeX,IAAf,CAAlB;AAEA,WAAO;AAAEtC,MAAAA,CAAC,EAAEgD,KAAL;AAAY/C,MAAAA,CAAC,EAAEgD;AAAf,KAAP;AACA;;AACDtC,EAAAA,gBAAgB,GAAG;AAClB,UAAMuC,aAAa,GAAG,KAAKzE,YAAL,CAAkBiB,OAAxC;;AAEA,QAAK,CAAEwD,aAAP,EAAuB;AACtB,aAAO;AACNzC,QAAAA,KAAK,EAAE,CADD;AAENC,QAAAA,MAAM,EAAE,CAFF;AAGNO,QAAAA,IAAI,EAAE,CAHA;AAINF,QAAAA,GAAG,EAAE;AAJC,OAAP;AAMA;;AAED,UAAM;AAAER,MAAAA,YAAF;AAAgBD,MAAAA;AAAhB,QAAgC4C,aAAtC;AACA,UAAM;AAAEnC,MAAAA,GAAF;AAAOE,MAAAA;AAAP,QAAgBiC,aAAa,CAACC,qBAAd,EAAtB;AAEA,WAAO;AACN1C,MAAAA,KAAK,EAAEH,WADD;AAENI,MAAAA,MAAM,EAAEH,YAFF;AAGNQ,MAAAA,GAAG,EAAEA,GAAG,GAAGqC,QAAQ,CAACC,IAAT,CAAcC,SAHnB;AAINrC,MAAAA;AAJM,KAAP;AAMA;;AACDsC,EAAAA,eAAe,GAAG;AACjB,UAAM;AACLjF,MAAAA,MADK;AAELC,MAAAA,WAAW,EAAE;AAAEyB,QAAAA,CAAF;AAAKC,QAAAA;AAAL;AAFR,QAGF,KAAK7B,KAHT;;AAKA,QAAKE,MAAM,CAAC2C,IAAP,KAAgBuC,SAAhB,IAA6BlF,MAAM,CAACyC,GAAP,KAAeyC,SAAjD,EAA6D;AAC5D,aAAO;AACNvC,QAAAA,IAAI,EAAE,KADA;AAENF,QAAAA,GAAG,EAAE;AAFC,OAAP;AAIA;;AAED,UAAM;AAAEN,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAoB,KAAKC,gBAAL,EAA1B;AACA,WAAO;AACNM,MAAAA,IAAI,EAAEjB,CAAC,IAAKS,KAAK,GAAGnC,MAAM,CAAC2C,IAAP,GAAc,CAA3B,CAAD,GAAkC3C,MAAM,CAAC2C,IADzC;AAENF,MAAAA,GAAG,EAAEd,CAAC,IAAKS,MAAM,GAAGpC,MAAM,CAACyC,GAAP,GAAa,CAA3B,CAAD,GAAkCzC,MAAM,CAACyC;AAFxC,KAAP;AAIA;;AACD0C,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,SAAZ;AAAuBC,MAAAA,IAAvB;AAA6BC,MAAAA,UAA7B;AAAyCC,MAAAA,KAAzC;AAAgD/D,MAAAA;AAAhD,QACL,KAAK7B,KADN;AAEA,UAAM;AAAEI,MAAAA,MAAF;AAAUD,MAAAA,UAAV;AAAsBE,MAAAA;AAAtB,QAAsC,KAAKH,KAAjD;AACA,UAAMmF,eAAe,GAAG,KAAKA,eAAL,EAAxB;AAEA,UAAMQ,OAAO,GAAGjH,UAAU,CACzB,uCADyB,EAEzB6G,SAFyB,CAA1B;AAKA,UAAMK,EAAE,GAAI,wCAAwCH,UAAY,EAAhE;AAEA,WACC,cAAC,WAAD;AACC,MAAA,KAAK,EAAGC,KADT;AAEC,MAAA,EAAE,EAAGE,EAFN;AAGC,MAAA,IAAI,EAAGJ,IAHR;AAIC,MAAA,SAAS,EAAGG;AAJb,OAMC,cAAC,YAAD;AAAc,MAAA,SAAS,EAAC;AAAxB,OACC,cAAC,cAAD;AACC,MAAA,SAAS,EAAC,+BADX;AAEC,MAAA,SAAS,EAAG,KAAK/E,SAFlB;AAGC,MAAA,WAAW,EAAG,KAAKL,WAHpB;AAIC,MAAA,MAAM,EAAG,KAAKQ,cAJf;AAKC,MAAA,GAAG,EAAG,KAAKV,YALZ;AAMC,MAAA,IAAI,EAAC,QANN;AAOC,MAAA,QAAQ,EAAC;AAPV,OASC,cAAC,IAAD;AACC,MAAA,MAAM,EAAGH,MADV;AAEC,MAAA,KAAK,EAAGC,WAAW,CAACyB,CAAZ,GAAgBzB,WAAW,CAAC0B;AAFrC,MATD,EAaC,cAAC,KAAD;AACC,MAAA,GAAG,EAAGlD,EAAE,CAAE,eAAF,CADT;AAEC,MAAA,QAAQ,EAAG2G,QAFZ;AAGC,MAAA,QAAQ,EAAG,KAAKhF,QAHjB;AAIC,MAAA,MAAM,EAAG,KAAKa,YAJf;AAKC,MAAA,GAAG,EAAGQ;AALP,MAbD,EAoBC,cAAC,UAAD;AACC,MAAA,WAAW,EAAGwD,eADf;AAEC,MAAA,UAAU,EAAGlF;AAFd,MApBD,CADD,CAND,EAiCC,cAAC,QAAD;AACC,MAAA,WAAW,EAAGE,WADf;AAEC,MAAA,QAAQ,EAAG,KAAKa;AAFjB,MAjCD,CADD;AAwCA;;AA1S8C;AA6ShDpB,gBAAgB,CAACiG,YAAjB,GAAgC;AAC/BP,EAAAA,QAAQ,EAAE,IADqB;AAE/BlF,EAAAA,KAAK,EAAE;AACNwB,IAAAA,CAAC,EAAE,GADG;AAENC,IAAAA,CAAC,EAAE;AAFG,GAFwB;AAM/BF,EAAAA,GAAG,EAAE;AAN0B,CAAhC;AASA,eAAe7C,cAAc,CAAEc,gBAAF,CAA7B","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Controls from './controls';\nimport FocalPoint from './focal-point';\nimport Grid from './grid';\nimport Media from './media';\nimport {\n\tMediaWrapper,\n\tMediaContainer,\n} from './styles/focal-point-picker-style';\nimport { roundClamp } from '../utils/math';\nimport { INITIAL_BOUNDS } from './utils';\n\nexport class FocalPointPicker extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tisDragging: false,\n\t\t\tbounds: INITIAL_BOUNDS,\n\t\t\tpercentages: props.value,\n\t\t};\n\n\t\tthis.containerRef = createRef();\n\t\tthis.mediaRef = createRef();\n\n\t\tthis.onMouseDown = this.startDrag.bind( this );\n\t\tthis.onMouseUp = this.stopDrag.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onMouseMove = this.doDrag.bind( this );\n\t\tthis.ifDraggingStop = () => {\n\t\t\tif ( this.state.isDragging ) {\n\t\t\t\tthis.stopDrag();\n\t\t\t}\n\t\t};\n\t\tthis.onChangeAtControls = ( value ) => {\n\t\t\tthis.updateValue( value, () => {\n\t\t\t\tthis.props.onChange( this.state.percentages );\n\t\t\t} );\n\t\t};\n\n\t\tthis.updateBounds = this.updateBounds.bind( this );\n\t\tthis.updateValue = this.updateValue.bind( this );\n\t}\n\tcomponentDidMount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.addEventListener( 'resize', this.updateBounds );\n\n\t\t/*\n\t\t * Set initial bound values.\n\t\t *\n\t\t * This is necessary for Safari:\n\t\t * https://github.com/WordPress/gutenberg/issues/25814\n\t\t */\n\t\tthis.updateBounds();\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.url !== this.props.url ) {\n\t\t\tthis.ifDraggingStop();\n\t\t}\n\t\t/*\n\t\t * Handles cases where the incoming value changes.\n\t\t * An example is the values resetting based on an UNDO action.\n\t\t */\n\t\tconst {\n\t\t\tisDragging,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\t\tconst { value } = this.props;\n\t\tif ( ! isDragging && ( value.x !== x || value.y !== y ) ) {\n\t\t\tthis.setState( { percentages: this.props.value } );\n\t\t}\n\t}\n\tcomponentWillUnmount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.removeEventListener( 'resize', this.updateBounds );\n\t\tthis.ifDraggingStop();\n\t}\n\tcalculateBounds() {\n\t\tconst bounds = INITIAL_BOUNDS;\n\n\t\tif ( ! this.mediaRef.current ) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\t// Prevent division by zero when updateBounds runs in componentDidMount\n\t\tif (\n\t\t\tthis.mediaRef.current.clientWidth === 0 ||\n\t\t\tthis.mediaRef.current.clientHeight === 0\n\t\t) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\tconst dimensions = {\n\t\t\twidth: this.mediaRef.current.clientWidth,\n\t\t\theight: this.mediaRef.current.clientHeight,\n\t\t};\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\n\t\tconst widthRatio = pickerDimensions.width / dimensions.width;\n\t\tconst heightRatio = pickerDimensions.height / dimensions.height;\n\n\t\tif ( heightRatio >= widthRatio ) {\n\t\t\tbounds.width = bounds.right = pickerDimensions.width;\n\t\t\tbounds.height = dimensions.height * widthRatio;\n\t\t\tbounds.top = ( pickerDimensions.height - bounds.height ) / 2;\n\t\t\tbounds.bottom = bounds.top + bounds.height;\n\t\t} else {\n\t\t\tbounds.height = bounds.bottom = pickerDimensions.height;\n\t\t\tbounds.width = dimensions.width * heightRatio;\n\t\t\tbounds.left = ( pickerDimensions.width - bounds.width ) / 2;\n\t\t\tbounds.right = bounds.left + bounds.width;\n\t\t}\n\t\treturn bounds;\n\t}\n\tupdateValue( nextValue = {}, callback ) {\n\t\tconst resolvedValue =\n\t\t\tthis.props.resolvePoint?.( nextValue ) ?? nextValue;\n\n\t\tconst { x, y } = resolvedValue;\n\n\t\tconst nextPercentage = {\n\t\t\tx: parseFloat( x ).toFixed( 2 ),\n\t\t\ty: parseFloat( y ).toFixed( 2 ),\n\t\t};\n\n\t\tthis.setState( { percentages: nextPercentage }, callback );\n\t}\n\tupdateBounds() {\n\t\tthis.setState( {\n\t\t\tbounds: this.calculateBounds(),\n\t\t} );\n\t}\n\tstartDrag( event ) {\n\t\tevent.persist();\n\t\tthis.containerRef.current.focus();\n\t\tthis.setState( { isDragging: true } );\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.addEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.addEventListener( 'mousemove', this.onMouseMove );\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDragStart?.( value, event );\n\t}\n\tstopDrag( event ) {\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.removeEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.removeEventListener( 'mousemove', this.onMouseMove );\n\t\tthis.setState( { isDragging: false }, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t\tthis.props.onDragEnd?.( event );\n\t}\n\tonKeyDown( event ) {\n\t\tconst { keyCode, shiftKey } = event;\n\t\tif ( ! [ UP, DOWN, LEFT, RIGHT ].includes( keyCode ) ) return;\n\n\t\tevent.preventDefault();\n\n\t\tconst next = { ...this.state.percentages };\n\t\tconst step = shiftKey ? 0.1 : 0.01;\n\t\tconst delta = keyCode === UP || keyCode === LEFT ? -1 * step : step;\n\t\tconst axis = keyCode === UP || keyCode === DOWN ? 'y' : 'x';\n\t\tconst value = parseFloat( next[ axis ] ) + delta;\n\n\t\tnext[ axis ] = roundClamp( value, 0, 1, step );\n\n\t\tthis.updateValue( next, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t}\n\tdoDrag( event ) {\n\t\t// Prevents text-selection when dragging.\n\t\tevent.preventDefault();\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDrag?.( value, event );\n\t}\n\tgetValueFromPoint( point, byTenths ) {\n\t\tconst { bounds } = this.state;\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\t\tconst relativePoint = {\n\t\t\tleft: point.x - pickerDimensions.left,\n\t\t\ttop: point.y - pickerDimensions.top,\n\t\t};\n\n\t\tconst left = Math.max(\n\t\t\tbounds.left,\n\t\t\tMath.min( relativePoint.left, bounds.right )\n\t\t);\n\t\tconst top = Math.max(\n\t\t\tbounds.top,\n\t\t\tMath.min( relativePoint.top, bounds.bottom )\n\t\t);\n\n\t\tlet nextX =\n\t\t\t( left - bounds.left ) /\n\t\t\t( pickerDimensions.width - bounds.left * 2 );\n\t\tlet nextY =\n\t\t\t( top - bounds.top ) / ( pickerDimensions.height - bounds.top * 2 );\n\n\t\t// Enables holding shift to jump values by 10%\n\t\tconst step = byTenths ? 0.1 : 0.01;\n\n\t\tnextX = roundClamp( nextX, 0, 1, step );\n\t\tnextY = roundClamp( nextY, 0, 1, step );\n\n\t\treturn { x: nextX, y: nextY };\n\t}\n\tpickerDimensions() {\n\t\tconst containerNode = this.containerRef.current;\n\n\t\tif ( ! containerNode ) {\n\t\t\treturn {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t};\n\t\t}\n\n\t\tconst { clientHeight, clientWidth } = containerNode;\n\t\tconst { top, left } = containerNode.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: clientWidth,\n\t\t\theight: clientHeight,\n\t\t\ttop: top + document.body.scrollTop,\n\t\t\tleft,\n\t\t};\n\t}\n\ticonCoordinates() {\n\t\tconst {\n\t\t\tbounds,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\n\t\tif ( bounds.left === undefined || bounds.top === undefined ) {\n\t\t\treturn {\n\t\t\t\tleft: '50%',\n\t\t\t\ttop: '50%',\n\t\t\t};\n\t\t}\n\n\t\tconst { width, height } = this.pickerDimensions();\n\t\treturn {\n\t\t\tleft: x * ( width - bounds.left * 2 ) + bounds.left,\n\t\t\ttop: y * ( height - bounds.top * 2 ) + bounds.top,\n\t\t};\n\t}\n\trender() {\n\t\tconst { autoPlay, className, help, instanceId, label, url } =\n\t\t\tthis.props;\n\t\tconst { bounds, isDragging, percentages } = this.state;\n\t\tconst iconCoordinates = this.iconCoordinates();\n\n\t\tconst classes = classnames(\n\t\t\t'components-focal-point-picker-control',\n\t\t\tclassName\n\t\t);\n\n\t\tconst id = `inspector-focal-point-picker-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ classes }\n\t\t\t>\n\t\t\t\t<MediaWrapper className=\"components-focal-point-picker-wrapper\">\n\t\t\t\t\t<MediaContainer\n\t\t\t\t\t\tclassName=\"components-focal-point-picker\"\n\t\t\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\t\t\tonMouseDown={ this.onMouseDown }\n\t\t\t\t\t\tonBlur={ this.ifDraggingStop }\n\t\t\t\t\t\tref={ this.containerRef }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tbounds={ bounds }\n\t\t\t\t\t\t\tvalue={ percentages.x + percentages.y }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Media\n\t\t\t\t\t\t\talt={ __( 'Media preview' ) }\n\t\t\t\t\t\t\tautoPlay={ autoPlay }\n\t\t\t\t\t\t\tmediaRef={ this.mediaRef }\n\t\t\t\t\t\t\tonLoad={ this.updateBounds }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FocalPoint\n\t\t\t\t\t\t\tcoordinates={ iconCoordinates }\n\t\t\t\t\t\t\tisDragging={ isDragging }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaContainer>\n\t\t\t\t</MediaWrapper>\n\t\t\t\t<Controls\n\t\t\t\t\tpercentages={ percentages }\n\t\t\t\t\tonChange={ this.onChangeAtControls }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nFocalPointPicker.defaultProps = {\n\tautoPlay: true,\n\tvalue: {\n\t\tx: 0.5,\n\t\ty: 0.5,\n\t},\n\turl: null,\n};\n\nexport default withInstanceId( FocalPointPicker );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/focal-point-picker/index.js"],"names":["classnames","__","Component","createRef","withInstanceId","BaseControl","Controls","FocalPoint","Grid","Media","MediaWrapper","MediaContainer","roundClamp","INITIAL_BOUNDS","FocalPointPicker","constructor","props","arguments","state","isDragging","bounds","percentages","value","containerRef","mediaRef","onMouseDown","startDrag","bind","onMouseUp","stopDrag","onKeyDown","onMouseMove","doDrag","ifDraggingStop","onChangeAtControls","updateValue","onChange","updateBounds","componentDidMount","defaultView","current","ownerDocument","addEventListener","componentDidUpdate","prevProps","url","x","y","setState","componentWillUnmount","removeEventListener","calculateBounds","clientWidth","clientHeight","dimensions","width","height","pickerDimensions","widthRatio","heightRatio","right","top","bottom","left","nextValue","callback","resolvedValue","resolvePoint","nextPercentage","parseFloat","toFixed","event","persist","focus","getValueFromPoint","pageX","pageY","shiftKey","onDragStart","onDragEnd","code","includes","preventDefault","next","step","delta","axis","onDrag","point","byTenths","relativePoint","Math","max","min","nextX","nextY","containerNode","getBoundingClientRect","document","body","scrollTop","iconCoordinates","undefined","render","autoPlay","className","help","instanceId","label","classes","id","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Controls from './controls';\nimport FocalPoint from './focal-point';\nimport Grid from './grid';\nimport Media from './media';\nimport {\n\tMediaWrapper,\n\tMediaContainer,\n} from './styles/focal-point-picker-style';\nimport { roundClamp } from '../utils/math';\nimport { INITIAL_BOUNDS } from './utils';\n\nexport class FocalPointPicker extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tisDragging: false,\n\t\t\tbounds: INITIAL_BOUNDS,\n\t\t\tpercentages: props.value,\n\t\t};\n\n\t\tthis.containerRef = createRef();\n\t\tthis.mediaRef = createRef();\n\n\t\tthis.onMouseDown = this.startDrag.bind( this );\n\t\tthis.onMouseUp = this.stopDrag.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onMouseMove = this.doDrag.bind( this );\n\t\tthis.ifDraggingStop = () => {\n\t\t\tif ( this.state.isDragging ) {\n\t\t\t\tthis.stopDrag();\n\t\t\t}\n\t\t};\n\t\tthis.onChangeAtControls = ( value ) => {\n\t\t\tthis.updateValue( value, () => {\n\t\t\t\tthis.props.onChange( this.state.percentages );\n\t\t\t} );\n\t\t};\n\n\t\tthis.updateBounds = this.updateBounds.bind( this );\n\t\tthis.updateValue = this.updateValue.bind( this );\n\t}\n\tcomponentDidMount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.addEventListener( 'resize', this.updateBounds );\n\n\t\t/*\n\t\t * Set initial bound values.\n\t\t *\n\t\t * This is necessary for Safari:\n\t\t * https://github.com/WordPress/gutenberg/issues/25814\n\t\t */\n\t\tthis.updateBounds();\n\t}\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.url !== this.props.url ) {\n\t\t\tthis.ifDraggingStop();\n\t\t}\n\t\t/*\n\t\t * Handles cases where the incoming value changes.\n\t\t * An example is the values resetting based on an UNDO action.\n\t\t */\n\t\tconst {\n\t\t\tisDragging,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\t\tconst { value } = this.props;\n\t\tif ( ! isDragging && ( value.x !== x || value.y !== y ) ) {\n\t\t\tthis.setState( { percentages: this.props.value } );\n\t\t}\n\t}\n\tcomponentWillUnmount() {\n\t\tconst { defaultView } = this.containerRef.current.ownerDocument;\n\t\tdefaultView.removeEventListener( 'resize', this.updateBounds );\n\t\tthis.ifDraggingStop();\n\t}\n\tcalculateBounds() {\n\t\tconst bounds = INITIAL_BOUNDS;\n\n\t\tif ( ! this.mediaRef.current ) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\t// Prevent division by zero when updateBounds runs in componentDidMount\n\t\tif (\n\t\t\tthis.mediaRef.current.clientWidth === 0 ||\n\t\t\tthis.mediaRef.current.clientHeight === 0\n\t\t) {\n\t\t\treturn bounds;\n\t\t}\n\n\t\tconst dimensions = {\n\t\t\twidth: this.mediaRef.current.clientWidth,\n\t\t\theight: this.mediaRef.current.clientHeight,\n\t\t};\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\n\t\tconst widthRatio = pickerDimensions.width / dimensions.width;\n\t\tconst heightRatio = pickerDimensions.height / dimensions.height;\n\n\t\tif ( heightRatio >= widthRatio ) {\n\t\t\tbounds.width = bounds.right = pickerDimensions.width;\n\t\t\tbounds.height = dimensions.height * widthRatio;\n\t\t\tbounds.top = ( pickerDimensions.height - bounds.height ) / 2;\n\t\t\tbounds.bottom = bounds.top + bounds.height;\n\t\t} else {\n\t\t\tbounds.height = bounds.bottom = pickerDimensions.height;\n\t\t\tbounds.width = dimensions.width * heightRatio;\n\t\t\tbounds.left = ( pickerDimensions.width - bounds.width ) / 2;\n\t\t\tbounds.right = bounds.left + bounds.width;\n\t\t}\n\t\treturn bounds;\n\t}\n\tupdateValue( nextValue = {}, callback ) {\n\t\tconst resolvedValue =\n\t\t\tthis.props.resolvePoint?.( nextValue ) ?? nextValue;\n\n\t\tconst { x, y } = resolvedValue;\n\n\t\tconst nextPercentage = {\n\t\t\tx: parseFloat( x ).toFixed( 2 ),\n\t\t\ty: parseFloat( y ).toFixed( 2 ),\n\t\t};\n\n\t\tthis.setState( { percentages: nextPercentage }, callback );\n\t}\n\tupdateBounds() {\n\t\tthis.setState( {\n\t\t\tbounds: this.calculateBounds(),\n\t\t} );\n\t}\n\tstartDrag( event ) {\n\t\tevent.persist();\n\t\tthis.containerRef.current.focus();\n\t\tthis.setState( { isDragging: true } );\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.addEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.addEventListener( 'mousemove', this.onMouseMove );\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDragStart?.( value, event );\n\t}\n\tstopDrag( event ) {\n\t\tconst { ownerDocument } = this.containerRef.current;\n\t\townerDocument.removeEventListener( 'mouseup', this.onMouseUp );\n\t\townerDocument.removeEventListener( 'mousemove', this.onMouseMove );\n\t\tthis.setState( { isDragging: false }, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t\tthis.props.onDragEnd?.( event );\n\t}\n\tonKeyDown( event ) {\n\t\tconst { code, shiftKey } = event;\n\t\tif (\n\t\t\t! [ 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight' ].includes(\n\t\t\t\tcode\n\t\t\t)\n\t\t)\n\t\t\treturn;\n\n\t\tevent.preventDefault();\n\n\t\tconst next = { ...this.state.percentages };\n\t\tconst step = shiftKey ? 0.1 : 0.01;\n\t\tconst delta =\n\t\t\tcode === 'ArrowUp' || code === 'ArrowLeft' ? -1 * step : step;\n\t\tconst axis = code === 'ArrowUp' || code === 'ArrowDown' ? 'y' : 'x';\n\t\tconst value = parseFloat( next[ axis ] ) + delta;\n\n\t\tnext[ axis ] = roundClamp( value, 0, 1, step );\n\n\t\tthis.updateValue( next, () => {\n\t\t\tthis.props.onChange( this.state.percentages );\n\t\t} );\n\t}\n\tdoDrag( event ) {\n\t\t// Prevents text-selection when dragging.\n\t\tevent.preventDefault();\n\t\tconst value = this.getValueFromPoint(\n\t\t\t{ x: event.pageX, y: event.pageY },\n\t\t\tevent.shiftKey\n\t\t);\n\t\tthis.updateValue( value );\n\t\tthis.props.onDrag?.( value, event );\n\t}\n\tgetValueFromPoint( point, byTenths ) {\n\t\tconst { bounds } = this.state;\n\n\t\tconst pickerDimensions = this.pickerDimensions();\n\t\tconst relativePoint = {\n\t\t\tleft: point.x - pickerDimensions.left,\n\t\t\ttop: point.y - pickerDimensions.top,\n\t\t};\n\n\t\tconst left = Math.max(\n\t\t\tbounds.left,\n\t\t\tMath.min( relativePoint.left, bounds.right )\n\t\t);\n\t\tconst top = Math.max(\n\t\t\tbounds.top,\n\t\t\tMath.min( relativePoint.top, bounds.bottom )\n\t\t);\n\n\t\tlet nextX =\n\t\t\t( left - bounds.left ) /\n\t\t\t( pickerDimensions.width - bounds.left * 2 );\n\t\tlet nextY =\n\t\t\t( top - bounds.top ) / ( pickerDimensions.height - bounds.top * 2 );\n\n\t\t// Enables holding shift to jump values by 10%\n\t\tconst step = byTenths ? 0.1 : 0.01;\n\n\t\tnextX = roundClamp( nextX, 0, 1, step );\n\t\tnextY = roundClamp( nextY, 0, 1, step );\n\n\t\treturn { x: nextX, y: nextY };\n\t}\n\tpickerDimensions() {\n\t\tconst containerNode = this.containerRef.current;\n\n\t\tif ( ! containerNode ) {\n\t\t\treturn {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t};\n\t\t}\n\n\t\tconst { clientHeight, clientWidth } = containerNode;\n\t\tconst { top, left } = containerNode.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: clientWidth,\n\t\t\theight: clientHeight,\n\t\t\ttop: top + document.body.scrollTop,\n\t\t\tleft,\n\t\t};\n\t}\n\ticonCoordinates() {\n\t\tconst {\n\t\t\tbounds,\n\t\t\tpercentages: { x, y },\n\t\t} = this.state;\n\n\t\tif ( bounds.left === undefined || bounds.top === undefined ) {\n\t\t\treturn {\n\t\t\t\tleft: '50%',\n\t\t\t\ttop: '50%',\n\t\t\t};\n\t\t}\n\n\t\tconst { width, height } = this.pickerDimensions();\n\t\treturn {\n\t\t\tleft: x * ( width - bounds.left * 2 ) + bounds.left,\n\t\t\ttop: y * ( height - bounds.top * 2 ) + bounds.top,\n\t\t};\n\t}\n\trender() {\n\t\tconst { autoPlay, className, help, instanceId, label, url } =\n\t\t\tthis.props;\n\t\tconst { bounds, isDragging, percentages } = this.state;\n\t\tconst iconCoordinates = this.iconCoordinates();\n\n\t\tconst classes = classnames(\n\t\t\t'components-focal-point-picker-control',\n\t\t\tclassName\n\t\t);\n\n\t\tconst id = `inspector-focal-point-picker-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ classes }\n\t\t\t>\n\t\t\t\t<MediaWrapper className=\"components-focal-point-picker-wrapper\">\n\t\t\t\t\t<MediaContainer\n\t\t\t\t\t\tclassName=\"components-focal-point-picker\"\n\t\t\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\t\t\tonMouseDown={ this.onMouseDown }\n\t\t\t\t\t\tonBlur={ this.ifDraggingStop }\n\t\t\t\t\t\tref={ this.containerRef }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tbounds={ bounds }\n\t\t\t\t\t\t\tvalue={ percentages.x + percentages.y }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Media\n\t\t\t\t\t\t\talt={ __( 'Media preview' ) }\n\t\t\t\t\t\t\tautoPlay={ autoPlay }\n\t\t\t\t\t\t\tmediaRef={ this.mediaRef }\n\t\t\t\t\t\t\tonLoad={ this.updateBounds }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<FocalPoint\n\t\t\t\t\t\t\tcoordinates={ iconCoordinates }\n\t\t\t\t\t\t\tisDragging={ isDragging }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaContainer>\n\t\t\t\t</MediaWrapper>\n\t\t\t\t<Controls\n\t\t\t\t\tpercentages={ percentages }\n\t\t\t\t\tonChange={ this.onChangeAtControls }\n\t\t\t\t/>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nFocalPointPicker.defaultProps = {\n\tautoPlay: true,\n\tvalue: {\n\t\tx: 0.5,\n\t\ty: 0.5,\n\t},\n\turl: null,\n};\n\nexport default withInstanceId( FocalPointPicker );\n"]}
@@ -25,7 +25,7 @@ export const FocalPointWrapper = _styled("div", process.env.NODE_ENV === "produc
25
25
  isDragging
26
26
  } = _ref;
27
27
  return isDragging && 'cursor: grabbing;';
28
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlMkMiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9mb2NhbC1wb2ludC1waWNrZXIvc3R5bGVzL2ZvY2FsLXBvaW50LXN0eWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgUGF0aCwgU1ZHIH0gZnJvbSAnQHdvcmRwcmVzcy9wcmltaXRpdmVzJztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgQ09MT1JTIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgRm9jYWxQb2ludFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y3Vyc29yOiBncmFiO1xuXHRoZWlnaHQ6IDMwcHg7XG5cdG1hcmdpbjogLTE1cHggMCAwIC0xNXB4O1xuXHRvcGFjaXR5OiAwLjg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdpZHRoOiAzMHB4O1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHR6LWluZGV4OiAxMDAwMDtcblxuXHQkeyAoIHsgaXNEcmFnZ2luZyB9ICkgPT4gaXNEcmFnZ2luZyAmJiAnY3Vyc29yOiBncmFiYmluZzsnIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblNWRyA9IHN0eWxlZCggU1ZHIClgXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhPdXRsaW5lID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6IHdoaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBvaW50ZXJJY29uUGF0aEZpbGwgPSBzdHlsZWQoIFBhdGggKWBcblx0ZmlsbDogJHsgQ09MT1JTLmJsdWUud29yZHByZXNzWyA3MDAgXSB9O1xuXHRmaWxsOiAkeyBDT0xPUlMudWkudGhlbWUgfTtcbmA7XG4iXX0= */"));
28
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlMkMiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9mb2NhbC1wb2ludC1waWNrZXIvc3R5bGVzL2ZvY2FsLXBvaW50LXN0eWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgUGF0aCwgU1ZHIH0gZnJvbSAnQHdvcmRwcmVzcy9wcmltaXRpdmVzJztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgQ09MT1JTIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgRm9jYWxQb2ludFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y3Vyc29yOiBncmFiO1xuXHRoZWlnaHQ6IDMwcHg7XG5cdG1hcmdpbjogLTE1cHggMCAwIC0xNXB4O1xuXHRvcGFjaXR5OiAwLjg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdHdpZHRoOiAzMHB4O1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHR6LWluZGV4OiAxMDAwMDtcblxuXHQkeyAoIHsgaXNEcmFnZ2luZyB9ICkgPT4gaXNEcmFnZ2luZyAmJiAnY3Vyc29yOiBncmFiYmluZzsnIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblNWRyA9IHN0eWxlZCggU1ZHIClgXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhPdXRsaW5lID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6IHdoaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBvaW50ZXJJY29uUGF0aEZpbGwgPSBzdHlsZWQoIFBhdGggKWBcblx0ZmlsbDogJHsgQ09MT1JTLnVpLnRoZW1lIH07XG5gO1xuIl19 */"));
29
29
  export const PointerIconSVG = /*#__PURE__*/_styled(SVG, process.env.NODE_ENV === "production" ? {
30
30
  target: "eas61re2"
31
31
  } : {
@@ -37,7 +37,7 @@ export const PointerIconSVG = /*#__PURE__*/_styled(SVG, process.env.NODE_ENV ===
37
37
  } : {
38
38
  name: "qkx60y",
39
39
  styles: "display:block;height:100%;left:0;position:absolute;top:0;width:100%",
40
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QjJDIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFBhdGgsIFNWRyB9IGZyb20gJ0B3b3JkcHJlc3MvcHJpbWl0aXZlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZvY2FsUG9pbnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogZ3JhYjtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcblx0b3BhY2l0eTogMC44O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMzBweDtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0JHsgKCB7IGlzRHJhZ2dpbmcgfSApID0+IGlzRHJhZ2dpbmcgJiYgJ2N1cnNvcjogZ3JhYmJpbmc7JyB9XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25TVkcgPSBzdHlsZWQoIFNWRyApYFxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25QYXRoT3V0bGluZSA9IHN0eWxlZCggUGF0aCApYFxuXHRmaWxsOiB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhGaWxsID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6ICR7IENPTE9SUy5ibHVlLndvcmRwcmVzc1sgNzAwIF0gfTtcblx0ZmlsbDogJHsgQ09MT1JTLnVpLnRoZW1lIH07XG5gO1xuIl19 */",
40
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QjJDIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFBhdGgsIFNWRyB9IGZyb20gJ0B3b3JkcHJlc3MvcHJpbWl0aXZlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZvY2FsUG9pbnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogZ3JhYjtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcblx0b3BhY2l0eTogMC44O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMzBweDtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0JHsgKCB7IGlzRHJhZ2dpbmcgfSApID0+IGlzRHJhZ2dpbmcgJiYgJ2N1cnNvcjogZ3JhYmJpbmc7JyB9XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25TVkcgPSBzdHlsZWQoIFNWRyApYFxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25QYXRoT3V0bGluZSA9IHN0eWxlZCggUGF0aCApYFxuXHRmaWxsOiB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhGaWxsID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6ICR7IENPTE9SUy51aS50aGVtZSB9O1xuYDtcbiJdfQ== */",
41
41
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
42
42
  });
43
43
  export const PointerIconPathOutline = /*#__PURE__*/_styled(Path, process.env.NODE_ENV === "production" ? {
@@ -51,7 +51,7 @@ export const PointerIconPathOutline = /*#__PURE__*/_styled(Path, process.env.NOD
51
51
  } : {
52
52
  name: "1b3qpiw",
53
53
  styles: "fill:white",
54
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q29EIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFBhdGgsIFNWRyB9IGZyb20gJ0B3b3JkcHJlc3MvcHJpbWl0aXZlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZvY2FsUG9pbnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogZ3JhYjtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcblx0b3BhY2l0eTogMC44O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMzBweDtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0JHsgKCB7IGlzRHJhZ2dpbmcgfSApID0+IGlzRHJhZ2dpbmcgJiYgJ2N1cnNvcjogZ3JhYmJpbmc7JyB9XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25TVkcgPSBzdHlsZWQoIFNWRyApYFxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25QYXRoT3V0bGluZSA9IHN0eWxlZCggUGF0aCApYFxuXHRmaWxsOiB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhGaWxsID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6ICR7IENPTE9SUy5ibHVlLndvcmRwcmVzc1sgNzAwIF0gfTtcblx0ZmlsbDogJHsgQ09MT1JTLnVpLnRoZW1lIH07XG5gO1xuIl19 */",
54
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q29EIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFBhdGgsIFNWRyB9IGZyb20gJ0B3b3JkcHJlc3MvcHJpbWl0aXZlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZvY2FsUG9pbnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogZ3JhYjtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcblx0b3BhY2l0eTogMC44O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMzBweDtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0JHsgKCB7IGlzRHJhZ2dpbmcgfSApID0+IGlzRHJhZ2dpbmcgJiYgJ2N1cnNvcjogZ3JhYmJpbmc7JyB9XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25TVkcgPSBzdHlsZWQoIFNWRyApYFxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25QYXRoT3V0bGluZSA9IHN0eWxlZCggUGF0aCApYFxuXHRmaWxsOiB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhGaWxsID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6ICR7IENPTE9SUy51aS50aGVtZSB9O1xuYDtcbiJdfQ== */",
55
55
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
56
56
  });
57
57
  export const PointerIconPathFill = /*#__PURE__*/_styled(Path, process.env.NODE_ENV === "production" ? {
@@ -59,5 +59,5 @@ export const PointerIconPathFill = /*#__PURE__*/_styled(Path, process.env.NODE_E
59
59
  } : {
60
60
  target: "eas61re0",
61
61
  label: "PointerIconPathFill"
62
- })("fill:", COLORS.blue.wordpress[700], ";fill:", COLORS.ui.theme, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQ2lEIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFBhdGgsIFNWRyB9IGZyb20gJ0B3b3JkcHJlc3MvcHJpbWl0aXZlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZvY2FsUG9pbnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogZ3JhYjtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcblx0b3BhY2l0eTogMC44O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMzBweDtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0JHsgKCB7IGlzRHJhZ2dpbmcgfSApID0+IGlzRHJhZ2dpbmcgJiYgJ2N1cnNvcjogZ3JhYmJpbmc7JyB9XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25TVkcgPSBzdHlsZWQoIFNWRyApYFxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25QYXRoT3V0bGluZSA9IHN0eWxlZCggUGF0aCApYFxuXHRmaWxsOiB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhGaWxsID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6ICR7IENPTE9SUy5ibHVlLndvcmRwcmVzc1sgNzAwIF0gfTtcblx0ZmlsbDogJHsgQ09MT1JTLnVpLnRoZW1lIH07XG5gO1xuIl19 */"));
62
+ })("fill:", COLORS.ui.theme, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQ2lEIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvZm9jYWwtcG9pbnQtcGlja2VyL3N0eWxlcy9mb2NhbC1wb2ludC1zdHlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFBhdGgsIFNWRyB9IGZyb20gJ0B3b3JkcHJlc3MvcHJpbWl0aXZlcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZvY2FsUG9pbnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGN1cnNvcjogZ3JhYjtcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcblx0b3BhY2l0eTogMC44O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHR3aWR0aDogMzBweDtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0JHsgKCB7IGlzRHJhZ2dpbmcgfSApID0+IGlzRHJhZ2dpbmcgJiYgJ2N1cnNvcjogZ3JhYmJpbmc7JyB9XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25TVkcgPSBzdHlsZWQoIFNWRyApYFxuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRlckljb25QYXRoT3V0bGluZSA9IHN0eWxlZCggUGF0aCApYFxuXHRmaWxsOiB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQb2ludGVySWNvblBhdGhGaWxsID0gc3R5bGVkKCBQYXRoIClgXG5cdGZpbGw6ICR7IENPTE9SUy51aS50aGVtZSB9O1xuYDtcbiJdfQ== */"));
63
63
  //# sourceMappingURL=focal-point-style.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/focal-point-picker/styles/focal-point-style.js"],"names":["Path","SVG","COLORS","FocalPointWrapper","isDragging","PointerIconSVG","PointerIconPathOutline","PointerIconPathFill","blue","wordpress","ui","theme"],"mappings":";;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,GAAf,QAA0B,uBAA1B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,aAAvB;AAEA,OAAO,MAAMC,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,iLAY1B;AAAA,MAAE;AAAEC,IAAAA;AAAF,GAAF;AAAA,SAAsBA,UAAU,IAAI,mBAApC;AAAA,CAZ0B,6pDAAvB;AAeP,OAAO,MAAMC,cAAc,GAAG,qBAAQJ,GAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAApB;AASP,OAAO,MAAMK,sBAAsB,GAAG,qBAAQN,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA5B;AAIP,OAAO,MAAMO,mBAAmB,GAAG,qBAAQP,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,UACtBE,MAAM,CAACM,IAAP,CAAYC,SAAZ,CAAuB,GAAvB,CADsB,YAEtBP,MAAM,CAACQ,EAAP,CAAUC,KAFY,6pDAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { COLORS } from '../../utils';\n\nexport const FocalPointWrapper = styled.div`\n\tbackground-color: transparent;\n\tcursor: grab;\n\theight: 30px;\n\tmargin: -15px 0 0 -15px;\n\topacity: 0.8;\n\tposition: absolute;\n\tuser-select: none;\n\twidth: 30px;\n\twill-change: transform;\n\tz-index: 10000;\n\n\t${ ( { isDragging } ) => isDragging && 'cursor: grabbing;' }\n`;\n\nexport const PointerIconSVG = styled( SVG )`\n\tdisplay: block;\n\theight: 100%;\n\tleft: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n`;\n\nexport const PointerIconPathOutline = styled( Path )`\n\tfill: white;\n`;\n\nexport const PointerIconPathFill = styled( Path )`\n\tfill: ${ COLORS.blue.wordpress[ 700 ] };\n\tfill: ${ COLORS.ui.theme };\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/focal-point-picker/styles/focal-point-style.js"],"names":["Path","SVG","COLORS","FocalPointWrapper","isDragging","PointerIconSVG","PointerIconPathOutline","PointerIconPathFill","ui","theme"],"mappings":";;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,GAAf,QAA0B,uBAA1B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,aAAvB;AAEA,OAAO,MAAMC,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,iLAY1B;AAAA,MAAE;AAAEC,IAAAA;AAAF,GAAF;AAAA,SAAsBA,UAAU,IAAI,mBAApC;AAAA,CAZ0B,imDAAvB;AAeP,OAAO,MAAMC,cAAc,GAAG,qBAAQJ,GAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAApB;AASP,OAAO,MAAMK,sBAAsB,GAAG,qBAAQN,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA5B;AAIP,OAAO,MAAMO,mBAAmB,GAAG,qBAAQP,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,UACtBE,MAAM,CAACM,EAAP,CAAUC,KADY,qmDAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { COLORS } from '../../utils';\n\nexport const FocalPointWrapper = styled.div`\n\tbackground-color: transparent;\n\tcursor: grab;\n\theight: 30px;\n\tmargin: -15px 0 0 -15px;\n\topacity: 0.8;\n\tposition: absolute;\n\tuser-select: none;\n\twidth: 30px;\n\twill-change: transform;\n\tz-index: 10000;\n\n\t${ ( { isDragging } ) => isDragging && 'cursor: grabbing;' }\n`;\n\nexport const PointerIconSVG = styled( SVG )`\n\tdisplay: block;\n\theight: 100%;\n\tleft: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n`;\n\nexport const PointerIconPathOutline = styled( Path )`\n\tfill: white;\n`;\n\nexport const PointerIconPathFill = styled( Path )`\n\tfill: ${ COLORS.ui.theme };\n`;\n"]}
@@ -1,9 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { createElement } from "@wordpress/element";
3
3
 
4
+ /**
5
+ * External dependencies
6
+ */
7
+ import classNames from 'classnames';
4
8
  /**
5
9
  * WordPress dependencies
6
10
  */
11
+
7
12
  import { __, sprintf } from '@wordpress/i18n';
8
13
  import { settings } from '@wordpress/icons';
9
14
  import { useState, useMemo, forwardRef } from '@wordpress/element';
@@ -20,11 +25,26 @@ import CustomSelectControl from '../custom-select-control';
20
25
  import { VisuallyHidden } from '../visually-hidden';
21
26
  import { ToggleGroupControl, ToggleGroupControlOption } from '../toggle-group-control';
22
27
  import { getFontSizeOptions, getSelectedOption, splitValueAndUnitFromSize, isSimpleCssValue, CUSTOM_FONT_SIZE } from './utils';
28
+ import { VStack } from '../v-stack';
29
+ import { HStack } from '../h-stack'; // This conditional is needed to maintain the spacing before the slider in the `withSlider` case.
23
30
 
24
- function FontSizePicker(_ref, ref) {
31
+ const MaybeVStack = _ref => {
32
+ let {
33
+ __nextHasNoMarginBottom,
34
+ children
35
+ } = _ref;
36
+ return !__nextHasNoMarginBottom ? children : createElement(VStack, {
37
+ spacing: 6,
38
+ children: children
39
+ });
40
+ };
41
+
42
+ function FontSizePicker(_ref2, ref) {
25
43
  var _fontSizes$, _value$endsWith;
26
44
 
27
45
  let {
46
+ /** Start opting into the new margin-free styles that will become the default in a future version. */
47
+ __nextHasNoMarginBottom = false,
28
48
  fallbackFontSize,
29
49
  fontSizes = [],
30
50
  disableCustomFontSizes = false,
@@ -35,7 +55,7 @@ function FontSizePicker(_ref, ref) {
35
55
  value,
36
56
  withSlider = false,
37
57
  withReset = true
38
- } = _ref;
58
+ } = _ref2;
39
59
  const hasUnits = [typeof value, typeof (fontSizes === null || fontSizes === void 0 ? void 0 : (_fontSizes$ = fontSizes[0]) === null || _fontSizes$ === void 0 ? void 0 : _fontSizes$.size)].includes('string');
40
60
  const noUnitsValue = !hasUnits ? value : parseInt(value);
41
61
  const isPixelValue = typeof value === 'number' || (value === null || value === void 0 ? void 0 : (_value$endsWith = value.endsWith) === null || _value$endsWith === void 0 ? void 0 : _value$endsWith.call(value, 'px'));
@@ -47,14 +67,14 @@ function FontSizePicker(_ref, ref) {
47
67
  * than six and a select control when they are more.
48
68
  */
49
69
 
50
- const fontSizesContainComplexValues = fontSizes.some(_ref2 => {
70
+ const fontSizesContainComplexValues = fontSizes.some(_ref3 => {
51
71
  let {
52
72
  size: sizeArg
53
- } = _ref2;
73
+ } = _ref3;
54
74
  return !isSimpleCssValue(sizeArg);
55
75
  });
56
76
  const shouldUseSelectControl = fontSizes.length > 5;
57
- const options = useMemo(() => getFontSizeOptions(shouldUseSelectControl, fontSizes, disableCustomFontSizes, fontSizesContainComplexValues), [shouldUseSelectControl, fontSizes, disableCustomFontSizes, fontSizesContainComplexValues]);
77
+ const options = useMemo(() => getFontSizeOptions(shouldUseSelectControl, fontSizes, disableCustomFontSizes), [shouldUseSelectControl, fontSizes, disableCustomFontSizes]);
58
78
  const selectedOption = getSelectedOption(fontSizes, value);
59
79
  const isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;
60
80
  const [showCustomValueControl, setShowCustomValueControl] = useState(!disableCustomFontSizes && isCustomValue);
@@ -99,12 +119,11 @@ function FontSizePicker(_ref, ref) {
99
119
  ref
100
120
  }), createElement(VisuallyHidden, {
101
121
  as: "legend"
102
- }, __('Font size')), createElement(Flex, {
103
- justify: "space-between",
122
+ }, __('Font size')), createElement(HStack, {
104
123
  className: `${baseClassName}__header`
105
- }, createElement(FlexItem, null, createElement(BaseControl.VisualLabel, null, __('Size'), headerHint && createElement("span", {
124
+ }, createElement(BaseControl.VisualLabel, null, __('Size'), headerHint && createElement("span", {
106
125
  className: `${baseClassName}__header__hint`
107
- }, headerHint))), !disableCustomFontSizes && createElement(FlexItem, null, createElement(Button, {
126
+ }, headerHint)), !disableCustomFontSizes && createElement(Button, {
108
127
  label: showCustomValueControl ? __('Use size preset') : __('Set custom size'),
109
128
  icon: settings,
110
129
  onClick: () => {
@@ -112,8 +131,12 @@ function FontSizePicker(_ref, ref) {
112
131
  },
113
132
  isPressed: showCustomValueControl,
114
133
  isSmall: true
115
- }))), createElement("div", {
116
- className: `${baseClassName}__controls`
134
+ })), createElement(MaybeVStack, {
135
+ __nextHasNoMarginBottom: __nextHasNoMarginBottom
136
+ }, createElement("div", {
137
+ className: classNames(`${baseClassName}__controls`, {
138
+ 'is-next-has-no-margin-bottom': __nextHasNoMarginBottom
139
+ })
117
140
  }, !!fontSizes.length && shouldUseSelectControl && !showCustomValueControl && createElement(CustomSelectControl, {
118
141
  __nextUnconstrainedWidth: true,
119
142
  className: `${baseClassName}__select`,
@@ -122,10 +145,10 @@ function FontSizePicker(_ref, ref) {
122
145
  describedBy: currentFontSizeSR,
123
146
  options: options,
124
147
  value: options.find(option => option.key === selectedOption.slug),
125
- onChange: _ref3 => {
148
+ onChange: _ref4 => {
126
149
  let {
127
150
  selectedItem
128
- } = _ref3;
151
+ } = _ref4;
129
152
  onChange(hasUnits ? selectedItem.size : Number(selectedItem.size));
130
153
 
131
154
  if (selectedItem.key === CUSTOM_FONT_SIZE) {
@@ -134,6 +157,7 @@ function FontSizePicker(_ref, ref) {
134
157
  },
135
158
  size: size
136
159
  }), !shouldUseSelectControl && !showCustomValueControl && createElement(ToggleGroupControl, {
160
+ __nextHasNoMarginBottom: __nextHasNoMarginBottom,
137
161
  label: __('Font size'),
138
162
  hideLabelFromVision: true,
139
163
  value: value,
@@ -178,6 +202,7 @@ function FontSizePicker(_ref, ref) {
178
202
  isSmall: true,
179
203
  variant: "secondary"
180
204
  }, __('Reset'))))), withSlider && createElement(RangeControl, {
205
+ __nextHasNoMarginBottom: __nextHasNoMarginBottom,
181
206
  className: `${baseClassName}__custom-input`,
182
207
  label: __('Custom Size'),
183
208
  value: isPixelValue && noUnitsValue || '',
@@ -187,7 +212,7 @@ function FontSizePicker(_ref, ref) {
187
212
  },
188
213
  min: 12,
189
214
  max: 100
190
- }));
215
+ })));
191
216
  }
192
217
 
193
218
  export default forwardRef(FontSizePicker);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["__","sprintf","settings","useState","useMemo","forwardRef","BaseControl","Button","RangeControl","Flex","FlexItem","default","UnitControl","useCustomUnits","CustomSelectControl","VisuallyHidden","ToggleGroupControl","ToggleGroupControlOption","getFontSizeOptions","getSelectedOption","splitValueAndUnitFromSize","isSimpleCssValue","CUSTOM_FONT_SIZE","FontSizePicker","ref","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","size","value","withSlider","withReset","hasUnits","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","fontSizesContainComplexValues","some","sizeArg","shouldUseSelectControl","length","options","selectedOption","isCustomValue","slug","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { BaseControl } from '../base-control';\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\t/** @type {'default' | '__unstable-large'} */\n\t\tsize = 'default',\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t/**\n\t * The main font size UI displays a toggle group when the presets are less\n\t * than six and a select control when they are more.\n\t */\n\tconst fontSizesContainComplexValues = fontSizes.some(\n\t\t( { size: sizeArg } ) => ! isSimpleCssValue( sizeArg )\n\t);\n\tconst shouldUseSelectControl = fontSizes.length > 5;\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes,\n\t\t\t\tfontSizesContainComplexValues\n\t\t\t),\n\t\t[\n\t\t\tshouldUseSelectControl,\n\t\t\tfontSizes,\n\t\t\tdisableCustomFontSizes,\n\t\t\tfontSizesContainComplexValues,\n\t\t]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif (\n\t\t\t! fontSizesContainComplexValues &&\n\t\t\ttypeof selectedOption.size === 'string'\n\t\t) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [\n\t\tshowCustomValueControl,\n\t\tselectedOption?.name,\n\t\tselectedOption?.size,\n\t\tvalue,\n\t\tisCustomValue,\n\t\tshouldUseSelectControl,\n\t\tfontSizesContainComplexValues,\n\t] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<Flex\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName={ `${ baseClassName }__header` }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={ `${ baseClassName }__header__hint` }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t<div className={ `${ baseClassName }__controls` }>\n\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__nextUnconstrainedWidth\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t( option ) => option.key === selectedOption.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( selectedItem.key === CUSTOM_FONT_SIZE ) {\n\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : [] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t{ withReset && (\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["classNames","__","sprintf","settings","useState","useMemo","forwardRef","BaseControl","Button","RangeControl","Flex","FlexItem","default","UnitControl","useCustomUnits","CustomSelectControl","VisuallyHidden","ToggleGroupControl","ToggleGroupControlOption","getFontSizeOptions","getSelectedOption","splitValueAndUnitFromSize","isSimpleCssValue","CUSTOM_FONT_SIZE","VStack","HStack","MaybeVStack","__nextHasNoMarginBottom","children","FontSizePicker","ref","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","size","value","withSlider","withReset","hasUnits","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","fontSizesContainComplexValues","some","sizeArg","shouldUseSelectControl","length","options","selectedOption","isCustomValue","slug","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { BaseControl } from '../base-control';\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\nimport { VStack } from '../v-stack';\nimport { HStack } from '../h-stack';\n\n// This conditional is needed to maintain the spacing before the slider in the `withSlider` case.\nconst MaybeVStack = ( { __nextHasNoMarginBottom, children } ) =>\n\t! __nextHasNoMarginBottom ? (\n\t\tchildren\n\t) : (\n\t\t<VStack spacing={ 6 } children={ children } />\n\t);\n\nfunction FontSizePicker(\n\t{\n\t\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t\t__nextHasNoMarginBottom = false,\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\t/** @type {'default' | '__unstable-large'} */\n\t\tsize = 'default',\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t/**\n\t * The main font size UI displays a toggle group when the presets are less\n\t * than six and a select control when they are more.\n\t */\n\tconst fontSizesContainComplexValues = fontSizes.some(\n\t\t( { size: sizeArg } ) => ! isSimpleCssValue( sizeArg )\n\t);\n\tconst shouldUseSelectControl = fontSizes.length > 5;\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes\n\t\t\t),\n\t\t[ shouldUseSelectControl, fontSizes, disableCustomFontSizes ]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif (\n\t\t\t! fontSizesContainComplexValues &&\n\t\t\ttypeof selectedOption.size === 'string'\n\t\t) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [\n\t\tshowCustomValueControl,\n\t\tselectedOption?.name,\n\t\tselectedOption?.size,\n\t\tvalue,\n\t\tisCustomValue,\n\t\tshouldUseSelectControl,\n\t\tfontSizesContainComplexValues,\n\t] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<HStack className={ `${ baseClassName }__header` }>\n\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t<span className={ `${ baseClassName }__header__hint` }>\n\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t<MaybeVStack __nextHasNoMarginBottom={ __nextHasNoMarginBottom }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classNames( `${ baseClassName }__controls`, {\n\t\t\t\t\t\t'is-next-has-no-margin-bottom': __nextHasNoMarginBottom,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t\t__nextUnconstrainedWidth\n\t\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t\t( option ) =>\n\t\t\t\t\t\t\t\t\t\toption.key === selectedOption.slug\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tselectedItem.key === CUSTOM_FONT_SIZE\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextSize,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : [] }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t{ withReset && (\n\t\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ withSlider && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin={ 12 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</MaybeVStack>\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}