@wordpress/components 19.2.1-next.33ec3857e2.0 → 19.4.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 (748) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/LICENSE.md +1 -1
  4. package/README.md +8 -4
  5. package/build/base-control/index.js +2 -3
  6. package/build/base-control/index.js.map +1 -1
  7. package/build/base-control/styles/base-control-styles.js +23 -13
  8. package/build/base-control/styles/base-control-styles.js.map +1 -1
  9. package/build/base-field/hook.js +1 -1
  10. package/build/base-field/hook.js.map +1 -1
  11. package/build/box-control/styles/box-control-styles.js +9 -9
  12. package/build/box-control/styles/box-control-styles.js.map +1 -1
  13. package/build/button/deprecated.js +2 -1
  14. package/build/button/deprecated.js.map +1 -1
  15. package/build/button/index.js +2 -1
  16. package/build/button/index.js.map +1 -1
  17. package/build/card/card/component.js +1 -1
  18. package/build/card/card/component.js.map +1 -1
  19. package/build/card/card/hook.js +1 -1
  20. package/build/card/card/hook.js.map +1 -1
  21. package/build/card/card-body/hook.js +1 -1
  22. package/build/card/card-body/hook.js.map +1 -1
  23. package/build/card/card-divider/hook.js +1 -1
  24. package/build/card/card-divider/hook.js.map +1 -1
  25. package/build/card/card-footer/hook.js +1 -1
  26. package/build/card/card-footer/hook.js.map +1 -1
  27. package/build/card/card-header/hook.js +1 -1
  28. package/build/card/card-header/hook.js.map +1 -1
  29. package/build/card/card-media/hook.js +1 -1
  30. package/build/card/card-media/hook.js.map +1 -1
  31. package/build/circular-option-picker/index.js +2 -0
  32. package/build/circular-option-picker/index.js.map +1 -1
  33. package/build/color-indicator/index.js +2 -0
  34. package/build/color-indicator/index.js.map +1 -1
  35. package/build/color-palette/index.js +4 -7
  36. package/build/color-palette/index.js.map +1 -1
  37. package/build/color-palette/index.native.js +4 -2
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-picker/color-display.js.map +1 -1
  40. package/build/color-picker/color-input.js.map +1 -1
  41. package/build/color-picker/component.js +2 -5
  42. package/build/color-picker/component.js.map +1 -1
  43. package/build/color-picker/use-deprecated-props.js +2 -0
  44. package/build/color-picker/use-deprecated-props.js.map +1 -1
  45. package/build/confirm-dialog/component.js +10 -6
  46. package/build/confirm-dialog/component.js.map +1 -1
  47. package/build/confirm-dialog/styles.js +30 -0
  48. package/build/confirm-dialog/styles.js.map +1 -0
  49. package/build/custom-gradient-bar/control-points.js +1 -2
  50. package/build/custom-gradient-bar/control-points.js.map +1 -1
  51. package/build/custom-select-control/index.js +10 -2
  52. package/build/custom-select-control/index.js.map +1 -1
  53. package/build/date-time/time.js +1 -1
  54. package/build/date-time/time.js.map +1 -1
  55. package/build/divider/component.js.map +1 -1
  56. package/build/dropdown/index.js +3 -3
  57. package/build/dropdown/index.js.map +1 -1
  58. package/build/elevation/hook.js +5 -5
  59. package/build/elevation/hook.js.map +1 -1
  60. package/build/external-link/styles/external-link-styles.js +5 -5
  61. package/build/external-link/styles/external-link-styles.js.map +1 -1
  62. package/build/flex/flex/hook.js +4 -4
  63. package/build/flex/flex/hook.js.map +1 -1
  64. package/build/form-token-field/suggestions-list.js +75 -81
  65. package/build/form-token-field/suggestions-list.js.map +1 -1
  66. package/build/grid/hook.js +2 -2
  67. package/build/grid/hook.js.map +1 -1
  68. package/build/heading/component.js +0 -1
  69. package/build/heading/component.js.map +1 -1
  70. package/build/icon/index.js +0 -1
  71. package/build/icon/index.js.map +1 -1
  72. package/build/input-control/index.js.map +1 -1
  73. package/build/input-control/input-base.js +0 -1
  74. package/build/input-control/input-base.js.map +1 -1
  75. package/build/input-control/input-field.js.map +1 -1
  76. package/build/input-control/reducer/actions.js +0 -1
  77. package/build/input-control/reducer/actions.js.map +1 -1
  78. package/build/input-control/reducer/reducer.js.map +1 -1
  79. package/build/input-control/reducer/state.js +0 -1
  80. package/build/input-control/reducer/state.js.map +1 -1
  81. package/build/input-control/styles/input-control-styles.js +32 -30
  82. package/build/input-control/styles/input-control-styles.js.map +1 -1
  83. package/build/item-group/item/component.js +0 -1
  84. package/build/item-group/item/component.js.map +1 -1
  85. package/build/item-group/item/hook.js +1 -2
  86. package/build/item-group/item/hook.js.map +1 -1
  87. package/build/item-group/item-group/component.js +0 -1
  88. package/build/item-group/item-group/component.js.map +1 -1
  89. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +3 -1
  90. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  91. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +4 -12
  92. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  93. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +23 -5
  94. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  95. package/build/mobile/bottom-sheet/cell.native.js +3 -5
  96. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  97. package/build/mobile/bottom-sheet/index.native.js +16 -16
  98. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  99. package/build/mobile/bottom-sheet/range-text-input.native.js +2 -3
  100. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  101. package/build/mobile/color-settings/index.native.js +2 -0
  102. package/build/mobile/color-settings/index.native.js.map +1 -1
  103. package/build/mobile/color-settings/palette.screen.native.js +5 -0
  104. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  105. package/build/mobile/color-settings/utils.native.js +9 -3
  106. package/build/mobile/color-settings/utils.native.js.map +1 -1
  107. package/build/mobile/keyboard-avoiding-view/index.ios.js +6 -8
  108. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  109. package/build/mobile/link-picker/index.native.js +3 -1
  110. package/build/mobile/link-picker/index.native.js.map +1 -1
  111. package/build/mobile/link-picker/link-picker-screen.native.js +18 -5
  112. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  113. package/build/mobile/link-settings/index.native.js +3 -1
  114. package/build/mobile/link-settings/index.native.js.map +1 -1
  115. package/build/mobile/readable-content-view/index.native.js +2 -2
  116. package/build/mobile/readable-content-view/index.native.js.map +1 -1
  117. package/build/mobile/utils/use-is-floating-keyboard.native.js +2 -2
  118. package/build/mobile/utils/use-is-floating-keyboard.native.js.map +1 -1
  119. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +7 -3
  120. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  121. package/build/modal/index.js +1 -12
  122. package/build/modal/index.js.map +1 -1
  123. package/build/navigator/context.js +5 -1
  124. package/build/navigator/context.js.map +1 -1
  125. package/build/navigator/navigator-provider/component.js +42 -22
  126. package/build/navigator/navigator-provider/component.js.map +1 -1
  127. package/build/navigator/navigator-screen/component.js +57 -29
  128. package/build/navigator/navigator-screen/component.js.map +1 -1
  129. package/build/navigator/use-navigator.js +8 -8
  130. package/build/navigator/use-navigator.js.map +1 -1
  131. package/build/notice/index.native.js +2 -2
  132. package/build/notice/index.native.js.map +1 -1
  133. package/build/palette-edit/index.js +39 -30
  134. package/build/palette-edit/index.js.map +1 -1
  135. package/build/palette-edit/styles.js +11 -13
  136. package/build/palette-edit/styles.js.map +1 -1
  137. package/build/placeholder/index.js +4 -4
  138. package/build/placeholder/index.js.map +1 -1
  139. package/build/range-control/styles/range-control-styles.js +29 -29
  140. package/build/range-control/styles/range-control-styles.js.map +1 -1
  141. package/build/resizable-box/index.js.map +1 -1
  142. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  143. package/build/resizable-box/resize-tooltip/label.js +0 -1
  144. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  145. package/build/sandbox/index.native.js +5 -5
  146. package/build/sandbox/index.native.js.map +1 -1
  147. package/build/scrollable/hook.js +1 -1
  148. package/build/scrollable/hook.js.map +1 -1
  149. package/build/select-control/index.js.map +1 -1
  150. package/build/slot-fill/bubbles-virtually/fill.js +11 -2
  151. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  152. package/build/spacer/component.js +0 -1
  153. package/build/spacer/component.js.map +1 -1
  154. package/build/spinner/index.js +44 -5
  155. package/build/spinner/index.js.map +1 -1
  156. package/build/spinner/index.native.js +4 -2
  157. package/build/spinner/index.native.js.map +1 -1
  158. package/build/spinner/styles.js +56 -0
  159. package/build/spinner/styles.js.map +1 -0
  160. package/build/surface/hook.js +1 -1
  161. package/build/surface/hook.js.map +1 -1
  162. package/build/text/get-line-height.js +0 -1
  163. package/build/text/get-line-height.js.map +1 -1
  164. package/build/text/hook.js +5 -5
  165. package/build/text/hook.js.map +1 -1
  166. package/build/tip/index.js +4 -8
  167. package/build/tip/index.js.map +1 -1
  168. package/build/toggle-group-control/toggle-group-control/component.js +2 -12
  169. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  170. package/build/toggle-group-control/toggle-group-control/styles.js +3 -14
  171. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  172. package/build/toggle-group-control/toggle-group-control-option/component.js +0 -1
  173. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  174. package/build/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  175. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  176. package/build/tools-panel/styles.js +10 -10
  177. package/build/tools-panel/styles.js.map +1 -1
  178. package/build/tools-panel/tools-panel/component.js +0 -1
  179. package/build/tools-panel/tools-panel/component.js.map +1 -1
  180. package/build/tools-panel/tools-panel/hook.js +51 -44
  181. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  182. package/build/tools-panel/tools-panel-header/component.js +0 -1
  183. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  184. package/build/tools-panel/tools-panel-header/hook.js +3 -3
  185. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  186. package/build/tools-panel/tools-panel-item/component.js +0 -1
  187. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  188. package/build/tools-panel/tools-panel-item/hook.js +17 -9
  189. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  190. package/build/tree-grid/index.js +19 -10
  191. package/build/tree-grid/index.js.map +1 -1
  192. package/build/truncate/hook.js +2 -2
  193. package/build/truncate/hook.js.map +1 -1
  194. package/build/ui/shortcut/component.js +0 -1
  195. package/build/ui/shortcut/component.js.map +1 -1
  196. package/build/ui/utils/font-size.js +0 -1
  197. package/build/ui/utils/font-size.js.map +1 -1
  198. package/build/ui/utils/get-valid-children.js +0 -1
  199. package/build/ui/utils/get-valid-children.js.map +1 -1
  200. package/build/unit-control/index.js +0 -1
  201. package/build/unit-control/index.js.map +1 -1
  202. package/build/unit-control/unit-select-control.js.map +1 -1
  203. package/build/utils/colors-values.js +6 -3
  204. package/build/utils/colors-values.js.map +1 -1
  205. package/build/utils/config-values.js +1 -4
  206. package/build/utils/config-values.js.map +1 -1
  207. package/build/utils/hooks/use-combined-ref.js.map +1 -1
  208. package/build/utils/hooks/use-latest-ref.js +0 -1
  209. package/build/utils/hooks/use-latest-ref.js.map +1 -1
  210. package/build/z-stack/component.js +0 -1
  211. package/build/z-stack/component.js.map +1 -1
  212. package/build-module/base-control/index.js +3 -4
  213. package/build-module/base-control/index.js.map +1 -1
  214. package/build-module/base-control/styles/base-control-styles.js +20 -12
  215. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  216. package/build-module/base-field/hook.js +1 -1
  217. package/build-module/base-field/hook.js.map +1 -1
  218. package/build-module/box-control/styles/box-control-styles.js +9 -9
  219. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  220. package/build-module/button/deprecated.js +2 -1
  221. package/build-module/button/deprecated.js.map +1 -1
  222. package/build-module/button/index.js +2 -1
  223. package/build-module/button/index.js.map +1 -1
  224. package/build-module/card/card/component.js +1 -1
  225. package/build-module/card/card/component.js.map +1 -1
  226. package/build-module/card/card/hook.js +1 -1
  227. package/build-module/card/card/hook.js.map +1 -1
  228. package/build-module/card/card-body/hook.js +1 -1
  229. package/build-module/card/card-body/hook.js.map +1 -1
  230. package/build-module/card/card-divider/hook.js +1 -1
  231. package/build-module/card/card-divider/hook.js.map +1 -1
  232. package/build-module/card/card-footer/hook.js +1 -1
  233. package/build-module/card/card-footer/hook.js.map +1 -1
  234. package/build-module/card/card-header/hook.js +1 -1
  235. package/build-module/card/card-header/hook.js.map +1 -1
  236. package/build-module/card/card-media/hook.js +1 -1
  237. package/build-module/card/card-media/hook.js.map +1 -1
  238. package/build-module/circular-option-picker/index.js +1 -0
  239. package/build-module/circular-option-picker/index.js.map +1 -1
  240. package/build-module/color-indicator/index.js +1 -0
  241. package/build-module/color-indicator/index.js.map +1 -1
  242. package/build-module/color-palette/index.js +4 -8
  243. package/build-module/color-palette/index.js.map +1 -1
  244. package/build-module/color-palette/index.native.js +4 -2
  245. package/build-module/color-palette/index.native.js.map +1 -1
  246. package/build-module/color-picker/color-display.js.map +1 -1
  247. package/build-module/color-picker/color-input.js.map +1 -1
  248. package/build-module/color-picker/component.js +2 -4
  249. package/build-module/color-picker/component.js.map +1 -1
  250. package/build-module/color-picker/use-deprecated-props.js +3 -2
  251. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  252. package/build-module/confirm-dialog/component.js +6 -3
  253. package/build-module/confirm-dialog/component.js.map +1 -1
  254. package/build-module/confirm-dialog/styles.js +25 -0
  255. package/build-module/confirm-dialog/styles.js.map +1 -0
  256. package/build-module/custom-gradient-bar/control-points.js +2 -3
  257. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  258. package/build-module/custom-select-control/index.js +11 -2
  259. package/build-module/custom-select-control/index.js.map +1 -1
  260. package/build-module/date-time/time.js +1 -1
  261. package/build-module/date-time/time.js.map +1 -1
  262. package/build-module/divider/component.js +1 -1
  263. package/build-module/divider/component.js.map +1 -1
  264. package/build-module/dropdown/index.js +3 -3
  265. package/build-module/dropdown/index.js.map +1 -1
  266. package/build-module/elevation/hook.js +5 -5
  267. package/build-module/elevation/hook.js.map +1 -1
  268. package/build-module/external-link/styles/external-link-styles.js +5 -5
  269. package/build-module/external-link/styles/external-link-styles.js.map +1 -1
  270. package/build-module/flex/flex/hook.js +4 -4
  271. package/build-module/flex/flex/hook.js.map +1 -1
  272. package/build-module/form-token-field/suggestions-list.js +73 -79
  273. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  274. package/build-module/grid/hook.js +2 -2
  275. package/build-module/grid/hook.js.map +1 -1
  276. package/build-module/heading/component.js +0 -1
  277. package/build-module/heading/component.js.map +1 -1
  278. package/build-module/icon/index.js +0 -1
  279. package/build-module/icon/index.js.map +1 -1
  280. package/build-module/input-control/index.js +1 -1
  281. package/build-module/input-control/index.js.map +1 -1
  282. package/build-module/input-control/input-base.js +0 -1
  283. package/build-module/input-control/input-base.js.map +1 -1
  284. package/build-module/input-control/input-field.js +1 -1
  285. package/build-module/input-control/input-field.js.map +1 -1
  286. package/build-module/input-control/reducer/actions.js +0 -1
  287. package/build-module/input-control/reducer/actions.js.map +1 -1
  288. package/build-module/input-control/reducer/reducer.js +1 -1
  289. package/build-module/input-control/reducer/reducer.js.map +1 -1
  290. package/build-module/input-control/reducer/state.js +0 -1
  291. package/build-module/input-control/reducer/state.js.map +1 -1
  292. package/build-module/input-control/styles/input-control-styles.js +32 -30
  293. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  294. package/build-module/item-group/item/component.js +0 -1
  295. package/build-module/item-group/item/component.js.map +1 -1
  296. package/build-module/item-group/item/hook.js +1 -2
  297. package/build-module/item-group/item/hook.js.map +1 -1
  298. package/build-module/item-group/item-group/component.js +0 -1
  299. package/build-module/item-group/item-group/component.js.map +1 -1
  300. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js +3 -1
  301. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  302. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +5 -13
  303. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  304. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +23 -5
  305. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  306. package/build-module/mobile/bottom-sheet/cell.native.js +3 -3
  307. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  308. package/build-module/mobile/bottom-sheet/index.native.js +16 -13
  309. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  310. package/build-module/mobile/bottom-sheet/range-text-input.native.js +2 -2
  311. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  312. package/build-module/mobile/color-settings/index.native.js +2 -0
  313. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  314. package/build-module/mobile/color-settings/palette.screen.native.js +5 -0
  315. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  316. package/build-module/mobile/color-settings/utils.native.js +7 -3
  317. package/build-module/mobile/color-settings/utils.native.js.map +1 -1
  318. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +6 -6
  319. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  320. package/build-module/mobile/link-picker/index.native.js +2 -1
  321. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  322. package/build-module/mobile/link-picker/link-picker-screen.native.js +13 -5
  323. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  324. package/build-module/mobile/link-settings/index.native.js +2 -1
  325. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  326. package/build-module/mobile/readable-content-view/index.native.js +2 -2
  327. package/build-module/mobile/readable-content-view/index.native.js.map +1 -1
  328. package/build-module/mobile/utils/use-is-floating-keyboard.native.js +2 -2
  329. package/build-module/mobile/utils/use-is-floating-keyboard.native.js.map +1 -1
  330. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +7 -3
  331. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  332. package/build-module/modal/index.js +1 -11
  333. package/build-module/modal/index.js.map +1 -1
  334. package/build-module/navigator/context.js +5 -1
  335. package/build-module/navigator/context.js.map +1 -1
  336. package/build-module/navigator/navigator-provider/component.js +43 -24
  337. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  338. package/build-module/navigator/navigator-screen/component.js +57 -32
  339. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  340. package/build-module/navigator/use-navigator.js +8 -8
  341. package/build-module/navigator/use-navigator.js.map +1 -1
  342. package/build-module/notice/index.native.js +2 -2
  343. package/build-module/notice/index.native.js.map +1 -1
  344. package/build-module/palette-edit/index.js +38 -30
  345. package/build-module/palette-edit/index.js.map +1 -1
  346. package/build-module/palette-edit/styles.js +11 -12
  347. package/build-module/palette-edit/styles.js.map +1 -1
  348. package/build-module/placeholder/index.js +4 -4
  349. package/build-module/placeholder/index.js.map +1 -1
  350. package/build-module/range-control/styles/range-control-styles.js +29 -29
  351. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  352. package/build-module/resizable-box/index.js.map +1 -1
  353. package/build-module/resizable-box/resize-tooltip/index.js +3 -3
  354. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  355. package/build-module/resizable-box/resize-tooltip/label.js +0 -1
  356. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  357. package/build-module/sandbox/index.native.js +5 -5
  358. package/build-module/sandbox/index.native.js.map +1 -1
  359. package/build-module/scrollable/hook.js +1 -1
  360. package/build-module/scrollable/hook.js.map +1 -1
  361. package/build-module/select-control/index.js.map +1 -1
  362. package/build-module/slot-fill/bubbles-virtually/fill.js +11 -2
  363. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  364. package/build-module/spacer/component.js +0 -1
  365. package/build-module/spacer/component.js.map +1 -1
  366. package/build-module/spinner/index.js +40 -5
  367. package/build-module/spinner/index.js.map +1 -1
  368. package/build-module/spinner/index.native.js +4 -2
  369. package/build-module/spinner/index.native.js.map +1 -1
  370. package/build-module/spinner/styles.js +49 -0
  371. package/build-module/spinner/styles.js.map +1 -0
  372. package/build-module/surface/hook.js +1 -1
  373. package/build-module/surface/hook.js.map +1 -1
  374. package/build-module/text/get-line-height.js +0 -1
  375. package/build-module/text/get-line-height.js.map +1 -1
  376. package/build-module/text/hook.js +5 -5
  377. package/build-module/text/hook.js.map +1 -1
  378. package/build-module/tip/index.js +4 -8
  379. package/build-module/tip/index.js.map +1 -1
  380. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -10
  381. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  382. package/build-module/toggle-group-control/toggle-group-control/styles.js +3 -11
  383. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  384. package/build-module/toggle-group-control/toggle-group-control-option/component.js +0 -1
  385. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  386. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  387. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  388. package/build-module/tools-panel/styles.js +10 -10
  389. package/build-module/tools-panel/styles.js.map +1 -1
  390. package/build-module/tools-panel/tools-panel/component.js +0 -1
  391. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  392. package/build-module/tools-panel/tools-panel/hook.js +52 -45
  393. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  394. package/build-module/tools-panel/tools-panel-header/component.js +0 -1
  395. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  396. package/build-module/tools-panel/tools-panel-header/hook.js +3 -3
  397. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  398. package/build-module/tools-panel/tools-panel-item/component.js +0 -1
  399. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  400. package/build-module/tools-panel/tools-panel-item/hook.js +17 -9
  401. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  402. package/build-module/tree-grid/index.js +18 -10
  403. package/build-module/tree-grid/index.js.map +1 -1
  404. package/build-module/truncate/hook.js +2 -2
  405. package/build-module/truncate/hook.js.map +1 -1
  406. package/build-module/ui/shortcut/component.js +0 -1
  407. package/build-module/ui/shortcut/component.js.map +1 -1
  408. package/build-module/ui/utils/font-size.js +0 -1
  409. package/build-module/ui/utils/font-size.js.map +1 -1
  410. package/build-module/ui/utils/get-valid-children.js +0 -1
  411. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  412. package/build-module/unit-control/index.js +0 -1
  413. package/build-module/unit-control/index.js.map +1 -1
  414. package/build-module/unit-control/unit-select-control.js +1 -2
  415. package/build-module/unit-control/unit-select-control.js.map +1 -1
  416. package/build-module/utils/colors-values.js +6 -3
  417. package/build-module/utils/colors-values.js.map +1 -1
  418. package/build-module/utils/config-values.js +1 -4
  419. package/build-module/utils/config-values.js.map +1 -1
  420. package/build-module/utils/hooks/use-combined-ref.js +0 -1
  421. package/build-module/utils/hooks/use-combined-ref.js.map +1 -1
  422. package/build-module/utils/hooks/use-latest-ref.js +0 -1
  423. package/build-module/utils/hooks/use-latest-ref.js.map +1 -1
  424. package/build-module/z-stack/component.js +0 -1
  425. package/build-module/z-stack/component.js.map +1 -1
  426. package/build-style/style-rtl.css +22 -6
  427. package/build-style/style.css +22 -6
  428. package/build-types/base-control/index.d.ts.map +1 -1
  429. package/build-types/base-control/styles/base-control-styles.d.ts +4 -0
  430. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  431. package/build-types/button/index.d.ts.map +1 -1
  432. package/build-types/card/types.d.ts.map +1 -1
  433. package/build-types/circular-option-picker/index.d.ts +31 -0
  434. package/build-types/circular-option-picker/index.d.ts.map +1 -0
  435. package/build-types/color-palette/index.d.ts +16 -0
  436. package/build-types/color-palette/index.d.ts.map +1 -0
  437. package/build-types/color-palette/styles.d.ts +8 -0
  438. package/build-types/color-palette/styles.d.ts.map +1 -0
  439. package/build-types/color-picker/color-display.d.ts +14 -0
  440. package/build-types/color-picker/color-display.d.ts.map +1 -0
  441. package/build-types/color-picker/color-input.d.ts +14 -0
  442. package/build-types/color-picker/color-input.d.ts.map +1 -0
  443. package/build-types/color-picker/component.d.ts +11 -0
  444. package/build-types/color-picker/component.d.ts.map +1 -0
  445. package/build-types/color-picker/hex-input.d.ts +13 -0
  446. package/build-types/color-picker/hex-input.d.ts.map +1 -0
  447. package/build-types/color-picker/hsl-input.d.ts +13 -0
  448. package/build-types/color-picker/hsl-input.d.ts.map +1 -0
  449. package/build-types/color-picker/index.d.ts +5 -0
  450. package/build-types/color-picker/index.d.ts.map +1 -0
  451. package/build-types/color-picker/input-with-slider.d.ts +12 -0
  452. package/build-types/color-picker/input-with-slider.d.ts.map +1 -0
  453. package/build-types/color-picker/legacy-adapter.d.ts +6 -0
  454. package/build-types/color-picker/legacy-adapter.d.ts.map +1 -0
  455. package/build-types/color-picker/picker.d.ts +10 -0
  456. package/build-types/color-picker/picker.d.ts.map +1 -0
  457. package/build-types/color-picker/rgb-input.d.ts +13 -0
  458. package/build-types/color-picker/rgb-input.d.ts.map +1 -0
  459. package/build-types/color-picker/styles.d.ts +76 -0
  460. package/build-types/color-picker/styles.d.ts.map +1 -0
  461. package/build-types/color-picker/types.d.ts +2 -0
  462. package/build-types/color-picker/types.d.ts.map +1 -0
  463. package/build-types/color-picker/use-deprecated-props.d.ts +49 -0
  464. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -0
  465. package/build-types/confirm-dialog/component.d.ts +11 -14
  466. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  467. package/build-types/confirm-dialog/styles.d.ts +10 -0
  468. package/build-types/confirm-dialog/styles.d.ts.map +1 -0
  469. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  470. package/build-types/divider/component.d.ts.map +1 -1
  471. package/build-types/dropdown/index.d.ts +1 -13
  472. package/build-types/dropdown/index.d.ts.map +1 -1
  473. package/build-types/elevation/hook.d.ts.map +1 -1
  474. package/build-types/elevation/types.d.ts.map +1 -1
  475. package/build-types/flex/flex/hook.d.ts.map +1 -1
  476. package/build-types/flex/types.d.ts.map +1 -1
  477. package/build-types/flyout/types.d.ts.map +1 -1
  478. package/build-types/grid/hook.d.ts.map +1 -1
  479. package/build-types/grid/types.d.ts.map +1 -1
  480. package/build-types/h-stack/hook.d.ts +1 -1
  481. package/build-types/h-stack/hook.d.ts.map +1 -1
  482. package/build-types/h-stack/types.d.ts.map +1 -1
  483. package/build-types/heading/component.d.ts.map +1 -1
  484. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
  485. package/build-types/icon/index.d.ts.map +1 -1
  486. package/build-types/input-control/index.d.ts.map +1 -1
  487. package/build-types/input-control/input-base.d.ts.map +1 -1
  488. package/build-types/input-control/input-field.d.ts.map +1 -1
  489. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  490. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  491. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  492. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  493. package/build-types/input-control/types.d.ts.map +1 -1
  494. package/build-types/item-group/item/component.d.ts.map +1 -1
  495. package/build-types/item-group/item/hook.d.ts.map +1 -1
  496. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  497. package/build-types/navigator/context.d.ts.map +1 -1
  498. package/build-types/navigator/navigator-provider/component.d.ts +16 -17
  499. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  500. package/build-types/navigator/navigator-screen/component.d.ts +16 -16
  501. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  502. package/build-types/navigator/types.d.ts +10 -9
  503. package/build-types/navigator/types.d.ts.map +1 -1
  504. package/build-types/resizable-box/index.d.ts +1 -1
  505. package/build-types/resizable-box/index.d.ts.map +1 -1
  506. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  507. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  508. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
  509. package/build-types/select-control/index.d.ts +3 -2
  510. package/build-types/select-control/index.d.ts.map +1 -1
  511. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
  512. package/build-types/spacer/component.d.ts.map +1 -1
  513. package/build-types/spacer/types.d.ts.map +1 -1
  514. package/build-types/spinner/index.d.ts +18 -1
  515. package/build-types/spinner/index.d.ts.map +1 -1
  516. package/build-types/spinner/styles.d.ts +13 -0
  517. package/build-types/spinner/styles.d.ts.map +1 -0
  518. package/build-types/surface/hook.d.ts.map +1 -1
  519. package/build-types/text/get-line-height.d.ts.map +1 -1
  520. package/build-types/text/hook.d.ts.map +1 -1
  521. package/build-types/text/types.d.ts.map +1 -1
  522. package/build-types/tip/index.d.ts.map +1 -1
  523. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  524. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +0 -5
  525. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  526. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  527. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  528. package/build-types/toggle-group-control/types.d.ts +1 -7
  529. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  530. package/build-types/tools-panel/styles.d.ts.map +1 -1
  531. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  532. package/build-types/tools-panel/tools-panel/hook.d.ts +8 -4
  533. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  534. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  535. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  536. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  537. package/build-types/tools-panel/types.d.ts +14 -0
  538. package/build-types/tools-panel/types.d.ts.map +1 -1
  539. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  540. package/build-types/ui/control-group/types.d.ts.map +1 -1
  541. package/build-types/ui/form-group/types.d.ts.map +1 -1
  542. package/build-types/ui/shortcut/component.d.ts.map +1 -1
  543. package/build-types/ui/tooltip/types.d.ts.map +1 -1
  544. package/build-types/ui/utils/font-size.d.ts.map +1 -1
  545. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -1
  546. package/build-types/unit-control/index.d.ts +3 -2
  547. package/build-types/unit-control/index.d.ts.map +1 -1
  548. package/build-types/unit-control/types.d.ts +2 -1
  549. package/build-types/unit-control/types.d.ts.map +1 -1
  550. package/build-types/unit-control/unit-select-control.d.ts.map +1 -1
  551. package/build-types/utils/colors-values.d.ts +1 -0
  552. package/build-types/utils/colors-values.d.ts.map +1 -1
  553. package/build-types/utils/config-values.d.ts +1 -5
  554. package/build-types/utils/config-values.d.ts.map +1 -1
  555. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -1
  556. package/build-types/utils/hooks/use-latest-ref.d.ts.map +1 -1
  557. package/build-types/v-stack/types.d.ts.map +1 -1
  558. package/build-types/z-stack/component.d.ts.map +1 -1
  559. package/package.json +20 -17
  560. package/src/base-control/index.js +11 -2
  561. package/src/base-control/styles/base-control-styles.js +10 -1
  562. package/src/base-field/hook.js +1 -1
  563. package/src/box-control/styles/box-control-styles.js +1 -1
  564. package/src/button/deprecated.js +1 -0
  565. package/src/button/index.js +1 -0
  566. package/src/card/card/component.js +1 -1
  567. package/src/card/card/hook.js +1 -1
  568. package/src/card/card-body/hook.js +1 -1
  569. package/src/card/card-divider/hook.js +1 -1
  570. package/src/card/card-footer/hook.js +1 -1
  571. package/src/card/card-header/hook.js +1 -1
  572. package/src/card/card-media/hook.js +1 -1
  573. package/src/card/types.ts +0 -1
  574. package/src/circular-option-picker/index.js +1 -0
  575. package/src/color-indicator/README.md +28 -0
  576. package/src/color-indicator/index.js +2 -0
  577. package/src/color-indicator/style.scss +1 -1
  578. package/src/color-palette/index.js +7 -8
  579. package/src/color-palette/index.native.js +2 -0
  580. package/src/color-palette/style.scss +11 -3
  581. package/src/color-palette/test/__snapshots__/index.js.snap +0 -1
  582. package/src/color-picker/README.md +1 -1
  583. package/src/color-picker/color-display.tsx +1 -1
  584. package/src/color-picker/color-input.tsx +1 -1
  585. package/src/color-picker/component.tsx +3 -4
  586. package/src/color-picker/use-deprecated-props.ts +2 -1
  587. package/src/combobox-control/stories/index.js +6 -2
  588. package/src/combobox-control/style.scss +2 -2
  589. package/src/confirm-dialog/component.tsx +7 -4
  590. package/src/confirm-dialog/stories/index.js +5 -2
  591. package/src/confirm-dialog/styles.ts +18 -0
  592. package/src/confirm-dialog/types.ts +0 -1
  593. package/src/custom-gradient-bar/control-points.js +2 -3
  594. package/src/custom-gradient-picker/style.scss +0 -1
  595. package/src/custom-select-control/index.js +13 -1
  596. package/src/custom-select-control/stories/index.js +27 -0
  597. package/src/custom-select-control/test/index.js +46 -0
  598. package/src/date-time/README.md +4 -4
  599. package/src/date-time/test/time.js +2 -2
  600. package/src/date-time/time.js +2 -2
  601. package/src/dimension-control/README.md +2 -0
  602. package/src/divider/component.tsx +0 -1
  603. package/src/dropdown/index.js +14 -13
  604. package/src/elevation/hook.js +1 -0
  605. package/src/elevation/types.ts +0 -1
  606. package/src/external-link/styles/external-link-styles.js +3 -3
  607. package/src/flex/flex/hook.js +1 -0
  608. package/src/flex/types.ts +0 -1
  609. package/src/flyout/types.ts +0 -1
  610. package/src/form-token-field/style.scss +1 -1
  611. package/src/form-token-field/suggestions-list.js +109 -120
  612. package/src/form-token-field/test/index.js +4 -2
  613. package/src/gradient-picker/README.md +94 -0
  614. package/src/grid/hook.js +1 -0
  615. package/src/grid/types.ts +0 -1
  616. package/src/h-stack/types.ts +0 -1
  617. package/src/heading/component.tsx +0 -1
  618. package/src/icon/index.tsx +0 -1
  619. package/src/input-control/index.tsx +0 -1
  620. package/src/input-control/input-base.tsx +0 -1
  621. package/src/input-control/input-field.tsx +0 -1
  622. package/src/input-control/reducer/actions.ts +0 -1
  623. package/src/input-control/reducer/reducer.ts +0 -1
  624. package/src/input-control/reducer/state.ts +0 -1
  625. package/src/input-control/styles/input-control-styles.tsx +7 -7
  626. package/src/input-control/types.ts +0 -1
  627. package/src/item-group/item/component.tsx +0 -1
  628. package/src/item-group/item/hook.ts +1 -2
  629. package/src/item-group/item-group/component.tsx +0 -1
  630. package/src/item-group/stories/index.js +2 -2
  631. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +2 -0
  632. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +8 -14
  633. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +33 -3
  634. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +162 -0
  635. package/src/mobile/bottom-sheet/cell.native.js +8 -6
  636. package/src/mobile/bottom-sheet/index.native.js +24 -14
  637. package/src/mobile/bottom-sheet/link-suggestion-styles.native.scss +3 -0
  638. package/src/mobile/bottom-sheet/range-text-input.native.js +5 -2
  639. package/src/mobile/bottom-sheet/styles.native.scss +4 -0
  640. package/src/mobile/bottom-sheet/test/index.native.js +24 -0
  641. package/src/mobile/color-settings/index.native.js +2 -0
  642. package/src/mobile/color-settings/palette.screen.native.js +5 -0
  643. package/src/mobile/color-settings/utils.native.js +8 -3
  644. package/src/mobile/html-text-input/test/index.native.js +34 -35
  645. package/src/mobile/keyboard-avoiding-view/index.ios.js +12 -9
  646. package/src/mobile/link-picker/index.native.js +2 -1
  647. package/src/mobile/link-picker/link-picker-screen.native.js +13 -5
  648. package/src/mobile/link-settings/index.native.js +2 -1
  649. package/src/mobile/link-settings/test/edit.native.js +172 -236
  650. package/src/mobile/link-settings/test/link-settings-navigation.native.js +97 -0
  651. package/src/mobile/readable-content-view/index.native.js +5 -2
  652. package/src/mobile/utils/use-is-floating-keyboard.native.js +2 -5
  653. package/src/mobile/utils/use-unit-converter-to-mobile.native.js +11 -3
  654. package/src/modal/index.js +1 -10
  655. package/src/navigator/context.ts +5 -1
  656. package/src/navigator/navigator-provider/README.md +30 -20
  657. package/src/navigator/navigator-provider/component.tsx +69 -25
  658. package/src/navigator/navigator-screen/component.tsx +71 -34
  659. package/src/navigator/stories/index.js +26 -13
  660. package/src/navigator/test/index.js +167 -32
  661. package/src/navigator/types.ts +11 -11
  662. package/src/navigator/use-navigator.ts +4 -4
  663. package/src/notice/index.native.js +5 -2
  664. package/src/palette-edit/index.js +115 -75
  665. package/src/palette-edit/styles.js +22 -3
  666. package/src/placeholder/index.js +8 -6
  667. package/src/placeholder/style.scss +12 -0
  668. package/src/placeholder/test/index.js +18 -1
  669. package/src/range-control/styles/range-control-styles.js +1 -1
  670. package/src/resizable-box/index.tsx +0 -1
  671. package/src/resizable-box/resize-tooltip/index.tsx +1 -2
  672. package/src/resizable-box/resize-tooltip/label.tsx +0 -1
  673. package/src/sandbox/index.native.js +8 -5
  674. package/src/scrollable/hook.js +1 -1
  675. package/src/scrollable/stories/index.js +6 -3
  676. package/src/select-control/README.md +2 -2
  677. package/src/select-control/index.tsx +3 -2
  678. package/src/select-control/stories/index.js +1 -1
  679. package/src/slot-fill/bubbles-virtually/fill.js +12 -1
  680. package/src/spacer/component.tsx +0 -1
  681. package/src/spacer/types.ts +0 -1
  682. package/src/spinner/README.md +10 -10
  683. package/src/spinner/index.js +42 -3
  684. package/src/spinner/index.native.js +7 -2
  685. package/src/spinner/stories/index.js +36 -3
  686. package/src/spinner/styles.js +47 -0
  687. package/src/surface/hook.js +1 -0
  688. package/src/text/get-line-height.ts +0 -1
  689. package/src/text/hook.js +1 -0
  690. package/src/text/types.ts +0 -1
  691. package/src/tip/index.js +2 -4
  692. package/src/toggle-group-control/test/__snapshots__/index.js.snap +25 -27
  693. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -12
  694. package/src/toggle-group-control/toggle-group-control/styles.ts +0 -14
  695. package/src/toggle-group-control/toggle-group-control-option/component.tsx +0 -1
  696. package/src/toggle-group-control/toggle-group-control-option/styles.ts +1 -3
  697. package/src/toggle-group-control/types.ts +1 -9
  698. package/src/tools-panel/stories/index.js +21 -1
  699. package/src/tools-panel/stories/tools-panel-with-item-group-slot.js +244 -0
  700. package/src/tools-panel/styles.ts +1 -3
  701. package/src/tools-panel/test/__snapshots__/index.js.snap +219 -0
  702. package/src/tools-panel/test/index.js +218 -20
  703. package/src/tools-panel/tools-panel/README.md +3 -2
  704. package/src/tools-panel/tools-panel/component.tsx +0 -1
  705. package/src/tools-panel/tools-panel/hook.ts +164 -97
  706. package/src/tools-panel/tools-panel-header/component.tsx +0 -1
  707. package/src/tools-panel/tools-panel-header/hook.ts +3 -3
  708. package/src/tools-panel/tools-panel-item/component.tsx +0 -1
  709. package/src/tools-panel/tools-panel-item/hook.ts +39 -8
  710. package/src/tools-panel/types.ts +14 -1
  711. package/src/tooltip/test/index.native.js +3 -1
  712. package/src/tree-grid/index.js +157 -126
  713. package/src/truncate/hook.js +1 -1
  714. package/src/ui/README.md +1 -1
  715. package/src/ui/context/wordpress-component.ts +0 -1
  716. package/src/ui/control-group/types.ts +0 -1
  717. package/src/ui/form-group/types.ts +0 -1
  718. package/src/ui/shortcut/component.tsx +0 -1
  719. package/src/ui/tooltip/types.ts +0 -1
  720. package/src/ui/utils/font-size.ts +0 -1
  721. package/src/ui/utils/get-valid-children.ts +0 -1
  722. package/src/unit-control/index.tsx +0 -1
  723. package/src/unit-control/types.ts +2 -2
  724. package/src/unit-control/unit-select-control.tsx +0 -1
  725. package/src/utils/colors-values.js +4 -3
  726. package/src/utils/config-values.js +1 -5
  727. package/src/utils/hooks/stories/use-cx.js +121 -44
  728. package/src/utils/hooks/use-combined-ref.ts +0 -1
  729. package/src/utils/hooks/use-latest-ref.ts +0 -1
  730. package/src/v-stack/types.ts +0 -1
  731. package/src/z-stack/component.tsx +0 -1
  732. package/tsconfig.json +3 -0
  733. package/tsconfig.tsbuildinfo +1 -1
  734. package/build/spinner/styles/spinner-styles.js +0 -40
  735. package/build/spinner/styles/spinner-styles.js.map +0 -1
  736. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -90
  737. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
  738. package/build-module/spinner/styles/spinner-styles.js +0 -28
  739. package/build-module/spinner/styles/spinner-styles.js.map +0 -1
  740. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +0 -86
  741. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +0 -1
  742. package/build-types/spinner/styles/spinner-styles.d.ts +0 -5
  743. package/build-types/spinner/styles/spinner-styles.d.ts.map +0 -1
  744. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +0 -9
  745. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +0 -1
  746. package/src/spinner/styles/spinner-styles.js +0 -47
  747. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +0 -86
  748. package/src/ui/visually-hidden/README.md +0 -21
@@ -15,6 +15,8 @@ var _framerMotion = require("framer-motion");
15
15
 
16
16
  var _react = require("@emotion/react");
17
17
 
18
+ var _dom = require("@wordpress/dom");
19
+
18
20
  var _compose = require("@wordpress/compose");
19
21
 
20
22
  var _i18n = require("@wordpress/i18n");
@@ -41,7 +43,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
41
43
  } : {
42
44
  name: "1ulogbc-classes",
43
45
  styles: "overflow-x:auto;max-height:100%;label:classes;",
44
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1zY3JlZW4vY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3REkiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9uYXZpZ2F0b3IvbmF2aWdhdG9yLXNjcmVlbi9jb21wb25lbnQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tICdyZWFjdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgeyBtb3Rpb24sIE1vdGlvblByb3BzIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcbmltcG9ydCB7IHVzZVJlZHVjZWRNb3Rpb24sIHVzZUZvY3VzT25Nb3VudCB9IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9zZSc7XG5pbXBvcnQgeyBpc1JUTCB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7XG5cdGNvbnRleHRDb25uZWN0LFxuXHR1c2VDb250ZXh0U3lzdGVtLFxuXHRXb3JkUHJlc3NDb21wb25lbnRQcm9wcyxcbn0gZnJvbSAnLi4vLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDeCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvb2tzL3VzZS1jeCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnLi4vLi4vdmlldyc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IE5hdmlnYXRvclNjcmVlblByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBhbmltYXRpb25FbnRlckRlbGF5ID0gMDtcbmNvbnN0IGFuaW1hdGlvbkVudGVyRHVyYXRpb24gPSAwLjE0O1xuY29uc3QgYW5pbWF0aW9uRXhpdER1cmF0aW9uID0gMC4xNDtcbmNvbnN0IGFuaW1hdGlvbkV4aXREZWxheSA9IDA7XG5cbi8vIFByb3BzIHNwZWNpZmljIHRvIGBmcmFtZXItbW90aW9uYCBjYW4ndCBiZSBjdXJyZW50bHkgcGFzc2VkIHRvIGBOYXZpZ2F0b3JTY3JlZW5gLFxuLy8gYXMgc29tZSBvZiB0aGVtIHdvdWxkIG92ZXJsYXAgd2l0aCBIVE1MIHByb3BzIChlLmcuIGBvbkFuaW1hdGlvblN0YXJ0YCwgLi4uKVxudHlwZSBQcm9wcyA9IE9taXQ8XG5cdFdvcmRQcmVzc0NvbXBvbmVudFByb3BzPCBOYXZpZ2F0b3JTY3JlZW5Qcm9wcywgJ2RpdicsIGZhbHNlID4sXG5cdGtleW9mIE1vdGlvblByb3BzXG4+O1xuXG5mdW5jdGlvbiBOYXZpZ2F0b3JTY3JlZW4oIHByb3BzOiBQcm9wcywgZm9yd2FyZGVkUmVmOiBSZWY8IGFueSA+ICkge1xuXHRjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHBhdGgsIC4uLm90aGVyUHJvcHMgfSA9IHVzZUNvbnRleHRTeXN0ZW0oXG5cdFx0cHJvcHMsXG5cdFx0J05hdmlnYXRvclNjcmVlbidcblx0KTtcblxuXHRjb25zdCBwcmVmZXJzUmVkdWNlZE1vdGlvbiA9IHVzZVJlZHVjZWRNb3Rpb24oKTtcblx0Y29uc3QgWyBjdXJyZW50UGF0aCBdID0gdXNlQ29udGV4dCggTmF2aWdhdG9yQ29udGV4dCApO1xuXHRjb25zdCBpc01hdGNoID0gY3VycmVudFBhdGgucGF0aCA9PT0gcGF0aDtcblx0Y29uc3QgcmVmID0gdXNlRm9jdXNPbk1vdW50KCk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyhcblx0XHQoKSA9PlxuXHRcdFx0Y3goXG5cdFx0XHRcdGNzcygge1xuXHRcdFx0XHRcdC8vIEVuc3VyZXMgaG9yaXpvbnRhbCBvdmVyZmxvdyBpcyB2aXN1YWxseSBhY2Nlc3NpYmxlXG5cdFx0XHRcdFx0b3ZlcmZsb3dYOiAnYXV0bycsXG5cdFx0XHRcdFx0Ly8gSW4gY2FzZSB0aGUgcm9vdCBoYXMgYSBoZWlnaHQsIGl0IHNob3VsZCBub3QgYmUgZXhjZWVkZWRcblx0XHRcdFx0XHRtYXhIZWlnaHQ6ICcxMDAlJyxcblx0XHRcdFx0fSApLFxuXHRcdFx0XHRjbGFzc05hbWVcblx0XHRcdCksXG5cdFx0WyBjbGFzc05hbWUgXVxuXHQpO1xuXG5cdC8vIFRoaXMgZmxhZyBpcyB1c2VkIHRvIG9ubHkgYXBwbHkgdGhlIGZvY3VzIG9uIG1vdW50IHdoZW4gdGhlIGFjdHVhbCBwYXRoIGNoYW5nZXMuXG5cdC8vIEl0IGF2b2lkcyB0aGUgZm9jdXMgdG8gaGFwcGVuIG9uIHRoZSBmaXJzdCByZW5kZXIuXG5cdGNvbnN0IFsgaGFzUGF0aENoYW5nZWQsIHNldEhhc1BhdGhDaGFuZ2VkIF0gPSB1c2VTdGF0ZSggZmFsc2UgKTtcblx0dXNlRWZmZWN0KCAoKSA9PiB7XG5cdFx0c2V0SGFzUGF0aENoYW5nZWQoIHRydWUgKTtcblx0fSwgWyBwYXRoIF0gKTtcblxuXHRpZiAoICEgaXNNYXRjaCApIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGlmICggcHJlZmVyc1JlZHVjZWRNb3Rpb24gKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxWaWV3IHJlZj17IGZvcndhcmRlZFJlZiB9IGNsYXNzTmFtZT17IGNsYXNzZXMgfSB7IC4uLm90aGVyUHJvcHMgfT5cblx0XHRcdFx0eyBjaGlsZHJlbiB9XG5cdFx0XHQ8L1ZpZXc+XG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IGFuaW1hdGUgPSB7XG5cdFx0b3BhY2l0eTogMSxcblx0XHR0cmFuc2l0aW9uOiB7XG5cdFx0XHRkZWxheTogYW5pbWF0aW9uRW50ZXJEZWxheSxcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FbnRlckR1cmF0aW9uLFxuXHRcdFx0ZWFzZTogJ2Vhc2VJbk91dCcsXG5cdFx0fSxcblx0XHR4OiAwLFxuXHR9O1xuXHRjb25zdCBpbml0aWFsID0ge1xuXHRcdG9wYWNpdHk6IDAsXG5cdFx0eDpcblx0XHRcdCggaXNSVEwoKSAmJiBjdXJyZW50UGF0aC5pc0JhY2sgKSB8fFxuXHRcdFx0KCAhIGlzUlRMKCkgJiYgISBjdXJyZW50UGF0aC5pc0JhY2sgKVxuXHRcdFx0XHQ/IDUwXG5cdFx0XHRcdDogLTUwLFxuXHR9O1xuXHRjb25zdCBleGl0ID0ge1xuXHRcdGRlbGF5OiBhbmltYXRpb25FeGl0RGVsYXksXG5cdFx0b3BhY2l0eTogMCxcblx0XHR4OlxuXHRcdFx0KCAhIGlzUlRMKCkgJiYgY3VycmVudFBhdGguaXNCYWNrICkgfHxcblx0XHRcdCggaXNSVEwoKSAmJiAhIGN1cnJlbnRQYXRoLmlzQmFjayApXG5cdFx0XHRcdD8gNTBcblx0XHRcdFx0OiAtNTAsXG5cdFx0dHJhbnNpdGlvbjoge1xuXHRcdFx0ZHVyYXRpb246IGFuaW1hdGlvbkV4aXREdXJhdGlvbixcblx0XHRcdGVhc2U6ICdlYXNlSW5PdXQnLFxuXHRcdH0sXG5cdH07XG5cblx0Y29uc3QgYW5pbWF0ZWRQcm9wcyA9IHtcblx0XHRhbmltYXRlLFxuXHRcdGV4aXQsXG5cdFx0aW5pdGlhbCxcblx0fTtcblxuXHRyZXR1cm4gKFxuXHRcdDxtb3Rpb24uZGl2XG5cdFx0XHRyZWY9eyBoYXNQYXRoQ2hhbmdlZCA/IHJlZiA6IHVuZGVmaW5lZCB9XG5cdFx0XHRjbGFzc05hbWU9eyBjbGFzc2VzIH1cblx0XHRcdHsgLi4ub3RoZXJQcm9wcyB9XG5cdFx0XHR7IC4uLmFuaW1hdGVkUHJvcHMgfVxuXHRcdD5cblx0XHRcdHsgY2hpbGRyZW4gfVxuXHRcdDwvbW90aW9uLmRpdj5cblx0KTtcbn1cblxuLyoqXG4gKiBUaGUgYE5hdmlnYXRvclNjcmVlbmAgY29tcG9uZW50IHJlcHJlc2VudHMgYSBzaW5nbGUgdmlldy9zY3JlZW4vcGFuZWwvbWVudSBhbmQgaXMgc3VwcG9zZWQgdG8gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBgTmF2aWdhdG9yUHJvdmlkZXJgIGNvbXBvbmVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganN4XG4gKiBpbXBvcnQge1xuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclByb3ZpZGVyIGFzIE5hdmlnYXRvclByb3ZpZGVyLFxuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclNjcmVlbiBhcyBOYXZpZ2F0b3JTY3JlZW4sXG4gKiAgIF9fZXhwZXJpbWVudGFsVXNlTmF2aWdhdG9yIGFzIHVzZU5hdmlnYXRvcixcbiAqIH0gZnJvbSAnQHdvcmRwcmVzcy9jb21wb25lbnRzJztcbiAqXG4gKiBmdW5jdGlvbiBOYXZpZ2F0b3JCdXR0b24oIHtcbiAqICAgcGF0aCxcbiAqICAgaXNCYWNrID0gZmFsc2UsXG4gKiAgIC4uLnByb3BzXG4gKiB9ICkge1xuICogICBjb25zdCBuYXZpZ2F0b3IgPSB1c2VOYXZpZ2F0b3IoKTtcbiAqICAgcmV0dXJuIChcbiAqICAgXHQ8QnV0dG9uXG4gKiAgIFx0ICBvbkNsaWNrPXsgKCkgPT4gbmF2aWdhdG9yLnB1c2goIHBhdGgsIHsgaXNCYWNrIH0gKSB9XG4gKiAgIFx0ICB7IC4uLnByb3BzIH1cbiAqICAgXHQvPlxuICogICApO1xuICogfVxuICpcbiAqIGNvbnN0IE15TmF2aWdhdGlvbiA9ICgpID0+IChcbiAqICAgPE5hdmlnYXRvclByb3ZpZGVyIGluaXRpYWxQYXRoPVwiL1wiPlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9cIj5cbiAqICAgICAgIDxwPlRoaXMgaXMgdGhlIGhvbWUgc2NyZWVuLjwvcD5cbiAqICAgXHQgICA8TmF2aWdhdG9yQnV0dG9uIGlzUHJpbWFyeSBwYXRoPVwiL2NoaWxkXCI+XG4gKiAgICAgICAgICBOYXZpZ2F0ZSB0byBjaGlsZCBzY3JlZW4uXG4gKiAgICAgICA8L05hdmlnYXRvckJ1dHRvbj5cbiAqICAgICA8L05hdmlnYXRvclNjcmVlbj5cbiAqXG4gKiAgICAgPE5hdmlnYXRvclNjcmVlbiBwYXRoPVwiL2NoaWxkXCI+XG4gKiAgICAgICA8cD5UaGlzIGlzIHRoZSBjaGlsZCBzY3JlZW4uPC9wPlxuICogICAgICAgPE5hdmlnYXRvckJ1dHRvbiBpc1ByaW1hcnkgcGF0aD1cIi9cIiBpc0JhY2s+XG4gKiAgICAgICAgIEdvIGJhY2tcbiAqICAgICAgIDwvTmF2aWdhdG9yQnV0dG9uPlxuICogICAgIDwvTmF2aWdhdG9yU2NyZWVuPlxuICogICA8L05hdmlnYXRvclByb3ZpZGVyPlxuICogKTtcbiAqIGBgYFxuICovXG5jb25zdCBDb25uZWN0ZWROYXZpZ2F0b3JTY3JlZW4gPSBjb250ZXh0Q29ubmVjdChcblx0TmF2aWdhdG9yU2NyZWVuLFxuXHQnTmF2aWdhdG9yU2NyZWVuJ1xuKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkTmF2aWdhdG9yU2NyZWVuO1xuIl19 */",
46
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL25hdmlnYXRvci1zY3JlZW4vY29tcG9uZW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4REkiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9uYXZpZ2F0b3IvbmF2aWdhdG9yLXNjcmVlbi9jb21wb25lbnQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tICdyZWFjdCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgeyBtb3Rpb24sIE1vdGlvblByb3BzIH0gZnJvbSAnZnJhbWVyLW1vdGlvbic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBmb2N1cyB9IGZyb20gJ0B3b3JkcHJlc3MvZG9tJztcbmltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcbmltcG9ydCB7XG5cdHVzZVJlZHVjZWRNb3Rpb24sXG5cdHVzZU1lcmdlUmVmcyxcblx0dXNlUHJldmlvdXMsXG59IGZyb20gJ0B3b3JkcHJlc3MvY29tcG9zZSc7XG5pbXBvcnQgeyBpc1JUTCB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7XG5cdGNvbnRleHRDb25uZWN0LFxuXHR1c2VDb250ZXh0U3lzdGVtLFxuXHRXb3JkUHJlc3NDb21wb25lbnRQcm9wcyxcbn0gZnJvbSAnLi4vLi4vdWkvY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDeCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvb2tzL3VzZS1jeCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnLi4vLi4vdmlldyc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IE5hdmlnYXRvclNjcmVlblByb3BzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBhbmltYXRpb25FbnRlckRlbGF5ID0gMDtcbmNvbnN0IGFuaW1hdGlvbkVudGVyRHVyYXRpb24gPSAwLjE0O1xuY29uc3QgYW5pbWF0aW9uRXhpdER1cmF0aW9uID0gMC4xNDtcbmNvbnN0IGFuaW1hdGlvbkV4aXREZWxheSA9IDA7XG5cbi8vIFByb3BzIHNwZWNpZmljIHRvIGBmcmFtZXItbW90aW9uYCBjYW4ndCBiZSBjdXJyZW50bHkgcGFzc2VkIHRvIGBOYXZpZ2F0b3JTY3JlZW5gLFxuLy8gYXMgc29tZSBvZiB0aGVtIHdvdWxkIG92ZXJsYXAgd2l0aCBIVE1MIHByb3BzIChlLmcuIGBvbkFuaW1hdGlvblN0YXJ0YCwgLi4uKVxudHlwZSBQcm9wcyA9IE9taXQ8XG5cdFdvcmRQcmVzc0NvbXBvbmVudFByb3BzPCBOYXZpZ2F0b3JTY3JlZW5Qcm9wcywgJ2RpdicsIGZhbHNlID4sXG5cdGtleW9mIE1vdGlvblByb3BzXG4+O1xuXG5mdW5jdGlvbiBOYXZpZ2F0b3JTY3JlZW4oIHByb3BzOiBQcm9wcywgZm9yd2FyZGVkUmVmOiBSZWY8IGFueSA+ICkge1xuXHRjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHBhdGgsIC4uLm90aGVyUHJvcHMgfSA9IHVzZUNvbnRleHRTeXN0ZW0oXG5cdFx0cHJvcHMsXG5cdFx0J05hdmlnYXRvclNjcmVlbidcblx0KTtcblxuXHRjb25zdCBwcmVmZXJzUmVkdWNlZE1vdGlvbiA9IHVzZVJlZHVjZWRNb3Rpb24oKTtcblx0Y29uc3QgeyBsb2NhdGlvbiB9ID0gdXNlQ29udGV4dCggTmF2aWdhdG9yQ29udGV4dCApO1xuXHRjb25zdCBpc01hdGNoID0gbG9jYXRpb24ucGF0aCA9PT0gcGF0aDtcblx0Y29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjwgSFRNTERpdkVsZW1lbnQgPiggbnVsbCApO1xuXG5cdGNvbnN0IHByZXZpb3VzTG9jYXRpb24gPSB1c2VQcmV2aW91cyggbG9jYXRpb24gKTtcblxuXHRjb25zdCBjeCA9IHVzZUN4KCk7XG5cdGNvbnN0IGNsYXNzZXMgPSB1c2VNZW1vKFxuXHRcdCgpID0+XG5cdFx0XHRjeChcblx0XHRcdFx0Y3NzKCB7XG5cdFx0XHRcdFx0Ly8gRW5zdXJlcyBob3Jpem9udGFsIG92ZXJmbG93IGlzIHZpc3VhbGx5IGFjY2Vzc2libGVcblx0XHRcdFx0XHRvdmVyZmxvd1g6ICdhdXRvJyxcblx0XHRcdFx0XHQvLyBJbiBjYXNlIHRoZSByb290IGhhcyBhIGhlaWdodCwgaXQgc2hvdWxkIG5vdCBiZSBleGNlZWRlZFxuXHRcdFx0XHRcdG1heEhlaWdodDogJzEwMCUnLFxuXHRcdFx0XHR9ICksXG5cdFx0XHRcdGNsYXNzTmFtZVxuXHRcdFx0KSxcblx0XHRbIGNsYXNzTmFtZSwgY3ggXVxuXHQpO1xuXG5cdC8vIEZvY3VzIHJlc3RvcmF0aW9uXG5cdGNvbnN0IGlzSW5pdGlhbExvY2F0aW9uID0gbG9jYXRpb24uaXNJbml0aWFsICYmICEgbG9jYXRpb24uaXNCYWNrO1xuXHR1c2VFZmZlY3QoICgpID0+IHtcblx0XHQvLyBPbmx5IGF0dGVtcHQgdG8gcmVzdG9yZSBmb2N1czpcblx0XHQvLyAtIGlmIHRoZSBjdXJyZW50IGxvY2F0aW9uIGlzIG5vdCB0aGUgaW5pdGlhbCBvbmUgKHRvIGF2b2lkIG1vdmluZyBmb2N1cyBvbiBwYWdlIGxvYWQpXG5cdFx0Ly8gLSB3aGVuIHRoZSBzY3JlZW4gYmVjb21lcyB2aXNpYmxlXG5cdFx0Ly8gLSBpZiB0aGUgd3JhcHBlciByZWYgaGFzIGJlZW4gYXNzaWduZWRcblx0XHRpZiAoIGlzSW5pdGlhbExvY2F0aW9uIHx8ICEgaXNNYXRjaCB8fCAhIHdyYXBwZXJSZWYuY3VycmVudCApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgZWxlbWVudFRvRm9jdXM6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cblx0XHQvLyBXaGVuIG5hdmlnYXRpbmcgYmFjaywgaWYgYSBzZWxlY3RvciBpcyBwcm92aWRlZCwgdXNlIGl0IHRvIGxvb2sgZm9yIHRoZVxuXHRcdC8vIHRhcmdldCBlbGVtZW50IChhc3N1bWVkIHRvIGJlIGEgbm9kZSBpbnNpZGUgdGhlIGN1cnJlbnQgTmF2aWdhdG9yU2NyZWVuKVxuXHRcdGlmICggbG9jYXRpb24uaXNCYWNrICYmIHByZXZpb3VzTG9jYXRpb24/LmZvY3VzVGFyZ2V0U2VsZWN0b3IgKSB7XG5cdFx0XHRlbGVtZW50VG9Gb2N1cyA9IHdyYXBwZXJSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yKFxuXHRcdFx0XHRwcmV2aW91c0xvY2F0aW9uLmZvY3VzVGFyZ2V0U2VsZWN0b3Jcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgdGhlIHByZXZpb3VzIHF1ZXJ5IGRpZG4ndCBydW4gb3IgZmluZCBhbnkgZWxlbWVudCB0byBmb2N1cywgZmFsbGJhY2tcblx0XHQvLyB0byB0aGUgZmlyc3QgdGFiYmFibGUgZWxlbWVudCBpbiB0aGUgc2NyZWVuIChvciB0aGUgc2NyZWVuIGl0c2VsZikuXG5cdFx0aWYgKCAhIGVsZW1lbnRUb0ZvY3VzICkge1xuXHRcdFx0Y29uc3QgZmlyc3RUYWJiYWJsZSA9ICggZm9jdXMudGFiYmFibGUuZmluZChcblx0XHRcdFx0d3JhcHBlclJlZi5jdXJyZW50XG5cdFx0XHQpIGFzIEhUTUxFbGVtZW50W10gKVsgMCBdO1xuXG5cdFx0XHRlbGVtZW50VG9Gb2N1cyA9IGZpcnN0VGFiYmFibGUgPz8gd3JhcHBlclJlZi5jdXJyZW50O1xuXHRcdH1cblxuXHRcdGVsZW1lbnRUb0ZvY3VzLmZvY3VzKCk7XG5cdH0sIFsgaXNJbml0aWFsTG9jYXRpb24sIGlzTWF0Y2ggXSApO1xuXG5cdGNvbnN0IG1lcmdlZFdyYXBwZXJSZWYgPSB1c2VNZXJnZVJlZnMoIFsgZm9yd2FyZGVkUmVmLCB3cmFwcGVyUmVmIF0gKTtcblxuXHRpZiAoICEgaXNNYXRjaCApIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdGlmICggcHJlZmVyc1JlZHVjZWRNb3Rpb24gKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxWaWV3XG5cdFx0XHRcdHJlZj17IG1lcmdlZFdyYXBwZXJSZWYgfVxuXHRcdFx0XHRjbGFzc05hbWU9eyBjbGFzc2VzIH1cblx0XHRcdFx0eyAuLi5vdGhlclByb3BzIH1cblx0XHRcdD5cblx0XHRcdFx0eyBjaGlsZHJlbiB9XG5cdFx0XHQ8L1ZpZXc+XG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IGFuaW1hdGUgPSB7XG5cdFx0b3BhY2l0eTogMSxcblx0XHR0cmFuc2l0aW9uOiB7XG5cdFx0XHRkZWxheTogYW5pbWF0aW9uRW50ZXJEZWxheSxcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FbnRlckR1cmF0aW9uLFxuXHRcdFx0ZWFzZTogJ2Vhc2VJbk91dCcsXG5cdFx0fSxcblx0XHR4OiAwLFxuXHR9O1xuXHRjb25zdCBpbml0aWFsID0ge1xuXHRcdG9wYWNpdHk6IDAsXG5cdFx0eDpcblx0XHRcdCggaXNSVEwoKSAmJiBsb2NhdGlvbi5pc0JhY2sgKSB8fCAoICEgaXNSVEwoKSAmJiAhIGxvY2F0aW9uLmlzQmFjayApXG5cdFx0XHRcdD8gNTBcblx0XHRcdFx0OiAtNTAsXG5cdH07XG5cdGNvbnN0IGV4aXQgPSB7XG5cdFx0ZGVsYXk6IGFuaW1hdGlvbkV4aXREZWxheSxcblx0XHRvcGFjaXR5OiAwLFxuXHRcdHg6XG5cdFx0XHQoICEgaXNSVEwoKSAmJiBsb2NhdGlvbi5pc0JhY2sgKSB8fCAoIGlzUlRMKCkgJiYgISBsb2NhdGlvbi5pc0JhY2sgKVxuXHRcdFx0XHQ/IDUwXG5cdFx0XHRcdDogLTUwLFxuXHRcdHRyYW5zaXRpb246IHtcblx0XHRcdGR1cmF0aW9uOiBhbmltYXRpb25FeGl0RHVyYXRpb24sXG5cdFx0XHRlYXNlOiAnZWFzZUluT3V0Jyxcblx0XHR9LFxuXHR9O1xuXG5cdGNvbnN0IGFuaW1hdGVkUHJvcHMgPSB7XG5cdFx0YW5pbWF0ZSxcblx0XHRleGl0LFxuXHRcdGluaXRpYWwsXG5cdH07XG5cblx0cmV0dXJuIChcblx0XHQ8bW90aW9uLmRpdlxuXHRcdFx0cmVmPXsgbWVyZ2VkV3JhcHBlclJlZiB9XG5cdFx0XHRjbGFzc05hbWU9eyBjbGFzc2VzIH1cblx0XHRcdHsgLi4ub3RoZXJQcm9wcyB9XG5cdFx0XHR7IC4uLmFuaW1hdGVkUHJvcHMgfVxuXHRcdD5cblx0XHRcdHsgY2hpbGRyZW4gfVxuXHRcdDwvbW90aW9uLmRpdj5cblx0KTtcbn1cblxuLyoqXG4gKiBUaGUgYE5hdmlnYXRvclNjcmVlbmAgY29tcG9uZW50IHJlcHJlc2VudHMgYSBzaW5nbGUgdmlldy9zY3JlZW4vcGFuZWwvbWVudSBhbmQgaXMgc3VwcG9zZWQgdG8gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBgTmF2aWdhdG9yUHJvdmlkZXJgIGNvbXBvbmVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBganN4XG4gKiBpbXBvcnQge1xuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclByb3ZpZGVyIGFzIE5hdmlnYXRvclByb3ZpZGVyLFxuICogICBfX2V4cGVyaW1lbnRhbE5hdmlnYXRvclNjcmVlbiBhcyBOYXZpZ2F0b3JTY3JlZW4sXG4gKiAgIF9fZXhwZXJpbWVudGFsVXNlTmF2aWdhdG9yIGFzIHVzZU5hdmlnYXRvcixcbiAqIH0gZnJvbSAnQHdvcmRwcmVzcy9jb21wb25lbnRzJztcbiAqXG4gKiBmdW5jdGlvbiBOYXZpZ2F0b3JCdXR0b24oIHsgcGF0aCwgLi4ucHJvcHMgfSApIHtcbiAqICBjb25zdCB7IGdvVG8gfSA9IHVzZU5hdmlnYXRvcigpO1xuICogIHJldHVybiAoXG4gKiAgICA8QnV0dG9uXG4gKiAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAqICAgICAgb25DbGljaz17ICgpID0+IGdvVG8oIHBhdGggKSB9XG4gKiAgICAgIHsgLi4ucHJvcHMgfVxuICogICAgLz5cbiAqICApO1xuICogfVxuICpcbiAqIGZ1bmN0aW9uIE5hdmlnYXRvckJhY2tCdXR0b24oIHByb3BzICkge1xuICogICBjb25zdCB7IGdvQmFjayB9ID0gdXNlTmF2aWdhdG9yKCk7XG4gKiAgIHJldHVybiA8QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsgKCkgPT4gZ29CYWNrKCkgfSB7IC4uLnByb3BzIH0gLz47XG4gKiB9XG4gKlxuICogY29uc3QgTXlOYXZpZ2F0aW9uID0gKCkgPT4gKFxuICogICA8TmF2aWdhdG9yUHJvdmlkZXIgaW5pdGlhbFBhdGg9XCIvXCI+XG4gKiAgICAgPE5hdmlnYXRvclNjcmVlbiBwYXRoPVwiL1wiPlxuICogICAgICAgPHA+VGhpcyBpcyB0aGUgaG9tZSBzY3JlZW4uPC9wPlxuICogICBcdCAgIDxOYXZpZ2F0b3JCdXR0b24gcGF0aD1cIi9jaGlsZFwiPlxuICogICAgICAgICAgTmF2aWdhdGUgdG8gY2hpbGQgc2NyZWVuLlxuICogICAgICAgPC9OYXZpZ2F0b3JCdXR0b24+XG4gKiAgICAgPC9OYXZpZ2F0b3JTY3JlZW4+XG4gKlxuICogICAgIDxOYXZpZ2F0b3JTY3JlZW4gcGF0aD1cIi9jaGlsZFwiPlxuICogICAgICAgPHA+VGhpcyBpcyB0aGUgY2hpbGQgc2NyZWVuLjwvcD5cbiAqICAgICAgIDxOYXZpZ2F0b3JCYWNrQnV0dG9uPkdvIGJhY2s8L05hdmlnYXRvckJhY2tCdXR0b24+XG4gKiAgICAgPC9OYXZpZ2F0b3JTY3JlZW4+XG4gKiAgIDwvTmF2aWdhdG9yUHJvdmlkZXI+XG4gKiApO1xuICogYGBgXG4gKi9cbmNvbnN0IENvbm5lY3RlZE5hdmlnYXRvclNjcmVlbiA9IGNvbnRleHRDb25uZWN0KFxuXHROYXZpZ2F0b3JTY3JlZW4sXG5cdCdOYXZpZ2F0b3JTY3JlZW4nXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBDb25uZWN0ZWROYXZpZ2F0b3JTY3JlZW47XG4iXX0= */",
45
47
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
46
48
  };
47
49
 
@@ -53,17 +55,43 @@ function NavigatorScreen(props, forwardedRef) {
53
55
  ...otherProps
54
56
  } = (0, _context.useContextSystem)(props, 'NavigatorScreen');
55
57
  const prefersReducedMotion = (0, _compose.useReducedMotion)();
56
- const [currentPath] = (0, _element.useContext)(_context2.NavigatorContext);
57
- const isMatch = currentPath.path === path;
58
- const ref = (0, _compose.useFocusOnMount)();
58
+ const {
59
+ location
60
+ } = (0, _element.useContext)(_context2.NavigatorContext);
61
+ const isMatch = location.path === path;
62
+ const wrapperRef = (0, _element.useRef)(null);
63
+ const previousLocation = (0, _compose.usePrevious)(location);
59
64
  const cx = (0, _useCx.useCx)();
60
- const classes = (0, _element.useMemo)(() => cx(_ref, className), [className]); // This flag is used to only apply the focus on mount when the actual path changes.
61
- // It avoids the focus to happen on the first render.
65
+ const classes = (0, _element.useMemo)(() => cx(_ref, className), [className, cx]); // Focus restoration
62
66
 
63
- const [hasPathChanged, setHasPathChanged] = (0, _element.useState)(false);
67
+ const isInitialLocation = location.isInitial && !location.isBack;
64
68
  (0, _element.useEffect)(() => {
65
- setHasPathChanged(true);
66
- }, [path]);
69
+ // Only attempt to restore focus:
70
+ // - if the current location is not the initial one (to avoid moving focus on page load)
71
+ // - when the screen becomes visible
72
+ // - if the wrapper ref has been assigned
73
+ if (isInitialLocation || !isMatch || !wrapperRef.current) {
74
+ return;
75
+ }
76
+
77
+ let elementToFocus = null; // When navigating back, if a selector is provided, use it to look for the
78
+ // target element (assumed to be a node inside the current NavigatorScreen)
79
+
80
+ if (location.isBack && previousLocation !== null && previousLocation !== void 0 && previousLocation.focusTargetSelector) {
81
+ elementToFocus = wrapperRef.current.querySelector(previousLocation.focusTargetSelector);
82
+ } // If the previous query didn't run or find any element to focus, fallback
83
+ // to the first tabbable element in the screen (or the screen itself).
84
+
85
+
86
+ if (!elementToFocus) {
87
+ const firstTabbable = _dom.focus.tabbable.find(wrapperRef.current)[0];
88
+
89
+ elementToFocus = firstTabbable !== null && firstTabbable !== void 0 ? firstTabbable : wrapperRef.current;
90
+ }
91
+
92
+ elementToFocus.focus();
93
+ }, [isInitialLocation, isMatch]);
94
+ const mergedWrapperRef = (0, _compose.useMergeRefs)([forwardedRef, wrapperRef]);
67
95
 
68
96
  if (!isMatch) {
69
97
  return null;
@@ -71,7 +99,7 @@ function NavigatorScreen(props, forwardedRef) {
71
99
 
72
100
  if (prefersReducedMotion) {
73
101
  return (0, _element.createElement)(_view.View, (0, _extends2.default)({
74
- ref: forwardedRef,
102
+ ref: mergedWrapperRef,
75
103
  className: classes
76
104
  }, otherProps), children);
77
105
  }
@@ -87,12 +115,12 @@ function NavigatorScreen(props, forwardedRef) {
87
115
  };
88
116
  const initial = {
89
117
  opacity: 0,
90
- x: (0, _i18n.isRTL)() && currentPath.isBack || !(0, _i18n.isRTL)() && !currentPath.isBack ? 50 : -50
118
+ x: (0, _i18n.isRTL)() && location.isBack || !(0, _i18n.isRTL)() && !location.isBack ? 50 : -50
91
119
  };
92
120
  const exit = {
93
121
  delay: animationExitDelay,
94
122
  opacity: 0,
95
- x: !(0, _i18n.isRTL)() && currentPath.isBack || (0, _i18n.isRTL)() && !currentPath.isBack ? 50 : -50,
123
+ x: !(0, _i18n.isRTL)() && location.isBack || (0, _i18n.isRTL)() && !location.isBack ? 50 : -50,
96
124
  transition: {
97
125
  duration: animationExitDuration,
98
126
  ease: 'easeInOut'
@@ -104,7 +132,7 @@ function NavigatorScreen(props, forwardedRef) {
104
132
  initial
105
133
  };
106
134
  return (0, _element.createElement)(_framerMotion.motion.div, (0, _extends2.default)({
107
- ref: hasPathChanged ? ref : undefined,
135
+ ref: mergedWrapperRef,
108
136
  className: classes
109
137
  }, otherProps, animatedProps), children);
110
138
  }
@@ -119,34 +147,34 @@ function NavigatorScreen(props, forwardedRef) {
119
147
  * __experimentalUseNavigator as useNavigator,
120
148
  * } from '@wordpress/components';
121
149
  *
122
- * function NavigatorButton( {
123
- * path,
124
- * isBack = false,
125
- * ...props
126
- * } ) {
127
- * const navigator = useNavigator();
128
- * return (
129
- * <Button
130
- * onClick={ () => navigator.push( path, { isBack } ) }
131
- * { ...props }
132
- * />
133
- * );
150
+ * function NavigatorButton( { path, ...props } ) {
151
+ * const { goTo } = useNavigator();
152
+ * return (
153
+ * <Button
154
+ * variant="primary"
155
+ * onClick={ () => goTo( path ) }
156
+ * { ...props }
157
+ * />
158
+ * );
159
+ * }
160
+ *
161
+ * function NavigatorBackButton( props ) {
162
+ * const { goBack } = useNavigator();
163
+ * return <Button variant="secondary" onClick={ () => goBack() } { ...props } />;
134
164
  * }
135
165
  *
136
166
  * const MyNavigation = () => (
137
167
  * <NavigatorProvider initialPath="/">
138
168
  * <NavigatorScreen path="/">
139
169
  * <p>This is the home screen.</p>
140
- * <NavigatorButton isPrimary path="/child">
170
+ * <NavigatorButton path="/child">
141
171
  * Navigate to child screen.
142
172
  * </NavigatorButton>
143
173
  * </NavigatorScreen>
144
174
  *
145
175
  * <NavigatorScreen path="/child">
146
176
  * <p>This is the child screen.</p>
147
- * <NavigatorButton isPrimary path="/" isBack>
148
- * Go back
149
- * </NavigatorButton>
177
+ * <NavigatorBackButton>Go back</NavigatorBackButton>
150
178
  * </NavigatorScreen>
151
179
  * </NavigatorProvider>
152
180
  * );
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigator/navigator-screen/component.tsx"],"names":["animationEnterDelay","animationEnterDuration","animationExitDuration","animationExitDelay","NavigatorScreen","props","forwardedRef","children","className","path","otherProps","prefersReducedMotion","currentPath","NavigatorContext","isMatch","ref","cx","classes","hasPathChanged","setHasPathChanged","animate","opacity","transition","delay","duration","ease","x","initial","isBack","exit","animatedProps","undefined","ConnectedNavigatorScreen"],"mappings":";;;;;;;;;AAYA;;;;AANA;;AACA;;AAMA;;AACA;;AAKA;;AAKA;;AACA;;AACA;;;;AAGA,MAAMA,mBAAmB,GAAG,CAA5B;AACA,MAAMC,sBAAsB,GAAG,IAA/B;AACA,MAAMC,qBAAqB,GAAG,IAA9B;AACA,MAAMC,kBAAkB,GAAG,CAA3B,C,CAEA;AACA;;;;;;;;;;;;AAMA,SAASC,eAAT,CAA0BC,KAA1B,EAAwCC,YAAxC,EAAmE;AAClE,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,SAAZ;AAAuBC,IAAAA,IAAvB;AAA6B,OAAGC;AAAhC,MAA+C,+BACpDL,KADoD,EAEpD,iBAFoD,CAArD;AAKA,QAAMM,oBAAoB,GAAG,gCAA7B;AACA,QAAM,CAAEC,WAAF,IAAkB,yBAAYC,0BAAZ,CAAxB;AACA,QAAMC,OAAO,GAAGF,WAAW,CAACH,IAAZ,KAAqBA,IAArC;AACA,QAAMM,GAAG,GAAG,+BAAZ;AAEA,QAAMC,EAAE,GAAG,mBAAX;AACA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,OAODR,SAPC,CAFY,EAWf,CAAEA,SAAF,CAXe,CAAhB,CAZkE,CA0BlE;AACA;;AACA,QAAM,CAAEU,cAAF,EAAkBC,iBAAlB,IAAwC,uBAAU,KAAV,CAA9C;AACA,0BAAW,MAAM;AAChBA,IAAAA,iBAAiB,CAAE,IAAF,CAAjB;AACA,GAFD,EAEG,CAAEV,IAAF,CAFH;;AAIA,MAAK,CAAEK,OAAP,EAAiB;AAChB,WAAO,IAAP;AACA;;AAED,MAAKH,oBAAL,EAA4B;AAC3B,WACC,4BAAC,UAAD;AAAM,MAAA,GAAG,EAAGL,YAAZ;AAA2B,MAAA,SAAS,EAAGW;AAAvC,OAAsDP,UAAtD,GACGH,QADH,CADD;AAKA;;AAED,QAAMa,OAAO,GAAG;AACfC,IAAAA,OAAO,EAAE,CADM;AAEfC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EAAEvB,mBADI;AAEXwB,MAAAA,QAAQ,EAAEvB,sBAFC;AAGXwB,MAAAA,IAAI,EAAE;AAHK,KAFG;AAOfC,IAAAA,CAAC,EAAE;AAPY,GAAhB;AASA,QAAMC,OAAO,GAAG;AACfN,IAAAA,OAAO,EAAE,CADM;AAEfK,IAAAA,CAAC,EACE,sBAAWd,WAAW,CAACgB,MAAzB,IACE,CAAE,kBAAF,IAAa,CAAEhB,WAAW,CAACgB,MAD7B,GAEG,EAFH,GAGG,CAAC;AANU,GAAhB;AAQA,QAAMC,IAAI,GAAG;AACZN,IAAAA,KAAK,EAAEpB,kBADK;AAEZkB,IAAAA,OAAO,EAAE,CAFG;AAGZK,IAAAA,CAAC,EACE,CAAE,kBAAF,IAAad,WAAW,CAACgB,MAA3B,IACE,sBAAW,CAAEhB,WAAW,CAACgB,MAD3B,GAEG,EAFH,GAGG,CAAC,EAPO;AAQZN,IAAAA,UAAU,EAAE;AACXE,MAAAA,QAAQ,EAAEtB,qBADC;AAEXuB,MAAAA,IAAI,EAAE;AAFK;AARA,GAAb;AAcA,QAAMK,aAAa,GAAG;AACrBV,IAAAA,OADqB;AAErBS,IAAAA,IAFqB;AAGrBF,IAAAA;AAHqB,GAAtB;AAMA,SACC,4BAAC,oBAAD,CAAQ,GAAR;AACC,IAAA,GAAG,EAAGT,cAAc,GAAGH,GAAH,GAASgB,SAD9B;AAEC,IAAA,SAAS,EAAGd;AAFb,KAGMP,UAHN,EAIMoB,aAJN,GAMGvB,QANH,CADD;AAUA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyB,wBAAwB,GAAG,6BAChC5B,eADgC,EAEhC,iBAFgC,CAAjC;eAKe4B,wB","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, MotionProps } from 'framer-motion';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useContext, useEffect, useState, useMemo } from '@wordpress/element';\nimport { useReducedMotion, useFocusOnMount } from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport type { NavigatorScreenProps } from '../types';\n\nconst animationEnterDelay = 0;\nconst animationEnterDuration = 0.14;\nconst animationExitDuration = 0.14;\nconst animationExitDelay = 0;\n\n// Props specific to `framer-motion` can't be currently passed to `NavigatorScreen`,\n// as some of them would overlap with HTML props (e.g. `onAnimationStart`, ...)\ntype Props = Omit<\n\tWordPressComponentProps< NavigatorScreenProps, 'div', false >,\n\tkeyof MotionProps\n>;\n\nfunction NavigatorScreen( props: Props, forwardedRef: Ref< any > ) {\n\tconst { children, className, path, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'NavigatorScreen'\n\t);\n\n\tconst prefersReducedMotion = useReducedMotion();\n\tconst [ currentPath ] = useContext( NavigatorContext );\n\tconst isMatch = currentPath.path === path;\n\tconst ref = useFocusOnMount();\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tcss( {\n\t\t\t\t\t// Ensures horizontal overflow is visually accessible\n\t\t\t\t\toverflowX: 'auto',\n\t\t\t\t\t// In case the root has a height, it should not be exceeded\n\t\t\t\t\tmaxHeight: '100%',\n\t\t\t\t} ),\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className ]\n\t);\n\n\t// This flag is used to only apply the focus on mount when the actual path changes.\n\t// It avoids the focus to happen on the first render.\n\tconst [ hasPathChanged, setHasPathChanged ] = useState( false );\n\tuseEffect( () => {\n\t\tsetHasPathChanged( true );\n\t}, [ path ] );\n\n\tif ( ! isMatch ) {\n\t\treturn null;\n\t}\n\n\tif ( prefersReducedMotion ) {\n\t\treturn (\n\t\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst animate = {\n\t\topacity: 1,\n\t\ttransition: {\n\t\t\tdelay: animationEnterDelay,\n\t\t\tduration: animationEnterDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t\tx: 0,\n\t};\n\tconst initial = {\n\t\topacity: 0,\n\t\tx:\n\t\t\t( isRTL() && currentPath.isBack ) ||\n\t\t\t( ! isRTL() && ! currentPath.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t};\n\tconst exit = {\n\t\tdelay: animationExitDelay,\n\t\topacity: 0,\n\t\tx:\n\t\t\t( ! isRTL() && currentPath.isBack ) ||\n\t\t\t( isRTL() && ! currentPath.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t\ttransition: {\n\t\t\tduration: animationExitDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t};\n\n\tconst animatedProps = {\n\t\tanimate,\n\t\texit,\n\t\tinitial,\n\t};\n\n\treturn (\n\t\t<motion.div\n\t\t\tref={ hasPathChanged ? ref : undefined }\n\t\t\tclassName={ classes }\n\t\t\t{ ...otherProps }\n\t\t\t{ ...animatedProps }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n}\n\n/**\n * The `NavigatorScreen` component represents a single view/screen/panel/menu and is supposed to be used in combination with the `NavigatorProvider` component.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalUseNavigator as useNavigator,\n * } from '@wordpress/components';\n *\n * function NavigatorButton( {\n * path,\n * isBack = false,\n * ...props\n * } ) {\n * const navigator = useNavigator();\n * return (\n * \t<Button\n * \t onClick={ () => navigator.push( path, { isBack } ) }\n * \t { ...props }\n * \t/>\n * );\n * }\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * \t <NavigatorButton isPrimary path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorButton isPrimary path=\"/\" isBack>\n * Go back\n * </NavigatorButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nconst ConnectedNavigatorScreen = contextConnect(\n\tNavigatorScreen,\n\t'NavigatorScreen'\n);\n\nexport default ConnectedNavigatorScreen;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigator/navigator-screen/component.tsx"],"names":["animationEnterDelay","animationEnterDuration","animationExitDuration","animationExitDelay","NavigatorScreen","props","forwardedRef","children","className","path","otherProps","prefersReducedMotion","location","NavigatorContext","isMatch","wrapperRef","previousLocation","cx","classes","isInitialLocation","isInitial","isBack","current","elementToFocus","focusTargetSelector","querySelector","firstTabbable","focus","tabbable","find","mergedWrapperRef","animate","opacity","transition","delay","duration","ease","x","initial","exit","animatedProps","ConnectedNavigatorScreen"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { Ref } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, MotionProps } from 'framer-motion';\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { useContext, useEffect, useMemo, useRef } from '@wordpress/element';\nimport {\n\tuseReducedMotion,\n\tuseMergeRefs,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport type { NavigatorScreenProps } from '../types';\n\nconst animationEnterDelay = 0;\nconst animationEnterDuration = 0.14;\nconst animationExitDuration = 0.14;\nconst animationExitDelay = 0;\n\n// Props specific to `framer-motion` can't be currently passed to `NavigatorScreen`,\n// as some of them would overlap with HTML props (e.g. `onAnimationStart`, ...)\ntype Props = Omit<\n\tWordPressComponentProps< NavigatorScreenProps, 'div', false >,\n\tkeyof MotionProps\n>;\n\nfunction NavigatorScreen( props: Props, forwardedRef: Ref< any > ) {\n\tconst { children, className, path, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'NavigatorScreen'\n\t);\n\n\tconst prefersReducedMotion = useReducedMotion();\n\tconst { location } = useContext( NavigatorContext );\n\tconst isMatch = location.path === path;\n\tconst wrapperRef = useRef< HTMLDivElement >( null );\n\n\tconst previousLocation = usePrevious( location );\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tcss( {\n\t\t\t\t\t// Ensures horizontal overflow is visually accessible\n\t\t\t\t\toverflowX: 'auto',\n\t\t\t\t\t// In case the root has a height, it should not be exceeded\n\t\t\t\t\tmaxHeight: '100%',\n\t\t\t\t} ),\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, cx ]\n\t);\n\n\t// Focus restoration\n\tconst isInitialLocation = location.isInitial && ! location.isBack;\n\tuseEffect( () => {\n\t\t// Only attempt to restore focus:\n\t\t// - if the current location is not the initial one (to avoid moving focus on page load)\n\t\t// - when the screen becomes visible\n\t\t// - if the wrapper ref has been assigned\n\t\tif ( isInitialLocation || ! isMatch || ! wrapperRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elementToFocus: HTMLElement | null = null;\n\n\t\t// When navigating back, if a selector is provided, use it to look for the\n\t\t// target element (assumed to be a node inside the current NavigatorScreen)\n\t\tif ( location.isBack && previousLocation?.focusTargetSelector ) {\n\t\t\telementToFocus = wrapperRef.current.querySelector(\n\t\t\t\tpreviousLocation.focusTargetSelector\n\t\t\t);\n\t\t}\n\n\t\t// If the previous query didn't run or find any element to focus, fallback\n\t\t// to the first tabbable element in the screen (or the screen itself).\n\t\tif ( ! elementToFocus ) {\n\t\t\tconst firstTabbable = ( focus.tabbable.find(\n\t\t\t\twrapperRef.current\n\t\t\t) as HTMLElement[] )[ 0 ];\n\n\t\t\telementToFocus = firstTabbable ?? wrapperRef.current;\n\t\t}\n\n\t\telementToFocus.focus();\n\t}, [ isInitialLocation, isMatch ] );\n\n\tconst mergedWrapperRef = useMergeRefs( [ forwardedRef, wrapperRef ] );\n\n\tif ( ! isMatch ) {\n\t\treturn null;\n\t}\n\n\tif ( prefersReducedMotion ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tref={ mergedWrapperRef }\n\t\t\t\tclassName={ classes }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst animate = {\n\t\topacity: 1,\n\t\ttransition: {\n\t\t\tdelay: animationEnterDelay,\n\t\t\tduration: animationEnterDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t\tx: 0,\n\t};\n\tconst initial = {\n\t\topacity: 0,\n\t\tx:\n\t\t\t( isRTL() && location.isBack ) || ( ! isRTL() && ! location.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t};\n\tconst exit = {\n\t\tdelay: animationExitDelay,\n\t\topacity: 0,\n\t\tx:\n\t\t\t( ! isRTL() && location.isBack ) || ( isRTL() && ! location.isBack )\n\t\t\t\t? 50\n\t\t\t\t: -50,\n\t\ttransition: {\n\t\t\tduration: animationExitDuration,\n\t\t\tease: 'easeInOut',\n\t\t},\n\t};\n\n\tconst animatedProps = {\n\t\tanimate,\n\t\texit,\n\t\tinitial,\n\t};\n\n\treturn (\n\t\t<motion.div\n\t\t\tref={ mergedWrapperRef }\n\t\t\tclassName={ classes }\n\t\t\t{ ...otherProps }\n\t\t\t{ ...animatedProps }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n}\n\n/**\n * The `NavigatorScreen` component represents a single view/screen/panel/menu and is supposed to be used in combination with the `NavigatorProvider` component.\n *\n * @example\n * ```jsx\n * import {\n * __experimentalNavigatorProvider as NavigatorProvider,\n * __experimentalNavigatorScreen as NavigatorScreen,\n * __experimentalUseNavigator as useNavigator,\n * } from '@wordpress/components';\n *\n * function NavigatorButton( { path, ...props } ) {\n * const { goTo } = useNavigator();\n * return (\n * <Button\n * variant=\"primary\"\n * onClick={ () => goTo( path ) }\n * { ...props }\n * />\n * );\n * }\n *\n * function NavigatorBackButton( props ) {\n * const { goBack } = useNavigator();\n * return <Button variant=\"secondary\" onClick={ () => goBack() } { ...props } />;\n * }\n *\n * const MyNavigation = () => (\n * <NavigatorProvider initialPath=\"/\">\n * <NavigatorScreen path=\"/\">\n * <p>This is the home screen.</p>\n * \t <NavigatorButton path=\"/child\">\n * Navigate to child screen.\n * </NavigatorButton>\n * </NavigatorScreen>\n *\n * <NavigatorScreen path=\"/child\">\n * <p>This is the child screen.</p>\n * <NavigatorBackButton>Go back</NavigatorBackButton>\n * </NavigatorScreen>\n * </NavigatorProvider>\n * );\n * ```\n */\nconst ConnectedNavigatorScreen = contextConnect(\n\tNavigatorScreen,\n\t'NavigatorScreen'\n);\n\nexport default ConnectedNavigatorScreen;\n"]}
@@ -21,15 +21,15 @@ var _context = require("./context");
21
21
  * Retrieves a `navigator` instance.
22
22
  */
23
23
  function useNavigator() {
24
- const [, setPath] = (0, _element.useContext)(_context.NavigatorContext);
24
+ const {
25
+ location,
26
+ goTo,
27
+ goBack
28
+ } = (0, _element.useContext)(_context.NavigatorContext);
25
29
  return {
26
- push(path, options) {
27
- setPath({
28
- path,
29
- ...options
30
- });
31
- }
32
-
30
+ location,
31
+ goTo,
32
+ goBack
33
33
  };
34
34
  }
35
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/navigator/use-navigator.ts"],"names":["useNavigator","setPath","NavigatorContext","push","path","options"],"mappings":";;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA,SAASA,YAAT,GAAmC;AAClC,QAAM,GAAIC,OAAJ,IAAgB,yBAAYC,yBAAZ,CAAtB;AAEA,SAAO;AACNC,IAAAA,IAAI,CAAEC,IAAF,EAAQC,OAAR,EAAkB;AACrBJ,MAAAA,OAAO,CAAE;AAAEG,QAAAA,IAAF;AAAQ,WAAGC;AAAX,OAAF,CAAP;AACA;;AAHK,GAAP;AAKA;;eAEcL,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { NavigatorContext } from './context';\nimport type { Navigator } from './types';\n\n/**\n * Retrieves a `navigator` instance.\n */\nfunction useNavigator(): Navigator {\n\tconst [ , setPath ] = useContext( NavigatorContext );\n\n\treturn {\n\t\tpush( path, options ) {\n\t\t\tsetPath( { path, ...options } );\n\t\t},\n\t};\n}\n\nexport default useNavigator;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/navigator/use-navigator.ts"],"names":["useNavigator","location","goTo","goBack","NavigatorContext"],"mappings":";;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA,SAASA,YAAT,GAAmC;AAClC,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,IAAZ;AAAkBC,IAAAA;AAAlB,MAA6B,yBAAYC,yBAAZ,CAAnC;AAEA,SAAO;AACNH,IAAAA,QADM;AAENC,IAAAA,IAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA;;eAEcH,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { NavigatorContext } from './context';\nimport type { Navigator } from './types';\n\n/**\n * Retrieves a `navigator` instance.\n */\nfunction useNavigator(): Navigator {\n\tconst { location, goTo, goBack } = useContext( NavigatorContext );\n\n\treturn {\n\t\tlocation,\n\t\tgoTo,\n\t\tgoBack,\n\t};\n}\n\nexport default useNavigator;\n"]}
@@ -46,10 +46,10 @@ const Notice = _ref => {
46
46
  };
47
47
 
48
48
  (0, _element.useEffect)(() => {
49
- _reactNative.Dimensions.addEventListener('change', onDimensionsChange);
49
+ const dimensionsChangeSubscription = _reactNative.Dimensions.addEventListener('change', onDimensionsChange);
50
50
 
51
51
  return () => {
52
- _reactNative.Dimensions.removeEventListener('change', onDimensionsChange);
52
+ dimensionsChangeSubscription.remove();
53
53
  };
54
54
  }, []);
55
55
  (0, _element.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/notice/index.native.js"],"names":["Notice","onNoticeHidden","content","id","status","width","setWidth","Dimensions","get","visible","setVisible","animationValue","Animated","Value","current","timer","isIOS","Platform","OS","onDimensionsChange","addEventListener","removeEventListener","startAnimation","clearTimeout","onHide","timing","toValue","duration","useNativeDriver","easing","Easing","out","quad","start","setTimeout","noticeSolidStyles","styles","noticeSolid","noticeSolidDark","successTextStyles","successText","successTextDark","errorTextStyles","errorText","errorTextDark","textStyles","notice","transform","translateY","interpolate","inputRange","outputRange","noticeContent","blurBackground"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n\tDimensions,\n\tPlatform,\n} from 'react-native';\nimport { BlurView } from '@react-native-community/blur';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst Notice = ( { onNoticeHidden, content, id, status } ) => {\n\tconst [ width, setWidth ] = useState( Dimensions.get( 'window' ).width );\n\tconst [ visible, setVisible ] = useState( true );\n\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst timer = useRef( null );\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst onDimensionsChange = () => {\n\t\tsetWidth( Dimensions.get( 'window' ).width );\n\t};\n\n\tuseEffect( () => {\n\t\tDimensions.addEventListener( 'change', onDimensionsChange );\n\t\treturn () => {\n\t\t\tDimensions.removeEventListener( 'change', onDimensionsChange );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tstartAnimation();\n\t\treturn () => {\n\t\t\tclearTimeout( timer?.current );\n\t\t};\n\t}, [ visible, id ] );\n\n\tconst onHide = () => {\n\t\tsetVisible( false );\n\t};\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( () => {\n\t\t\tif ( visible && onNoticeHidden ) {\n\t\t\t\ttimer.current = setTimeout( () => {\n\t\t\t\t\tonHide();\n\t\t\t\t}, 3000 );\n\t\t\t}\n\n\t\t\tif ( ! visible && onNoticeHidden ) {\n\t\t\t\tonNoticeHidden( id );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst noticeSolidStyles = usePreferredColorSchemeStyle(\n\t\tstyles.noticeSolid,\n\t\tstyles.noticeSolidDark\n\t);\n\n\tconst successTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.successText,\n\t\tstyles.successTextDark\n\t);\n\n\tconst errorTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.errorText,\n\t\tstyles.errorTextDark\n\t);\n\n\tconst textStyles = [\n\t\tstatus === 'success' && successTextStyles,\n\t\tstatus === 'error' && errorTextStyles,\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<Animated.View\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.notice,\n\t\t\t\t\t! isIOS && noticeSolidStyles,\n\t\t\t\t\t{\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\ttransform: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\t\t\t\toutputRange: [ -24, 0 ],\n\t\t\t\t\t\t\t\t} ),\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] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback onPress={ onHide }>\n\t\t\t\t\t<View style={ styles.noticeContent }>\n\t\t\t\t\t\t<Text numberOfLines={ 3 } style={ textStyles }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t{ isIOS && (\n\t\t\t\t\t<BlurView\n\t\t\t\t\t\tstyle={ styles.blurBackground }\n\t\t\t\t\t\tblurType=\"prominent\"\n\t\t\t\t\t\tblurAmount={ 10 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nexport default Notice;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/notice/index.native.js"],"names":["Notice","onNoticeHidden","content","id","status","width","setWidth","Dimensions","get","visible","setVisible","animationValue","Animated","Value","current","timer","isIOS","Platform","OS","onDimensionsChange","dimensionsChangeSubscription","addEventListener","remove","startAnimation","clearTimeout","onHide","timing","toValue","duration","useNativeDriver","easing","Easing","out","quad","start","setTimeout","noticeSolidStyles","styles","noticeSolid","noticeSolidDark","successTextStyles","successText","successTextDark","errorTextStyles","errorText","errorTextDark","textStyles","notice","transform","translateY","interpolate","inputRange","outputRange","noticeContent","blurBackground"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tAnimated,\n\tEasing,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n\tDimensions,\n\tPlatform,\n} from 'react-native';\nimport { BlurView } from '@react-native-community/blur';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst Notice = ( { onNoticeHidden, content, id, status } ) => {\n\tconst [ width, setWidth ] = useState( Dimensions.get( 'window' ).width );\n\tconst [ visible, setVisible ] = useState( true );\n\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst timer = useRef( null );\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst onDimensionsChange = () => {\n\t\tsetWidth( Dimensions.get( 'window' ).width );\n\t};\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonDimensionsChange\n\t\t);\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tstartAnimation();\n\t\treturn () => {\n\t\t\tclearTimeout( timer?.current );\n\t\t};\n\t}, [ visible, id ] );\n\n\tconst onHide = () => {\n\t\tsetVisible( false );\n\t};\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start( () => {\n\t\t\tif ( visible && onNoticeHidden ) {\n\t\t\t\ttimer.current = setTimeout( () => {\n\t\t\t\t\tonHide();\n\t\t\t\t}, 3000 );\n\t\t\t}\n\n\t\t\tif ( ! visible && onNoticeHidden ) {\n\t\t\t\tonNoticeHidden( id );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst noticeSolidStyles = usePreferredColorSchemeStyle(\n\t\tstyles.noticeSolid,\n\t\tstyles.noticeSolidDark\n\t);\n\n\tconst successTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.successText,\n\t\tstyles.successTextDark\n\t);\n\n\tconst errorTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.errorText,\n\t\tstyles.errorTextDark\n\t);\n\n\tconst textStyles = [\n\t\tstatus === 'success' && successTextStyles,\n\t\tstatus === 'error' && errorTextStyles,\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<Animated.View\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.notice,\n\t\t\t\t\t! isIOS && noticeSolidStyles,\n\t\t\t\t\t{\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\ttransform: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\t\t\t\toutputRange: [ -24, 0 ],\n\t\t\t\t\t\t\t\t} ),\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] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback onPress={ onHide }>\n\t\t\t\t\t<View style={ styles.noticeContent }>\n\t\t\t\t\t\t<Text numberOfLines={ 3 } style={ textStyles }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t{ isIOS && (\n\t\t\t\t\t<BlurView\n\t\t\t\t\t\tstyle={ styles.blurBackground }\n\t\t\t\t\t\tblurType=\"prominent\"\n\t\t\t\t\t\tblurAmount={ 10 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nexport default Notice;\n"]}
@@ -58,6 +58,8 @@ var _customGradientPicker = _interopRequireDefault(require("../custom-gradient-p
58
58
  /**
59
59
  * Internal dependencies
60
60
  */
61
+ const DEFAULT_COLOR = '#000';
62
+
61
63
  function NameInput(_ref) {
62
64
  let {
63
65
  value,
@@ -72,6 +74,12 @@ function NameInput(_ref) {
72
74
  });
73
75
  }
74
76
 
77
+ function getNameForPosition(position) {
78
+ return (0, _i18n.sprintf)(
79
+ /* translators: %s: is a temporary id for a custom color */
80
+ (0, _i18n.__)('Color %s '), position + 1);
81
+ }
82
+
75
83
  function Option(_ref2) {
76
84
  let {
77
85
  canOnlyChangeValues,
@@ -87,9 +95,15 @@ function Option(_ref2) {
87
95
  const focusOutsideProps = (0, _compose.__experimentalUseFocusOutside)(onStopEditing);
88
96
  const value = isGradient ? element.gradient : element.color;
89
97
  return (0, _element.createElement)(_styles.PaletteItem, (0, _extends2.default)({
98
+ className: isEditing ? 'is-selected' : undefined,
90
99
  as: "div",
91
100
  onClick: onStartEditing
92
- }, isEditing ? focusOutsideProps : {}), (0, _element.createElement)(_hStack.HStack, {
101
+ }, isEditing ? { ...focusOutsideProps
102
+ } : {
103
+ style: {
104
+ cursor: 'pointer'
105
+ }
106
+ }), (0, _element.createElement)(_hStack.HStack, {
93
107
  justify: "flex-start"
94
108
  }, (0, _element.createElement)(_flex.FlexItem, null, (0, _element.createElement)(_styles.IndicatorStyled, {
95
109
  style: {
@@ -125,7 +139,16 @@ function Option(_ref2) {
125
139
  })));
126
140
  }
127
141
 
128
- function PaletteEditListView(_ref3) {
142
+ function isTemporaryElement(slugPrefix, _ref3, index) {
143
+ let {
144
+ slug,
145
+ color,
146
+ gradient
147
+ } = _ref3;
148
+ return slug === slugPrefix + (0, _lodash.kebabCase)(getNameForPosition(index)) && (!!color && color === DEFAULT_COLOR || !!gradient && gradient === _constants.DEFAULT_GRADIENT);
149
+ }
150
+
151
+ function PaletteEditListView(_ref4) {
129
152
  let {
130
153
  elements,
131
154
  onChange,
@@ -134,7 +157,7 @@ function PaletteEditListView(_ref3) {
134
157
  canOnlyChangeValues,
135
158
  slugPrefix,
136
159
  isGradient
137
- } = _ref3;
160
+ } = _ref4;
138
161
  // When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.
139
162
  const elementsReference = (0, _element.useRef)();
140
163
  (0, _element.useEffect)(() => {
@@ -142,18 +165,8 @@ function PaletteEditListView(_ref3) {
142
165
  }, [elements]);
143
166
  (0, _element.useEffect)(() => {
144
167
  return () => {
145
- if (elementsReference.current.some(_ref4 => {
146
- let {
147
- slug
148
- } = _ref4;
149
- return !slug;
150
- })) {
151
- const newElements = elementsReference.current.filter(_ref5 => {
152
- let {
153
- slug
154
- } = _ref5;
155
- return slug;
156
- });
168
+ if (elementsReference.current.some((element, index) => isTemporaryElement(slugPrefix, element, index))) {
169
+ const newElements = elementsReference.current.filter((element, index) => !isTemporaryElement(slugPrefix, element, index));
157
170
  onChange(newElements.length ? newElements : undefined);
158
171
  }
159
172
  };
@@ -161,8 +174,7 @@ function PaletteEditListView(_ref3) {
161
174
  return (0, _element.createElement)(_vStack.VStack, {
162
175
  spacing: 3
163
176
  }, (0, _element.createElement)(_itemGroup.ItemGroup, {
164
- isBordered: true,
165
- isSeparated: true
177
+ isRounded: true
166
178
  }, elements.map((element, index) => (0, _element.createElement)(Option, {
167
179
  isGradient: isGradient,
168
180
  canOnlyChangeValues: canOnlyChangeValues,
@@ -205,7 +217,7 @@ function PaletteEditListView(_ref3) {
205
217
 
206
218
  const EMPTY_ARRAY = [];
207
219
 
208
- function PaletteEdit(_ref6) {
220
+ function PaletteEdit(_ref5) {
209
221
  let {
210
222
  gradients,
211
223
  colors = EMPTY_ARRAY,
@@ -215,7 +227,7 @@ function PaletteEdit(_ref6) {
215
227
  canOnlyChangeValues,
216
228
  canReset,
217
229
  slugPrefix = ''
218
- } = _ref6;
230
+ } = _ref5;
219
231
  const isGradient = !!gradients;
220
232
  const elements = isGradient ? gradients : colors;
221
233
  const [isEditing, setIsEditing] = (0, _element.useState)(false);
@@ -235,41 +247,38 @@ function PaletteEdit(_ref6) {
235
247
  icon: _icons.plus,
236
248
  label: isGradient ? (0, _i18n.__)('Add gradient') : (0, _i18n.__)('Add color'),
237
249
  onClick: () => {
238
- const tempOptionName = (0, _i18n.sprintf)(
239
- /* translators: %s: is a temporary id for a custom color */
240
- (0, _i18n.__)('Color %s '), elementsLength + 1);
250
+ const tempOptionName = getNameForPosition(elementsLength);
241
251
  onChange([...elements, { ...(isGradient ? {
242
252
  gradient: _constants.DEFAULT_GRADIENT
243
253
  } : {
244
- color: '#000'
254
+ color: DEFAULT_COLOR
245
255
  }),
246
256
  name: tempOptionName,
247
- slug: ''
257
+ slug: slugPrefix + (0, _lodash.kebabCase)(tempOptionName)
248
258
  }]);
249
259
  setIsEditing(true);
250
260
  setEditingElement(elements.length);
251
261
  }
252
- }), hasElements && (canReset || !canOnlyChangeValues) && (0, _element.createElement)(_dropdownMenu.default, {
262
+ }), hasElements && (!isEditing || !canOnlyChangeValues || canReset) && (0, _element.createElement)(_dropdownMenu.default, {
253
263
  icon: _icons.moreVertical,
254
264
  label: isGradient ? (0, _i18n.__)('Gradient options') : (0, _i18n.__)('Color options'),
255
265
  toggleProps: {
256
266
  isSmall: true
257
267
  }
258
- }, _ref7 => {
268
+ }, _ref6 => {
259
269
  let {
260
270
  onClose
261
- } = _ref7;
271
+ } = _ref6;
262
272
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_navigableContainer.NavigableMenu, {
263
273
  role: "menu"
264
- }, (0, _element.createElement)(_button.default, {
274
+ }, !isEditing && (0, _element.createElement)(_button.default, {
265
275
  variant: "tertiary",
266
- disabled: isEditing,
267
276
  onClick: () => {
268
277
  setIsEditing(true);
269
278
  onClose();
270
279
  },
271
280
  className: "components-palette-edit__menu-button"
272
- }, (0, _i18n.__)('Edit custom colors')), !canOnlyChangeValues && (0, _element.createElement)(_button.default, {
281
+ }, isGradient ? (0, _i18n.__)('Edit gradients') : (0, _i18n.__)('Edit colors')), !canOnlyChangeValues && (0, _element.createElement)(_button.default, {
273
282
  variant: "tertiary",
274
283
  onClick: () => {
275
284
  setEditingElement(null);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/palette-edit/index.js"],"names":["NameInput","value","onChange","label","Option","canOnlyChangeValues","element","isEditing","onStartEditing","onRemove","onStopEditing","slugPrefix","isGradient","focusOutsideProps","gradient","color","background","name","nextName","slug","lineSolid","newColor","newGradient","PaletteEditListView","elements","editingElement","setEditingElement","elementsReference","current","some","newElements","filter","length","undefined","map","index","newElement","currentElement","currentIndex","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","plus","tempOptionName","DEFAULT_GRADIENT","moreVertical","isSmall","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport { __experimentalUseFocusOutside as useFocusOutside } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\n\nfunction NameInput( { value, onChange, label } ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction Option( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tas=\"div\"\n\t\t\tonClick={ onStartEditing }\n\t\t\t{ ...( isEditing ? focusOutsideProps : {} ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<IndicatorStyled\n\t\t\t\t\t\tstyle={ { background: value, color: 'transparent' } }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug: slugPrefix + kebabCase( nextName ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>{ element.name }</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition=\"bottom left\"\n\t\t\t\t\tclassName=\"components-palette-edit__popover\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isGradient && (\n\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tonChange={ ( newColor ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isGradient && (\n\t\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ ( newGradient ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t\t} )\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</Popover>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction PaletteEditListView( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( elementsReference.current.some( ( { slug } ) => ! slug ) ) {\n\t\t\t\tconst newElements = elementsReference.current.filter(\n\t\t\t\t\t( { slug } ) => slug\n\t\t\t\t);\n\t\t\t\tonChange( newElements.length ? newElements : undefined );\n\t\t\t}\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\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);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn 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\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\n\nexport default function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n} ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\teditingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading>{ paletteLabel }</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst tempOptionName = sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: is a temporary id for a custom color */\n\t\t\t\t\t\t\t\t\t__( 'Color %s ' ),\n\t\t\t\t\t\t\t\t\telementsLength + 1\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t...elements,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t...( isGradient\n\t\t\t\t\t\t\t\t\t\t\t? { gradient: DEFAULT_GRADIENT }\n\t\t\t\t\t\t\t\t\t\t\t: { color: '#000' } ),\n\t\t\t\t\t\t\t\t\t\tname: tempOptionName,\n\t\t\t\t\t\t\t\t\t\tslug: '',\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\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements && ( canReset || ! canOnlyChangeValues ) && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Edit custom colors' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\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\tonClose();\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\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\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\t\t\t'Remove all gradients'\n\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\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\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</Button>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\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\tonClose();\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\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/palette-edit/index.js"],"names":["DEFAULT_COLOR","NameInput","value","onChange","label","getNameForPosition","position","Option","canOnlyChangeValues","element","isEditing","onStartEditing","onRemove","onStopEditing","slugPrefix","isGradient","focusOutsideProps","gradient","color","undefined","style","cursor","background","name","nextName","slug","lineSolid","newColor","newGradient","isTemporaryElement","index","DEFAULT_GRADIENT","PaletteEditListView","elements","editingElement","setEditingElement","elementsReference","current","some","newElements","filter","length","map","newElement","currentElement","currentIndex","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","plus","tempOptionName","moreVertical","isSmall","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport { __experimentalUseFocusOutside as useFocusOutside } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label } ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction getNameForPosition( position ) {\n\treturn sprintf(\n\t\t/* translators: %s: is a temporary id for a custom color */\n\t\t__( 'Color %s ' ),\n\t\tposition + 1\n\t);\n}\n\nfunction Option( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas=\"div\"\n\t\t\tonClick={ onStartEditing }\n\t\t\t{ ...( isEditing\n\t\t\t\t? { ...focusOutsideProps }\n\t\t\t\t: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t } ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<IndicatorStyled\n\t\t\t\t\t\tstyle={ { background: value, color: 'transparent' } }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug: slugPrefix + kebabCase( nextName ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>{ element.name }</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition=\"bottom left\"\n\t\t\t\t\tclassName=\"components-palette-edit__popover\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isGradient && (\n\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tonChange={ ( newColor ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isGradient && (\n\t\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ ( newGradient ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t\t} )\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</Popover>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction isTemporaryElement( slugPrefix, { slug, color, gradient }, index ) {\n\treturn (\n\t\tslug === slugPrefix + kebabCase( getNameForPosition( index ) ) &&\n\t\t( ( !! color && color === DEFAULT_COLOR ) ||\n\t\t\t( !! gradient && gradient === DEFAULT_GRADIENT ) )\n\t);\n}\n\nfunction PaletteEditListView( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\telementsReference.current.some( ( element, index ) =>\n\t\t\t\t\tisTemporaryElement( slugPrefix, element, index )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst newElements = elementsReference.current.filter(\n\t\t\t\t\t( element, index ) =>\n\t\t\t\t\t\t! isTemporaryElement( slugPrefix, element, index )\n\t\t\t\t);\n\t\t\t\tonChange( newElements.length ? newElements : undefined );\n\t\t\t}\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\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);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn 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\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\n\nexport default function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n} ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\teditingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading>{ paletteLabel }</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst tempOptionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telementsLength\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t...elements,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t...( isGradient\n\t\t\t\t\t\t\t\t\t\t\t? { gradient: DEFAULT_GRADIENT }\n\t\t\t\t\t\t\t\t\t\t\t: { color: DEFAULT_COLOR } ),\n\t\t\t\t\t\t\t\t\t\tname: tempOptionName,\n\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\tkebabCase( tempOptionName ),\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\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: 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\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\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\tclassName=\"components-palette-edit__menu-button\"\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\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Edit gradients' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\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\t\tsetIsEditing( false );\n\t\t\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\t\tonClose();\n\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\tclassName=\"components-palette-edit__menu-button\"\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\t\t{ isGradient\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\t\t\t\t'Remove all gradients'\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\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\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</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\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\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\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\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\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</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n"]}