@wordpress/components 19.1.2 → 19.2.1-next.33ec3857e2.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 (418) hide show
  1. package/CHANGELOG.md +53 -4
  2. package/README.md +0 -1
  3. package/build/angle-picker-control/index.js +2 -0
  4. package/build/angle-picker-control/index.js.map +1 -1
  5. package/build/button/index.native.js +13 -3
  6. package/build/button/index.native.js.map +1 -1
  7. package/build/checkbox-control/index.js +1 -1
  8. package/build/checkbox-control/index.js.map +1 -1
  9. package/build/clipboard-button/index.js +1 -2
  10. package/build/clipboard-button/index.js.map +1 -1
  11. package/build/color-palette/index.js +36 -9
  12. package/build/color-palette/index.js.map +1 -1
  13. package/build/color-picker/color-display.js +4 -2
  14. package/build/color-picker/color-display.js.map +1 -1
  15. package/build/color-picker/hex-input.js +3 -1
  16. package/build/color-picker/hex-input.js.map +1 -1
  17. package/build/color-picker/input-with-slider.js +3 -1
  18. package/build/color-picker/input-with-slider.js.map +1 -1
  19. package/build/confirm-dialog/component.js +103 -0
  20. package/build/confirm-dialog/component.js.map +1 -0
  21. package/build/confirm-dialog/index.js +16 -0
  22. package/build/confirm-dialog/index.js.map +1 -0
  23. package/build/confirm-dialog/types.js +6 -0
  24. package/build/confirm-dialog/types.js.map +1 -0
  25. package/build/custom-gradient-bar/constants.js +1 -6
  26. package/build/custom-gradient-bar/constants.js.map +1 -1
  27. package/build/custom-gradient-bar/control-points.js +52 -21
  28. package/build/custom-gradient-bar/control-points.js.map +1 -1
  29. package/build/custom-gradient-bar/index.js +5 -1
  30. package/build/custom-gradient-bar/index.js.map +1 -1
  31. package/build/custom-gradient-picker/index.js +4 -1
  32. package/build/custom-gradient-picker/index.js.map +1 -1
  33. package/build/date-time/date.js +63 -86
  34. package/build/date-time/date.js.map +1 -1
  35. package/build/date-time/utils.js +32 -0
  36. package/build/date-time/utils.js.map +1 -0
  37. package/build/divider/component.js +8 -7
  38. package/build/divider/component.js.map +1 -1
  39. package/build/divider/styles.js +38 -13
  40. package/build/divider/styles.js.map +1 -1
  41. package/build/drop-zone/index.js +14 -6
  42. package/build/drop-zone/index.js.map +1 -1
  43. package/build/drop-zone/provider.js +1 -0
  44. package/build/drop-zone/provider.js.map +1 -1
  45. package/build/flyout/styles.js +2 -2
  46. package/build/flyout/styles.js.map +1 -1
  47. package/build/focusable-iframe/index.js +1 -0
  48. package/build/focusable-iframe/index.js.map +1 -1
  49. package/build/font-size-picker/index.js +10 -9
  50. package/build/font-size-picker/index.js.map +1 -1
  51. package/build/font-size-picker/utils.js +28 -17
  52. package/build/font-size-picker/utils.js.map +1 -1
  53. package/build/gradient-picker/index.js +3 -1
  54. package/build/gradient-picker/index.js.map +1 -1
  55. package/build/higher-order/with-focus-outside/index.js +2 -0
  56. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  57. package/build/index.js +8 -0
  58. package/build/index.js.map +1 -1
  59. package/build/input-control/styles/input-control-styles.js +44 -32
  60. package/build/input-control/styles/input-control-styles.js.map +1 -1
  61. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +10 -3
  62. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  63. package/build/mobile/color-settings/index.native.js +4 -2
  64. package/build/mobile/color-settings/index.native.js.map +1 -1
  65. package/build/mobile/color-settings/palette.screen.native.js +7 -6
  66. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  67. package/build/mobile/global-styles-context/utils.native.js +1 -1
  68. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  69. package/build/mobile/gridicons/index.native.js +3 -1
  70. package/build/mobile/gridicons/index.native.js.map +1 -1
  71. package/build/mobile/link-picker/index.native.js +45 -4
  72. package/build/mobile/link-picker/index.native.js.map +1 -1
  73. package/build/mobile/link-settings/index.native.js +10 -0
  74. package/build/mobile/link-settings/index.native.js.map +1 -1
  75. package/build/modal/aria-helper.js +2 -0
  76. package/build/modal/aria-helper.js.map +1 -1
  77. package/build/modal/index.js +17 -8
  78. package/build/modal/index.js.map +1 -1
  79. package/build/palette-edit/index.js +13 -11
  80. package/build/palette-edit/index.js.map +1 -1
  81. package/build/select-control/styles/select-control-styles.js +33 -9
  82. package/build/select-control/styles/select-control-styles.js.map +1 -1
  83. package/build/style-provider/index.js +2 -0
  84. package/build/style-provider/index.js.map +1 -1
  85. package/build/toggle-group-control/toggle-group-control/component.js +7 -2
  86. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  87. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +25 -14
  88. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  89. package/build/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  90. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  91. package/build/tools-panel/styles.js +12 -10
  92. package/build/tools-panel/styles.js.map +1 -1
  93. package/build/tools-panel/tools-panel/component.js +6 -8
  94. package/build/tools-panel/tools-panel/component.js.map +1 -1
  95. package/build/tools-panel/tools-panel/hook.js +48 -17
  96. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  97. package/build/tools-panel/tools-panel-item/hook.js +5 -1
  98. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  99. package/build/unit-control/styles/unit-control-styles.js +23 -41
  100. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  101. package/build/z-stack/component.js.map +1 -1
  102. package/build/z-stack/styles.js +10 -8
  103. package/build/z-stack/styles.js.map +1 -1
  104. package/build-module/angle-picker-control/index.js +2 -0
  105. package/build-module/angle-picker-control/index.js.map +1 -1
  106. package/build-module/button/index.native.js +13 -3
  107. package/build-module/button/index.native.js.map +1 -1
  108. package/build-module/checkbox-control/index.js +1 -1
  109. package/build-module/checkbox-control/index.js.map +1 -1
  110. package/build-module/clipboard-button/index.js +1 -2
  111. package/build-module/clipboard-button/index.js.map +1 -1
  112. package/build-module/color-palette/index.js +34 -10
  113. package/build-module/color-palette/index.js.map +1 -1
  114. package/build-module/color-picker/color-display.js +3 -2
  115. package/build-module/color-picker/color-display.js.map +1 -1
  116. package/build-module/color-picker/hex-input.js +2 -1
  117. package/build-module/color-picker/hex-input.js.map +1 -1
  118. package/build-module/color-picker/input-with-slider.js +2 -1
  119. package/build-module/color-picker/input-with-slider.js.map +1 -1
  120. package/build-module/confirm-dialog/component.js +84 -0
  121. package/build-module/confirm-dialog/component.js.map +1 -0
  122. package/build-module/confirm-dialog/index.js +6 -0
  123. package/build-module/confirm-dialog/index.js.map +1 -0
  124. package/build-module/confirm-dialog/types.js +2 -0
  125. package/build-module/confirm-dialog/types.js.map +1 -0
  126. package/build-module/custom-gradient-bar/constants.js +0 -4
  127. package/build-module/custom-gradient-bar/constants.js.map +1 -1
  128. package/build-module/custom-gradient-bar/control-points.js +54 -23
  129. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  130. package/build-module/custom-gradient-bar/index.js +5 -1
  131. package/build-module/custom-gradient-bar/index.js.map +1 -1
  132. package/build-module/custom-gradient-picker/index.js +4 -1
  133. package/build-module/custom-gradient-picker/index.js.map +1 -1
  134. package/build-module/date-time/date.js +63 -87
  135. package/build-module/date-time/date.js.map +1 -1
  136. package/build-module/date-time/utils.js +20 -0
  137. package/build-module/date-time/utils.js.map +1 -0
  138. package/build-module/divider/component.js +8 -7
  139. package/build-module/divider/component.js.map +1 -1
  140. package/build-module/divider/styles.js +37 -13
  141. package/build-module/divider/styles.js.map +1 -1
  142. package/build-module/drop-zone/index.js +14 -6
  143. package/build-module/drop-zone/index.js.map +1 -1
  144. package/build-module/drop-zone/provider.js +1 -0
  145. package/build-module/drop-zone/provider.js.map +1 -1
  146. package/build-module/flyout/styles.js +2 -2
  147. package/build-module/flyout/styles.js.map +1 -1
  148. package/build-module/focusable-iframe/index.js +1 -0
  149. package/build-module/focusable-iframe/index.js.map +1 -1
  150. package/build-module/font-size-picker/index.js +10 -9
  151. package/build-module/font-size-picker/index.js.map +1 -1
  152. package/build-module/font-size-picker/utils.js +28 -17
  153. package/build-module/font-size-picker/utils.js.map +1 -1
  154. package/build-module/gradient-picker/index.js +3 -1
  155. package/build-module/gradient-picker/index.js.map +1 -1
  156. package/build-module/higher-order/with-focus-outside/index.js +1 -0
  157. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  158. package/build-module/index.js +1 -0
  159. package/build-module/index.js.map +1 -1
  160. package/build-module/input-control/styles/input-control-styles.js +44 -32
  161. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  162. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +10 -4
  163. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  164. package/build-module/mobile/color-settings/index.native.js +4 -2
  165. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  166. package/build-module/mobile/color-settings/palette.screen.native.js +7 -6
  167. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  168. package/build-module/mobile/global-styles-context/utils.native.js +1 -1
  169. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  170. package/build-module/mobile/gridicons/index.native.js +1 -0
  171. package/build-module/mobile/gridicons/index.native.js.map +1 -1
  172. package/build-module/mobile/link-picker/index.native.js +50 -8
  173. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  174. package/build-module/mobile/link-settings/index.native.js +10 -0
  175. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  176. package/build-module/modal/aria-helper.js +2 -0
  177. package/build-module/modal/aria-helper.js.map +1 -1
  178. package/build-module/modal/index.js +15 -8
  179. package/build-module/modal/index.js.map +1 -1
  180. package/build-module/palette-edit/index.js +13 -11
  181. package/build-module/palette-edit/index.js.map +1 -1
  182. package/build-module/select-control/styles/select-control-styles.js +33 -9
  183. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  184. package/build-module/style-provider/index.js +1 -0
  185. package/build-module/style-provider/index.js.map +1 -1
  186. package/build-module/toggle-group-control/toggle-group-control/component.js +8 -3
  187. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  188. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +25 -14
  189. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  190. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  191. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  192. package/build-module/tools-panel/styles.js +12 -11
  193. package/build-module/tools-panel/styles.js.map +1 -1
  194. package/build-module/tools-panel/tools-panel/component.js +5 -8
  195. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  196. package/build-module/tools-panel/tools-panel/hook.js +48 -17
  197. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  198. package/build-module/tools-panel/tools-panel-item/hook.js +5 -1
  199. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  200. package/build-module/unit-control/styles/unit-control-styles.js +23 -41
  201. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  202. package/build-module/z-stack/component.js.map +1 -1
  203. package/build-module/z-stack/styles.js +13 -8
  204. package/build-module/z-stack/styles.js.map +1 -1
  205. package/build-style/style-rtl.css +34 -12
  206. package/build-style/style.css +34 -12
  207. package/build-types/base-field/hook.d.ts +16 -16
  208. package/build-types/card/card/hook.d.ts +16 -16
  209. package/build-types/card/card-body/hook.d.ts +16 -16
  210. package/build-types/card/card-divider/hook.d.ts +18 -18
  211. package/build-types/card/card-footer/hook.d.ts +17 -17
  212. package/build-types/card/card-header/hook.d.ts +16 -16
  213. package/build-types/card/card-media/hook.d.ts +16 -16
  214. package/build-types/divider/component.d.ts +8 -7
  215. package/build-types/divider/component.d.ts.map +1 -1
  216. package/build-types/divider/styles.d.ts +2 -2
  217. package/build-types/divider/styles.d.ts.map +1 -1
  218. package/build-types/divider/types.d.ts +5 -5
  219. package/build-types/divider/types.d.ts.map +1 -1
  220. package/build-types/elevation/hook.d.ts +15 -15
  221. package/build-types/flex/flex/hook.d.ts +16 -16
  222. package/build-types/flex/flex-block/hook.d.ts +16 -16
  223. package/build-types/flex/flex-item/hook.d.ts +16 -16
  224. package/build-types/flyout/flyout/hook.d.ts +17 -17
  225. package/build-types/flyout/styles.d.ts +7 -9
  226. package/build-types/flyout/styles.d.ts.map +1 -1
  227. package/build-types/grid/hook.d.ts +16 -16
  228. package/build-types/h-stack/hook.d.ts +16 -16
  229. package/build-types/heading/hook.d.ts +16 -16
  230. package/build-types/input-control/index.d.ts +1 -1
  231. package/build-types/input-control/index.d.ts.map +1 -1
  232. package/build-types/input-control/input-field.d.ts +1 -1
  233. package/build-types/input-control/input-field.d.ts.map +1 -1
  234. package/build-types/input-control/styles/input-control-styles.d.ts +1 -2
  235. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  236. package/build-types/input-control/types.d.ts +2 -1
  237. package/build-types/input-control/types.d.ts.map +1 -1
  238. package/build-types/item-group/item/hook.d.ts +16 -16
  239. package/build-types/item-group/item-group/hook.d.ts +16 -16
  240. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  241. package/build-types/scrollable/hook.d.ts +16 -16
  242. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  243. package/build-types/select-control/types.d.ts +1 -1
  244. package/build-types/select-control/types.d.ts.map +1 -1
  245. package/build-types/spacer/hook.d.ts +16 -16
  246. package/build-types/surface/hook.d.ts +16 -16
  247. package/build-types/text/hook.d.ts +16 -16
  248. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  249. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -1
  250. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  251. package/build-types/tools-panel/styles.d.ts.map +1 -1
  252. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  253. package/build-types/tools-panel/tools-panel/hook.d.ts +16 -16
  254. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  255. package/build-types/tools-panel/tools-panel-header/hook.d.ts +16 -16
  256. package/build-types/tools-panel/tools-panel-item/hook.d.ts +16 -16
  257. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  258. package/build-types/tools-panel/types.d.ts +2 -1
  259. package/build-types/tools-panel/types.d.ts.map +1 -1
  260. package/build-types/truncate/hook.d.ts +16 -16
  261. package/build-types/ui/control-group/hook.d.ts +18 -18
  262. package/build-types/ui/control-label/hook.d.ts +16 -16
  263. package/build-types/ui/form-group/form-group.d.ts +4 -4
  264. package/build-types/ui/form-group/use-form-group.d.ts +55 -55
  265. package/build-types/unit-control/index.d.ts +1 -1
  266. package/build-types/unit-control/index.d.ts.map +1 -1
  267. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -0
  268. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  269. package/build-types/unit-control/types.d.ts +2 -2
  270. package/build-types/unit-control/types.d.ts.map +1 -1
  271. package/build-types/v-stack/hook.d.ts +16 -16
  272. package/build-types/z-stack/component.d.ts +1 -1
  273. package/build-types/z-stack/styles.d.ts.map +1 -1
  274. package/package.json +21 -23
  275. package/src/alignment-matrix-control/stories/index.js +1 -1
  276. package/src/angle-picker-control/index.js +2 -0
  277. package/src/base-control/stories/index.js +1 -1
  278. package/src/button/index.native.js +15 -1
  279. package/src/button/stories/index.js +1 -1
  280. package/src/button/style.scss +14 -0
  281. package/src/card/card/README.md +3 -3
  282. package/src/card/stories/index.js +1 -1
  283. package/src/card/test/__snapshots__/index.js.snap +6 -6
  284. package/src/checkbox-control/index.js +1 -1
  285. package/src/checkbox-control/stories/index.js +1 -1
  286. package/src/clipboard-button/index.js +1 -2
  287. package/src/color-indicator/stories/index.js +1 -1
  288. package/src/color-indicator/style.scss +5 -8
  289. package/src/color-palette/index.js +37 -9
  290. package/src/color-palette/stories/index.js +1 -1
  291. package/src/color-palette/style.scss +10 -1
  292. package/src/color-palette/test/__snapshots__/index.js.snap +30 -21
  293. package/src/color-picker/color-display.tsx +3 -2
  294. package/src/color-picker/hex-input.tsx +2 -1
  295. package/src/color-picker/input-with-slider.tsx +2 -1
  296. package/src/color-picker/stories/index.js +1 -1
  297. package/src/combobox-control/README.md +2 -2
  298. package/src/confirm-dialog/README.md +128 -0
  299. package/src/confirm-dialog/component.tsx +114 -0
  300. package/src/confirm-dialog/index.tsx +6 -0
  301. package/src/confirm-dialog/stories/index.js +120 -0
  302. package/src/confirm-dialog/test/index.js +302 -0
  303. package/src/confirm-dialog/types.ts +26 -0
  304. package/src/custom-gradient-bar/constants.js +0 -5
  305. package/src/custom-gradient-bar/control-points.js +40 -9
  306. package/src/custom-gradient-bar/index.js +8 -0
  307. package/src/custom-gradient-picker/index.js +9 -1
  308. package/src/custom-gradient-picker/style.scss +0 -4
  309. package/src/date-time/README.md +7 -0
  310. package/src/date-time/date.js +67 -84
  311. package/src/date-time/stories/index.js +1 -1
  312. package/src/date-time/stories/time.js +1 -1
  313. package/src/date-time/test/date.js +3 -29
  314. package/src/date-time/test/utils.js +32 -0
  315. package/src/date-time/utils.js +18 -0
  316. package/src/dimension-control/README.md +1 -1
  317. package/src/divider/README.md +33 -5
  318. package/src/divider/component.tsx +8 -7
  319. package/src/divider/stories/index.js +43 -17
  320. package/src/divider/styles.ts +53 -16
  321. package/src/divider/test/__snapshots__/index.js.snap +11 -11
  322. package/src/divider/test/index.js +4 -4
  323. package/src/divider/types.ts +5 -5
  324. package/src/drop-zone/index.js +14 -6
  325. package/src/drop-zone/provider.js +1 -0
  326. package/src/dropdown-menu/stories/index.js +1 -1
  327. package/src/duotone-picker/README.md +1 -1
  328. package/src/elevation/stories/index.js +1 -1
  329. package/src/external-link/stories/index.js +1 -1
  330. package/src/flyout/styles.ts +4 -2
  331. package/src/focusable-iframe/index.js +1 -0
  332. package/src/font-size-picker/index.js +27 -13
  333. package/src/font-size-picker/stories/index.js +63 -1
  334. package/src/font-size-picker/test/index.js +87 -0
  335. package/src/font-size-picker/test/util.js +74 -0
  336. package/src/font-size-picker/utils.js +31 -17
  337. package/src/form-token-field/stories/index.js +1 -1
  338. package/src/gradient-picker/index.js +4 -0
  339. package/src/gradient-picker/stories/index.js +1 -1
  340. package/src/grid/stories/index.js +1 -1
  341. package/src/guide/stories/index.js +1 -1
  342. package/src/higher-order/with-focus-outside/index.js +2 -0
  343. package/src/icon/stories/index.js +1 -1
  344. package/src/index.js +1 -0
  345. package/src/input-control/stories/index.js +2 -1
  346. package/src/input-control/styles/input-control-styles.tsx +16 -6
  347. package/src/input-control/types.ts +3 -1
  348. package/src/item-group/stories/index.js +84 -2
  349. package/src/menu-item/README.md +2 -2
  350. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +6 -2
  351. package/src/mobile/color-settings/index.native.js +2 -0
  352. package/src/mobile/color-settings/palette.screen.native.js +8 -5
  353. package/src/mobile/color-settings/style.native.scss +1 -1
  354. package/src/mobile/global-styles-context/utils.native.js +1 -1
  355. package/src/mobile/gridicons/index.native.js +3 -3
  356. package/src/mobile/inserter-button/style.native.scss +1 -0
  357. package/src/mobile/link-picker/index.native.js +41 -7
  358. package/src/mobile/link-settings/index.native.js +11 -0
  359. package/src/mobile/link-settings/test/edit.native.js +432 -0
  360. package/src/modal/README.md +10 -0
  361. package/src/modal/aria-helper.js +2 -0
  362. package/src/modal/index.js +72 -55
  363. package/src/modal/stories/index.js +6 -1
  364. package/src/modal/style.scss +9 -0
  365. package/src/modal/test/index.js +11 -0
  366. package/src/navigation/README.md +0 -9
  367. package/src/notice/stories/index.js +1 -1
  368. package/src/number-control/stories/index.js +1 -1
  369. package/src/palette-edit/index.js +15 -16
  370. package/src/palette-edit/style.scss +5 -0
  371. package/src/panel/stories/index.js +1 -1
  372. package/src/placeholder/stories/index.js +1 -1
  373. package/src/popover/stories/index.js +1 -1
  374. package/src/query-controls/README.md +138 -6
  375. package/src/radio-group/README.md +4 -1
  376. package/src/range-control/stories/index.js +1 -1
  377. package/src/resizable-box/stories/index.js +1 -1
  378. package/src/scrollable/stories/index.js +1 -1
  379. package/src/search-control/stories/index.js +1 -1
  380. package/src/select-control/stories/index.js +2 -1
  381. package/src/select-control/styles/select-control-styles.ts +25 -2
  382. package/src/select-control/types.ts +1 -1
  383. package/src/slot-fill/stories/index.js +1 -1
  384. package/src/snackbar/stories/index.js +1 -1
  385. package/src/spacer/stories/index.js +1 -1
  386. package/src/style-provider/index.js +2 -0
  387. package/src/surface/stories/index.js +1 -1
  388. package/src/tab-panel/stories/index.js +1 -1
  389. package/src/text-control/stories/index.js +1 -1
  390. package/src/text-highlight/stories/index.js +1 -1
  391. package/src/textarea-control/stories/index.js +1 -1
  392. package/src/tip/stories/index.js +1 -1
  393. package/src/toggle-control/stories/index.js +1 -1
  394. package/src/toggle-group-control/stories/index.js +1 -1
  395. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -2
  396. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +24 -9
  397. package/src/toggle-group-control/toggle-group-control-option/styles.ts +3 -0
  398. package/src/toolbar-button/stories/index.js +1 -1
  399. package/src/tools-panel/stories/index.js +237 -0
  400. package/src/tools-panel/styles.ts +41 -1
  401. package/src/tools-panel/test/index.js +234 -1
  402. package/src/tools-panel/tools-panel/README.md +9 -0
  403. package/src/tools-panel/tools-panel/component.tsx +2 -5
  404. package/src/tools-panel/tools-panel/hook.ts +50 -18
  405. package/src/tools-panel/tools-panel-item/hook.ts +5 -1
  406. package/src/tools-panel/types.ts +5 -1
  407. package/src/tooltip/stories/index.js +1 -1
  408. package/src/tree-select/stories/index.js +1 -1
  409. package/src/truncate/stories/index.js +1 -1
  410. package/src/unit-control/stories/index.js +19 -1
  411. package/src/unit-control/styles/unit-control-styles.ts +33 -46
  412. package/src/unit-control/types.ts +5 -2
  413. package/src/z-stack/README.md +1 -1
  414. package/src/z-stack/component.tsx +1 -1
  415. package/src/z-stack/stories/index.js +1 -1
  416. package/src/z-stack/styles.ts +7 -2
  417. package/tsconfig.json +6 -2
  418. package/tsconfig.tsbuildinfo +1 -1
@@ -22,12 +22,21 @@ const DEFAULT_COLUMNS = 2;
22
22
  const generateMenuItems = ( {
23
23
  panelItems,
24
24
  shouldReset,
25
+ currentMenuItems,
25
26
  }: ToolsPanelMenuItemsConfig ) => {
26
27
  const menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };
27
28
 
28
29
  panelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {
29
30
  const group = isShownByDefault ? 'default' : 'optional';
30
- menuItems[ group ][ label ] = shouldReset ? false : hasValue();
31
+
32
+ // If a menu item for this label already exists, do not overwrite its value.
33
+ // This can cause default controls that have been flagged as customized to
34
+ // lose their value.
35
+ const existingItemValue = currentMenuItems?.[ group ]?.[ label ];
36
+ const value =
37
+ existingItemValue !== undefined ? existingItemValue : hasValue();
38
+
39
+ menuItems[ group ][ label ] = shouldReset ? false : value;
31
40
  } );
32
41
 
33
42
  return menuItems;
@@ -62,7 +71,19 @@ export function useToolsPanel(
62
71
  const [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );
63
72
 
64
73
  const registerPanelItem = ( item: ToolsPanelItem ) => {
65
- setPanelItems( ( items ) => [ ...items, item ] );
74
+ setPanelItems( ( items ) => {
75
+ const newItems = [ ...items ];
76
+ // If an item with this label is already registered, remove it first.
77
+ // This can happen when an item is moved between the default and optional
78
+ // groups.
79
+ const existingIndex = newItems.findIndex(
80
+ ( oldItem ) => oldItem.label === item.label
81
+ );
82
+ if ( existingIndex !== -1 ) {
83
+ newItems.splice( existingIndex, 1 );
84
+ }
85
+ return [ ...newItems, item ];
86
+ } );
66
87
  };
67
88
 
68
89
  // Panels need to deregister on unmount to avoid orphans in menu state.
@@ -72,11 +93,16 @@ export function useToolsPanel(
72
93
  // controls, e.g. both panels have a "padding" control, the
73
94
  // deregistration of the first panel doesn't occur until after the
74
95
  // registration of the next.
75
- const index = panelItems.findIndex( ( item ) => item.label === label );
76
-
77
- if ( index !== -1 ) {
78
- setPanelItems( ( items ) => items.splice( index, 1 ) );
79
- }
96
+ setPanelItems( ( items ) => {
97
+ const newItems = [ ...items ];
98
+ const index = newItems.findIndex(
99
+ ( item ) => item.label === label
100
+ );
101
+ if ( index !== -1 ) {
102
+ newItems.splice( index, 1 );
103
+ }
104
+ return newItems;
105
+ } );
80
106
  };
81
107
 
82
108
  // Manage and share display state of menu items representing child controls.
@@ -87,27 +113,33 @@ export function useToolsPanel(
87
113
 
88
114
  // Setup menuItems state as panel items register themselves.
89
115
  useEffect( () => {
90
- const items = generateMenuItems( {
91
- panelItems,
92
- shouldReset: false,
116
+ setMenuItems( ( prevState ) => {
117
+ const items = generateMenuItems( {
118
+ panelItems,
119
+ shouldReset: false,
120
+ currentMenuItems: prevState,
121
+ } );
122
+ return items;
93
123
  } );
94
- setMenuItems( items );
95
124
  }, [ panelItems ] );
96
125
 
97
126
  // Force a menu item to be checked.
98
127
  // This is intended for use with default panel items. They are displayed
99
128
  // separately to optional items and have different display states,
100
- //.we need to update that when their value is customized.
129
+ // we need to update that when their value is customized.
101
130
  const flagItemCustomization = (
102
131
  label: string,
103
132
  group: ToolsPanelMenuItemKey = 'default'
104
133
  ) => {
105
- setMenuItems( {
106
- ...menuItems,
107
- [ group ]: {
108
- ...menuItems[ group ],
109
- [ label ]: true,
110
- },
134
+ setMenuItems( ( items ) => {
135
+ const newState = {
136
+ ...items,
137
+ [ group ]: {
138
+ ...items[ group ],
139
+ [ label ]: true,
140
+ },
141
+ };
142
+ return newState;
111
143
  } );
112
144
  };
113
145
 
@@ -54,7 +54,11 @@ export function useToolsPanelItem(
54
54
  } );
55
55
  }
56
56
 
57
- return () => deregisterPanelItem( label );
57
+ return () => {
58
+ if ( currentPanelId === panelId ) {
59
+ deregisterPanelItem( label );
60
+ }
61
+ };
58
62
  }, [
59
63
  currentPanelId,
60
64
  panelId,
@@ -124,7 +124,10 @@ export type ToolsPanelContext = {
124
124
  hasMenuItems: boolean;
125
125
  registerPanelItem: ( item: ToolsPanelItem ) => void;
126
126
  deregisterPanelItem: ( label: string ) => void;
127
- flagItemCustomization: ( label: string ) => void;
127
+ flagItemCustomization: (
128
+ label: string,
129
+ group?: ToolsPanelMenuItemKey
130
+ ) => void;
128
131
  isResetting: boolean;
129
132
  shouldRenderPlaceholderItems: boolean;
130
133
  areAllOptionalControlsHidden: boolean;
@@ -139,4 +142,5 @@ export type ToolsPanelControlsGroupProps = {
139
142
  export type ToolsPanelMenuItemsConfig = {
140
143
  panelItems: ToolsPanelItem[];
141
144
  shouldReset: boolean;
145
+ currentMenuItems?: ToolsPanelMenuItems;
142
146
  };
@@ -18,7 +18,7 @@ export default {
18
18
  title: 'Components/ToolTip',
19
19
  component: Tooltip,
20
20
  parameters: {
21
- knobs: { disabled: false },
21
+ knobs: { disable: false },
22
22
  },
23
23
  };
24
24
 
@@ -17,7 +17,7 @@ export default {
17
17
  title: 'Components/TreeSelect',
18
18
  component: TreeSelect,
19
19
  parameters: {
20
- knobs: { disabled: false },
20
+ knobs: { disable: false },
21
21
  },
22
22
  };
23
23
 
@@ -12,7 +12,7 @@ export default {
12
12
  component: Truncate,
13
13
  title: 'Components (Experimental)/Truncate',
14
14
  parameters: {
15
- knobs: { disabled: false },
15
+ knobs: { disable: false },
16
16
  },
17
17
  };
18
18
 
@@ -19,7 +19,7 @@ export default {
19
19
  title: 'Components/UnitControl',
20
20
  component: UnitControl,
21
21
  parameters: {
22
- knobs: { disabled: false },
22
+ knobs: { disable: false },
23
23
  },
24
24
  };
25
25
 
@@ -45,6 +45,7 @@ function Example() {
45
45
  {
46
46
  default: 'default',
47
47
  small: 'small',
48
+ '__unstable-large': '__unstable-large',
48
49
  },
49
50
  'default'
50
51
  ),
@@ -67,6 +68,23 @@ export const _default = () => {
67
68
  return <Example />;
68
69
  };
69
70
 
71
+ export const WithSingleUnit = ( props ) => {
72
+ const [ value, setValue ] = useState( '10px' );
73
+ return (
74
+ <ControlWrapperView>
75
+ <UnitControl
76
+ { ...props }
77
+ value={ value }
78
+ onChange={ ( v ) => setValue( v ) }
79
+ />
80
+ </ControlWrapperView>
81
+ );
82
+ };
83
+ WithSingleUnit.args = {
84
+ label: 'Value',
85
+ units: CSS_UNITS.slice( 0, 1 ),
86
+ };
87
+
70
88
  export function WithCustomUnits() {
71
89
  const [ value, setValue ] = useState( '10km' );
72
90
 
@@ -18,6 +18,7 @@ type SelectProps = {
18
18
 
19
19
  type InputProps = {
20
20
  disableUnits?: boolean;
21
+ size: SelectSize;
21
22
  };
22
23
 
23
24
  export const Root = styled.div`
@@ -25,11 +26,21 @@ export const Root = styled.div`
25
26
  position: relative;
26
27
  `;
27
28
 
28
- const paddingStyles = ( { disableUnits }: InputProps ) => {
29
- const value = disableUnits ? 3 : 24;
29
+ const paddingStyles = ( { disableUnits, size }: InputProps ) => {
30
+ const paddings = {
31
+ default: {
32
+ paddingRight: 8,
33
+ },
34
+ small: {
35
+ paddingRight: 8,
36
+ },
37
+ '__unstable-large': {
38
+ paddingRight: disableUnits ? 16 : 8,
39
+ },
40
+ };
30
41
 
31
42
  return css`
32
- ${ rtl( { paddingRight: value } )() };
43
+ ${ rtl( paddings[ size ] )() };
33
44
  `;
34
45
  };
35
46
 
@@ -62,49 +73,24 @@ export const ValueInput = styled( NumberControl )`
62
73
  }
63
74
  `;
64
75
 
65
- const unitSizeStyles = ( { selectSize }: SelectProps ) => {
66
- const sizes = {
67
- default: {
68
- height: 28,
69
- lineHeight: '24px',
70
- minHeight: 28,
71
- top: 1,
72
- },
73
- small: {
74
- height: 22,
75
- lineHeight: '18px',
76
- minHeight: 22,
77
- top: 1,
78
- },
79
- };
80
-
81
- return css( sizes[ selectSize ] );
82
- };
83
-
84
- const baseUnitLabelStyles = ( props: SelectProps ) => {
85
- return css`
86
- appearance: none;
87
- background: transparent;
88
- border-radius: 2px;
89
- border: none;
90
- box-sizing: border-box;
91
- color: ${ COLORS.darkGray[ 500 ] };
92
- display: block;
93
- font-size: 8px;
94
- line-height: 1;
95
- letter-spacing: -0.5px;
96
- outline: none;
97
- padding: 2px 1px;
98
- position: absolute;
99
- text-align-last: center;
100
- text-transform: uppercase;
101
- width: 20px;
102
-
103
- ${ rtl( { borderTopLeftRadius: 0, borderBottomLeftRadius: 0 } )() }
104
- ${ rtl( { right: 0 } )() }
105
- ${ unitSizeStyles( props ) }
106
- `;
107
- };
76
+ const baseUnitLabelStyles = css`
77
+ appearance: none;
78
+ background: transparent;
79
+ border-radius: 2px;
80
+ border: none;
81
+ box-sizing: border-box;
82
+ color: ${ COLORS.darkGray[ 500 ] };
83
+ display: block;
84
+ font-size: 8px;
85
+ letter-spacing: -0.5px;
86
+ outline: none;
87
+ padding: 2px 1px;
88
+ text-align-last: center;
89
+ text-transform: uppercase;
90
+ width: 20px;
91
+
92
+ ${ rtl( { borderTopLeftRadius: 0, borderBottomLeftRadius: 0 } )() }
93
+ `;
108
94
 
109
95
  export const UnitLabel = styled.div< SelectProps >`
110
96
  &&& {
@@ -119,6 +105,7 @@ export const UnitSelect = styled.select< SelectProps >`
119
105
  ${ baseUnitLabelStyles };
120
106
  cursor: pointer;
121
107
  border: 1px solid transparent;
108
+ height: 100%;
122
109
 
123
110
  &:hover {
124
111
  background-color: ${ COLORS.lightGray[ 300 ] };
@@ -8,11 +8,14 @@ import type { SyntheticEvent } from 'react';
8
8
  * Internal dependencies
9
9
  */
10
10
  import type { StateReducer } from '../input-control/reducer/state';
11
- import type { InputChangeCallback } from '../input-control/types';
11
+ import type {
12
+ InputChangeCallback,
13
+ Size as InputSize,
14
+ } from '../input-control/types';
12
15
 
13
16
  export type Value = number | string;
14
17
 
15
- export type SelectSize = 'default' | 'small';
18
+ export type SelectSize = InputSize;
16
19
 
17
20
  export type WPUnitControlUnit = {
18
21
  /**
@@ -34,7 +34,7 @@ Reverse the layer ordering. When `true`, the first child has the lowest `z-index
34
34
 
35
35
  ### `offset`: `number`
36
36
 
37
- The amount of space between each child element. Defaults to `0`.
37
+ The amount of space between each child element. Defaults to `0`. Its value is automatically inverted (i.e. from positive to negative, and viceversa) when switching from LTR to RTL.
38
38
 
39
39
  ### `children`: `ReactNode`
40
40
 
@@ -31,7 +31,7 @@ export interface ZStackProps {
31
31
  */
32
32
  isReversed?: boolean;
33
33
  /**
34
- * The amount of offset between each child element.
34
+ * The amount of offset between each child element. The amount of space between each child element. Defaults to `0`. Its value is automatically inverted (i.e. from positive to negative, and viceversa) when switching from LTR to RTL.
35
35
  *
36
36
  * @default 0
37
37
  */
@@ -15,7 +15,7 @@ export default {
15
15
  component: ZStack,
16
16
  title: 'Components (Experimental)/ZStack',
17
17
  parameters: {
18
- knobs: { disabled: false },
18
+ knobs: { disable: false },
19
19
  },
20
20
  };
21
21
 
@@ -4,6 +4,11 @@
4
4
  import { css } from '@emotion/react';
5
5
  import styled from '@emotion/styled';
6
6
 
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { rtl } from '../utils';
11
+
7
12
  export const ZStackView = styled.div`
8
13
  display: flex;
9
14
  position: relative;
@@ -16,8 +21,8 @@ export const ZStackChildView = styled.div< {
16
21
  } >`
17
22
  ${ ( { isLayered, offsetAmount } ) =>
18
23
  isLayered
19
- ? css( { marginLeft: offsetAmount } )
20
- : css( { right: offsetAmount * -1 } ) }
24
+ ? css( rtl( { marginLeft: offsetAmount } )() )
25
+ : css( rtl( { right: offsetAmount * -1 } )() ) }
21
26
 
22
27
  ${ ( { isLayered } ) =>
23
28
  isLayered ? positionAbsolute : positionRelative }
package/tsconfig.json CHANGED
@@ -28,6 +28,7 @@
28
28
  "src/base-field/**/*",
29
29
  "src/button/**/*",
30
30
  "src/card/**/*",
31
+ "src/confirm-dialog/**/*",
31
32
  "src/dashicon/**/*",
32
33
  "src/disabled/**/*",
33
34
  "src/divider/**/*",
@@ -41,11 +42,13 @@
41
42
  "src/grid/**/*",
42
43
  "src/h-stack/**/*",
43
44
  "src/heading/**/*",
44
- "src/item-group/**/*",
45
- "src/input-control/**/*",
45
+ "src/higher-order/with-focus-outside/**/*",
46
46
  "src/icon/**/*",
47
+ "src/input-control/**/*",
48
+ "src/item-group/**/*",
47
49
  "src/menu-item/**/*",
48
50
  "src/menu-group/**/*",
51
+ "src/modal/**/*",
49
52
  "src/navigable-container/**/*",
50
53
  "src/navigator/**/*",
51
54
  "src/number-control/**/*",
@@ -57,6 +60,7 @@
57
60
  "src/select-control/**/*",
58
61
  "src/shortcut/**/*",
59
62
  "src/slot-fill/**/*",
63
+ "src/style-provider/**/*",
60
64
  "src/spacer/**/*",
61
65
  "src/spinner/**/*",
62
66
  "src/surface/**/*",