@wordpress/components 23.0.0 → 23.2.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 (457) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/CONTRIBUTING.md +0 -21
  3. package/LICENSE.md +1 -1
  4. package/build/autocomplete/index.js +1 -3
  5. package/build/autocomplete/index.js.map +1 -1
  6. package/build/border-box-control/border-box-control/component.js +0 -3
  7. package/build/border-box-control/border-box-control/component.js.map +1 -1
  8. package/build/border-box-control/border-box-control/hook.js +0 -2
  9. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  10. package/build/border-box-control/border-box-control-split-controls/component.js +0 -2
  11. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  12. package/build/border-box-control/border-box-control-split-controls/hook.js +0 -2
  13. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  14. package/build/border-control/border-control/component.js +0 -2
  15. package/build/border-control/border-control/component.js.map +1 -1
  16. package/build/border-control/border-control/hook.js +0 -2
  17. package/build/border-control/border-control/hook.js.map +1 -1
  18. package/build/border-control/border-control-dropdown/component.js +6 -11
  19. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  20. package/build/border-control/border-control-dropdown/hook.js +0 -2
  21. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  22. package/build/color-palette/index.js +5 -8
  23. package/build/color-palette/index.js.map +1 -1
  24. package/build/color-picker/component.js +1 -0
  25. package/build/color-picker/component.js.map +1 -1
  26. package/build/color-picker/styles.js +8 -10
  27. package/build/color-picker/styles.js.map +1 -1
  28. package/build/combobox-control/index.js +5 -1
  29. package/build/combobox-control/index.js.map +1 -1
  30. package/build/dimension-control/index.js.map +1 -1
  31. package/build/dropdown/index.js +45 -10
  32. package/build/dropdown/index.js.map +1 -1
  33. package/build/focal-point-picker/utils.js +1 -1
  34. package/build/focal-point-picker/utils.js.map +1 -1
  35. package/build/gradient-picker/index.js +1 -2
  36. package/build/gradient-picker/index.js.map +1 -1
  37. package/build/higher-order/navigate-regions/index.js +4 -3
  38. package/build/higher-order/navigate-regions/index.js.map +1 -1
  39. package/build/index.js +7 -25
  40. package/build/index.js.map +1 -1
  41. package/build/index.native.js +8 -18
  42. package/build/index.native.js.map +1 -1
  43. package/build/item-group/item/component.js +27 -3
  44. package/build/item-group/item/component.js.map +1 -1
  45. package/build/item-group/item-group/component.js +26 -3
  46. package/build/item-group/item-group/component.js.map +1 -1
  47. package/build/item-group/styles.js +14 -14
  48. package/build/item-group/styles.js.map +1 -1
  49. package/build/mobile/bottom-sheet/picker-cell.native.js +1 -9
  50. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  51. package/build/mobile/global-styles-context/utils.native.js +30 -12
  52. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  53. package/build/panel/row.js +5 -3
  54. package/build/panel/row.js.map +1 -1
  55. package/build/query-controls/index.js +1 -0
  56. package/build/query-controls/index.js.map +1 -1
  57. package/build/resizable-box/index.js +5 -4
  58. package/build/resizable-box/index.js.map +1 -1
  59. package/build/responsive-wrapper/index.js +18 -1
  60. package/build/responsive-wrapper/index.js.map +1 -1
  61. package/build/responsive-wrapper/types.js +6 -0
  62. package/build/responsive-wrapper/types.js.map +1 -0
  63. package/build/sandbox/index.js +35 -24
  64. package/build/sandbox/index.js.map +1 -1
  65. package/build/sandbox/types.js +6 -0
  66. package/build/sandbox/types.js.map +1 -0
  67. package/build/tab-panel/index.js +15 -9
  68. package/build/tab-panel/index.js.map +1 -1
  69. package/build/toolbar/index.js +42 -60
  70. package/build/toolbar/index.js.map +1 -1
  71. package/build/toolbar/toolbar/index.js +74 -0
  72. package/build/toolbar/toolbar/index.js.map +1 -0
  73. package/build/toolbar/{toolbar-container.js → toolbar/toolbar-container.js} +0 -0
  74. package/build/toolbar/toolbar/toolbar-container.js.map +1 -0
  75. package/build/toolbar/{toolbar-container.native.js → toolbar/toolbar-container.native.js} +0 -0
  76. package/build/toolbar/toolbar/toolbar-container.native.js.map +1 -0
  77. package/build/{toolbar-button → toolbar/toolbar-button}/index.js +1 -1
  78. package/build/toolbar/toolbar-button/index.js.map +1 -0
  79. package/build/{toolbar-button → toolbar/toolbar-button}/toolbar-button-container.js +0 -0
  80. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -0
  81. package/build/{toolbar-button → toolbar/toolbar-button}/toolbar-button-container.native.js +0 -0
  82. package/build/toolbar/toolbar-button/toolbar-button-container.native.js.map +1 -0
  83. package/build/{toolbar-context → toolbar/toolbar-context}/index.js +0 -0
  84. package/build/toolbar/toolbar-context/index.js.map +1 -0
  85. package/build/{toolbar-dropdown-menu → toolbar/toolbar-dropdown-menu}/index.js +1 -1
  86. package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -0
  87. package/build/{toolbar-group → toolbar/toolbar-group}/index.js +0 -0
  88. package/build/toolbar/toolbar-group/index.js.map +1 -0
  89. package/build/{toolbar-group → toolbar/toolbar-group}/toolbar-group-collapsed.js +1 -1
  90. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -0
  91. package/build/{toolbar-group → toolbar/toolbar-group}/toolbar-group-collapsed.native.js +1 -1
  92. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -0
  93. package/build/{toolbar-group → toolbar/toolbar-group}/toolbar-group-container.js +0 -0
  94. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -0
  95. package/build/{toolbar-group → toolbar/toolbar-group}/toolbar-group-container.native.js +0 -0
  96. package/build/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -0
  97. package/build/{toolbar-item → toolbar/toolbar-item}/index.js +0 -0
  98. package/build/toolbar/toolbar-item/index.js.map +1 -0
  99. package/build/{toolbar-item → toolbar/toolbar-item}/index.native.js +0 -0
  100. package/build/toolbar/toolbar-item/index.native.js.map +1 -0
  101. package/build/tree-grid/index.js +3 -3
  102. package/build/tree-grid/index.js.map +1 -1
  103. package/build-module/autocomplete/index.js +1 -2
  104. package/build-module/autocomplete/index.js.map +1 -1
  105. package/build-module/border-box-control/border-box-control/component.js +0 -3
  106. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  107. package/build-module/border-box-control/border-box-control/hook.js +0 -2
  108. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  109. package/build-module/border-box-control/border-box-control-split-controls/component.js +0 -2
  110. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  111. package/build-module/border-box-control/border-box-control-split-controls/hook.js +0 -2
  112. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  113. package/build-module/border-control/border-control/component.js +0 -2
  114. package/build-module/border-control/border-control/component.js.map +1 -1
  115. package/build-module/border-control/border-control/hook.js +0 -2
  116. package/build-module/border-control/border-control/hook.js.map +1 -1
  117. package/build-module/border-control/border-control-dropdown/component.js +6 -11
  118. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  119. package/build-module/border-control/border-control-dropdown/hook.js +0 -2
  120. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  121. package/build-module/color-palette/index.js +5 -8
  122. package/build-module/color-palette/index.js.map +1 -1
  123. package/build-module/color-picker/component.js +1 -0
  124. package/build-module/color-picker/component.js.map +1 -1
  125. package/build-module/color-picker/styles.js +8 -9
  126. package/build-module/color-picker/styles.js.map +1 -1
  127. package/build-module/combobox-control/index.js +5 -1
  128. package/build-module/combobox-control/index.js.map +1 -1
  129. package/build-module/dimension-control/index.js +1 -2
  130. package/build-module/dimension-control/index.js.map +1 -1
  131. package/build-module/dropdown/index.js +44 -10
  132. package/build-module/dropdown/index.js.map +1 -1
  133. package/build-module/focal-point-picker/utils.js +1 -1
  134. package/build-module/focal-point-picker/utils.js.map +1 -1
  135. package/build-module/gradient-picker/index.js +1 -2
  136. package/build-module/gradient-picker/index.js.map +1 -1
  137. package/build-module/higher-order/navigate-regions/index.js +4 -3
  138. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  139. package/build-module/index.js +1 -7
  140. package/build-module/index.js.map +1 -1
  141. package/build-module/index.native.js +1 -6
  142. package/build-module/index.native.js.map +1 -1
  143. package/build-module/item-group/item/component.js +26 -2
  144. package/build-module/item-group/item/component.js.map +1 -1
  145. package/build-module/item-group/item-group/component.js +25 -2
  146. package/build-module/item-group/item-group/component.js.map +1 -1
  147. package/build-module/item-group/styles.js +14 -14
  148. package/build-module/item-group/styles.js.map +1 -1
  149. package/build-module/mobile/bottom-sheet/picker-cell.native.js +1 -8
  150. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  151. package/build-module/mobile/global-styles-context/utils.native.js +31 -13
  152. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  153. package/build-module/panel/row.js +5 -3
  154. package/build-module/panel/row.js.map +1 -1
  155. package/build-module/query-controls/index.js +1 -0
  156. package/build-module/query-controls/index.js.map +1 -1
  157. package/build-module/resizable-box/index.js +3 -2
  158. package/build-module/resizable-box/index.js.map +1 -1
  159. package/build-module/responsive-wrapper/index.js +20 -1
  160. package/build-module/responsive-wrapper/index.js.map +1 -1
  161. package/build-module/responsive-wrapper/types.js +2 -0
  162. package/build-module/responsive-wrapper/types.js.map +1 -0
  163. package/build-module/sandbox/index.js +37 -23
  164. package/build-module/sandbox/index.js.map +1 -1
  165. package/build-module/sandbox/types.js +2 -0
  166. package/build-module/sandbox/types.js.map +1 -0
  167. package/build-module/tab-panel/index.js +15 -8
  168. package/build-module/tab-panel/index.js.map +1 -1
  169. package/build-module/toolbar/index.js +6 -58
  170. package/build-module/toolbar/index.js.map +1 -1
  171. package/build-module/toolbar/toolbar/index.js +59 -0
  172. package/build-module/toolbar/toolbar/index.js.map +1 -0
  173. package/build-module/toolbar/{toolbar-container.js → toolbar/toolbar-container.js} +0 -0
  174. package/{build → build-module/toolbar}/toolbar/toolbar-container.js.map +1 -1
  175. package/build-module/toolbar/{toolbar-container.native.js → toolbar/toolbar-container.native.js} +0 -0
  176. package/build-module/toolbar/toolbar/toolbar-container.native.js.map +1 -0
  177. package/build-module/{toolbar-button → toolbar/toolbar-button}/index.js +1 -1
  178. package/build-module/toolbar/toolbar-button/index.js.map +1 -0
  179. package/build-module/{toolbar-button → toolbar/toolbar-button}/toolbar-button-container.js +0 -0
  180. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -0
  181. package/build-module/{toolbar-button → toolbar/toolbar-button}/toolbar-button-container.native.js +0 -0
  182. package/build-module/toolbar/toolbar-button/toolbar-button-container.native.js.map +1 -0
  183. package/build-module/{toolbar-context → toolbar/toolbar-context}/index.js +0 -0
  184. package/build-module/toolbar/toolbar-context/index.js.map +1 -0
  185. package/build-module/{toolbar-dropdown-menu → toolbar/toolbar-dropdown-menu}/index.js +1 -1
  186. package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -0
  187. package/build-module/{toolbar-group → toolbar/toolbar-group}/index.js +0 -0
  188. package/build-module/toolbar/toolbar-group/index.js.map +1 -0
  189. package/build-module/{toolbar-group → toolbar/toolbar-group}/toolbar-group-collapsed.js +1 -1
  190. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -0
  191. package/build-module/{toolbar-group → toolbar/toolbar-group}/toolbar-group-collapsed.native.js +1 -1
  192. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -0
  193. package/build-module/{toolbar-group → toolbar/toolbar-group}/toolbar-group-container.js +0 -0
  194. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -0
  195. package/build-module/{toolbar-group → toolbar/toolbar-group}/toolbar-group-container.native.js +0 -0
  196. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -0
  197. package/build-module/{toolbar-item → toolbar/toolbar-item}/index.js +0 -0
  198. package/build-module/toolbar/toolbar-item/index.js.map +1 -0
  199. package/build-module/{toolbar-item → toolbar/toolbar-item}/index.native.js +0 -0
  200. package/build-module/toolbar/toolbar-item/index.native.js.map +1 -0
  201. package/build-module/tree-grid/index.js +3 -3
  202. package/build-module/tree-grid/index.js.map +1 -1
  203. package/build-style/style-rtl.css +19 -32
  204. package/build-style/style.css +19 -32
  205. package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
  206. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  207. package/build-types/border-box-control/border-box-control/hook.d.ts +0 -1
  208. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  209. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  210. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  211. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +0 -1
  212. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  213. package/build-types/border-box-control/stories/index.d.ts +1 -1
  214. package/build-types/border-control/border-control/component.d.ts +1 -1
  215. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  216. package/build-types/border-control/border-control/hook.d.ts +0 -1
  217. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  218. package/build-types/border-control/border-control-dropdown/component.d.ts +1 -1
  219. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  220. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  221. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  222. package/build-types/border-control/stories/index.d.ts +6 -6
  223. package/build-types/border-control/stories/index.d.ts.map +1 -1
  224. package/build-types/border-control/types.d.ts +1 -1
  225. package/build-types/border-control/types.d.ts.map +1 -1
  226. package/build-types/color-palette/index.d.ts +2 -3
  227. package/build-types/color-palette/index.d.ts.map +1 -1
  228. package/build-types/color-palette/stories/index.d.ts +2 -9
  229. package/build-types/color-palette/stories/index.d.ts.map +1 -1
  230. package/build-types/color-palette/types.d.ts +3 -16
  231. package/build-types/color-palette/types.d.ts.map +1 -1
  232. package/build-types/color-picker/component.d.ts.map +1 -1
  233. package/build-types/color-picker/styles.d.ts.map +1 -1
  234. package/build-types/dashicon/types.d.ts +0 -4
  235. package/build-types/dashicon/types.d.ts.map +1 -1
  236. package/build-types/disabled/stories/index.d.ts.map +1 -1
  237. package/build-types/dropdown/index.d.ts +29 -1
  238. package/build-types/dropdown/index.d.ts.map +1 -1
  239. package/build-types/dropdown/stories/index.d.ts +23 -0
  240. package/build-types/dropdown/stories/index.d.ts.map +1 -0
  241. package/build-types/dropdown/test/index.d.ts +2 -0
  242. package/build-types/dropdown/test/index.d.ts.map +1 -0
  243. package/build-types/dropdown/types.d.ts +101 -0
  244. package/build-types/dropdown/types.d.ts.map +1 -1
  245. package/build-types/focal-point-picker/utils.d.ts.map +1 -1
  246. package/build-types/icon/stories/index.d.ts +22 -0
  247. package/build-types/icon/stories/index.d.ts.map +1 -0
  248. package/build-types/item-group/item/component.d.ts +24 -2
  249. package/build-types/item-group/item/component.d.ts.map +1 -1
  250. package/build-types/item-group/item-group/component.d.ts +23 -2
  251. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  252. package/build-types/item-group/stories/index.d.ts +15 -0
  253. package/build-types/item-group/stories/index.d.ts.map +1 -0
  254. package/build-types/item-group/styles.d.ts.map +1 -1
  255. package/build-types/radio-context/index.d.ts +6 -0
  256. package/build-types/radio-context/index.d.ts.map +1 -0
  257. package/build-types/resizable-box/index.d.ts +6 -7
  258. package/build-types/resizable-box/index.d.ts.map +1 -1
  259. package/build-types/resizable-box/stories/index.d.ts +61 -0
  260. package/build-types/resizable-box/stories/index.d.ts.map +1 -0
  261. package/build-types/responsive-wrapper/index.d.ts +24 -0
  262. package/build-types/responsive-wrapper/index.d.ts.map +1 -0
  263. package/build-types/responsive-wrapper/stories/index.d.ts +12 -0
  264. package/build-types/responsive-wrapper/stories/index.d.ts.map +1 -0
  265. package/build-types/responsive-wrapper/types.d.ts +22 -0
  266. package/build-types/responsive-wrapper/types.d.ts.map +1 -0
  267. package/build-types/sandbox/index.d.ts +19 -0
  268. package/build-types/sandbox/index.d.ts.map +1 -0
  269. package/build-types/sandbox/stories/index.d.ts +12 -0
  270. package/build-types/sandbox/stories/index.d.ts.map +1 -0
  271. package/build-types/sandbox/test/index.d.ts +2 -0
  272. package/build-types/sandbox/test/index.d.ts.map +1 -0
  273. package/build-types/sandbox/types.d.ts +36 -0
  274. package/build-types/sandbox/types.d.ts.map +1 -0
  275. package/build-types/tab-panel/index.d.ts.map +1 -1
  276. package/build-types/tab-panel/stories/index.d.ts +1 -0
  277. package/build-types/tab-panel/stories/index.d.ts.map +1 -1
  278. package/build-types/tab-panel/types.d.ts +10 -4
  279. package/build-types/tab-panel/types.d.ts.map +1 -1
  280. package/package.json +17 -17
  281. package/src/autocomplete/index.js +1 -3
  282. package/src/autocomplete/test/index.js +2 -0
  283. package/src/base-control/test/index.tsx +1 -0
  284. package/src/border-box-control/border-box-control/component.tsx +0 -7
  285. package/src/border-box-control/border-box-control/hook.ts +0 -2
  286. package/src/border-box-control/border-box-control-split-controls/component.tsx +0 -2
  287. package/src/border-box-control/border-box-control-split-controls/hook.ts +0 -2
  288. package/src/border-box-control/test/index.js +2 -0
  289. package/src/border-control/border-control/component.tsx +0 -4
  290. package/src/border-control/border-control/hook.ts +0 -2
  291. package/src/border-control/border-control-dropdown/component.tsx +11 -17
  292. package/src/border-control/border-control-dropdown/hook.ts +0 -2
  293. package/src/border-control/stories/index.tsx +0 -1
  294. package/src/border-control/test/index.js +70 -67
  295. package/src/border-control/types.ts +1 -4
  296. package/src/box-control/test/index.js +2 -0
  297. package/src/checkbox-control/test/index.tsx +2 -0
  298. package/src/color-palette/index.tsx +12 -12
  299. package/src/color-palette/stories/index.tsx +0 -13
  300. package/src/color-palette/test/index.tsx +2 -0
  301. package/src/color-palette/types.ts +3 -17
  302. package/src/color-picker/component.tsx +1 -0
  303. package/src/color-picker/stories/index.js +20 -60
  304. package/src/color-picker/styles.ts +0 -5
  305. package/src/color-picker/test/index.js +2 -0
  306. package/src/combobox-control/index.js +9 -1
  307. package/src/combobox-control/test/index.js +2 -0
  308. package/src/confirm-dialog/test/index.js +2 -0
  309. package/src/dashicon/types.ts +0 -6
  310. package/src/date-time/date/test/index.tsx +2 -0
  311. package/src/date-time/time/test/index.tsx +2 -0
  312. package/src/dimension-control/index.js +2 -3
  313. package/src/dimension-control/test/index.test.js +2 -0
  314. package/src/disabled/stories/index.tsx +6 -2
  315. package/src/disabled/test/index.tsx +2 -0
  316. package/src/dropdown/README.md +41 -46
  317. package/src/dropdown/{index.js → index.tsx} +57 -13
  318. package/src/dropdown/stories/{index.js → index.tsx} +21 -8
  319. package/src/dropdown/test/{index.js → index.tsx} +9 -9
  320. package/src/dropdown/types.ts +107 -0
  321. package/src/dropdown-menu/README.md +2 -3
  322. package/src/dropdown-menu/test/index.js +2 -0
  323. package/src/external-link/test/index.tsx +2 -0
  324. package/src/focal-point-picker/stories/index.tsx +1 -1
  325. package/src/focal-point-picker/test/index.js +2 -0
  326. package/src/focal-point-picker/utils.ts +4 -1
  327. package/src/font-size-picker/test/index.tsx +2 -0
  328. package/src/form-file-upload/test/index.tsx +2 -0
  329. package/src/form-toggle/test/index.tsx +2 -0
  330. package/src/form-token-field/test/index.tsx +3 -0
  331. package/src/gradient-picker/index.js +1 -2
  332. package/src/gradient-picker/stories/index.js +0 -1
  333. package/src/guide/stories/index.js +14 -41
  334. package/src/guide/test/index.js +2 -0
  335. package/src/higher-order/navigate-regions/index.js +5 -2
  336. package/src/higher-order/navigate-regions/style.scss +13 -39
  337. package/src/higher-order/with-filters/test/index.js +70 -74
  338. package/src/higher-order/with-focus-outside/test/index.js +2 -0
  339. package/src/higher-order/with-focus-return/test/index.js +2 -0
  340. package/src/higher-order/with-notices/test/index.js +1 -0
  341. package/src/icon/stories/index.tsx +103 -0
  342. package/src/index.js +8 -7
  343. package/src/index.native.js +8 -6
  344. package/src/input-control/test/index.js +3 -0
  345. package/src/isolated-event-container/test/index.js +2 -0
  346. package/src/item-group/item/component.tsx +26 -2
  347. package/src/item-group/item-group/component.tsx +25 -2
  348. package/src/item-group/stories/index.tsx +103 -0
  349. package/src/item-group/styles.ts +1 -0
  350. package/src/item-group/test/__snapshots__/index.js.snap +11 -10
  351. package/src/mobile/bottom-sheet/picker-cell.native.js +1 -6
  352. package/src/mobile/global-styles-context/utils.native.js +17 -16
  353. package/src/modal/test/index.tsx +1 -3
  354. package/src/navigable-container/test/navigable-menu.js +2 -0
  355. package/src/navigable-container/test/tababble-container.js +2 -0
  356. package/src/navigation/test/index.js +2 -0
  357. package/src/navigator/test/index.tsx +2 -0
  358. package/src/notice/stories/index.js +30 -58
  359. package/src/notice/test/index.js +8 -3
  360. package/src/number-control/test/index.tsx +2 -0
  361. package/src/panel/row.js +3 -3
  362. package/src/panel/stories/index.js +62 -80
  363. package/src/panel/test/__snapshots__/body.js.snap +9 -0
  364. package/src/panel/test/body.js +71 -62
  365. package/src/placeholder/style.scss +1 -1
  366. package/src/placeholder/test/index.tsx +3 -0
  367. package/src/query-controls/index.js +1 -0
  368. package/src/resizable-box/README.md +2 -2
  369. package/src/resizable-box/index.tsx +7 -6
  370. package/src/resizable-box/stories/index.tsx +92 -0
  371. package/src/responsive-wrapper/README.md +29 -0
  372. package/src/responsive-wrapper/{index.js → index.tsx} +23 -2
  373. package/src/responsive-wrapper/stories/index.tsx +38 -0
  374. package/src/responsive-wrapper/types.ts +20 -0
  375. package/src/sandbox/README.md +45 -2
  376. package/src/sandbox/{index.js → index.tsx} +47 -24
  377. package/src/sandbox/stories/index.tsx +32 -0
  378. package/src/sandbox/test/{index.js → index.tsx} +9 -4
  379. package/src/sandbox/types.ts +34 -0
  380. package/src/select-control/test/select-control.tsx +2 -0
  381. package/src/slot-fill/stories/index.js +12 -17
  382. package/src/style.scss +3 -3
  383. package/src/tab-panel/README.md +1 -0
  384. package/src/tab-panel/index.tsx +20 -7
  385. package/src/tab-panel/stories/index.tsx +20 -0
  386. package/src/tab-panel/test/index.tsx +91 -0
  387. package/src/tab-panel/types.ts +10 -4
  388. package/src/text-highlight/test/index.tsx +1 -0
  389. package/src/toggle-group-control/test/index.tsx +2 -0
  390. package/src/toolbar/index.js +6 -52
  391. package/src/toolbar/stories/index.js +2 -9
  392. package/src/{toolbar-button/stories/index.js → toolbar/stories/toolbar-button.js} +1 -2
  393. package/src/{toolbar-group/stories/index.js → toolbar/stories/toolbar-group.js} +1 -1
  394. package/src/toolbar/test/index.js +1 -2
  395. package/src/{toolbar-group/test/index.js → toolbar/test/toolbar-group.js} +3 -1
  396. package/src/toolbar/{README.md → toolbar/README.md} +0 -0
  397. package/src/toolbar/toolbar/index.js +52 -0
  398. package/src/toolbar/{style.native.scss → toolbar/style.native.scss} +0 -0
  399. package/src/toolbar/{style.scss → toolbar/style.scss} +1 -1
  400. package/src/toolbar/{toolbar-container.js → toolbar/toolbar-container.js} +0 -0
  401. package/src/toolbar/{toolbar-container.native.js → toolbar/toolbar-container.native.js} +0 -0
  402. package/src/{toolbar-button → toolbar/toolbar-button}/README.md +0 -0
  403. package/src/{toolbar-button → toolbar/toolbar-button}/index.js +1 -1
  404. package/src/{toolbar-button → toolbar/toolbar-button}/style.scss +0 -0
  405. package/src/{toolbar-button → toolbar/toolbar-button}/toolbar-button-container.js +0 -0
  406. package/src/{toolbar-button → toolbar/toolbar-button}/toolbar-button-container.native.js +0 -0
  407. package/src/{toolbar-context → toolbar/toolbar-context}/index.js +0 -0
  408. package/src/{toolbar-dropdown-menu → toolbar/toolbar-dropdown-menu}/README.md +0 -0
  409. package/src/{toolbar-dropdown-menu → toolbar/toolbar-dropdown-menu}/index.js +1 -1
  410. package/src/{toolbar-group → toolbar/toolbar-group}/README.md +0 -0
  411. package/src/{toolbar-group → toolbar/toolbar-group}/index.js +0 -0
  412. package/src/{toolbar-group → toolbar/toolbar-group}/style.native.scss +0 -0
  413. package/src/{toolbar-group → toolbar/toolbar-group}/style.scss +0 -0
  414. package/src/{toolbar-group → toolbar/toolbar-group}/toolbar-group-collapsed.js +1 -1
  415. package/src/{toolbar-group → toolbar/toolbar-group}/toolbar-group-collapsed.native.js +1 -1
  416. package/src/{toolbar-group → toolbar/toolbar-group}/toolbar-group-container.js +0 -0
  417. package/src/{toolbar-group → toolbar/toolbar-group}/toolbar-group-container.native.js +0 -0
  418. package/src/{toolbar-item → toolbar/toolbar-item}/README.md +0 -0
  419. package/src/{toolbar-item → toolbar/toolbar-item}/index.js +0 -0
  420. package/src/{toolbar-item → toolbar/toolbar-item}/index.native.js +0 -0
  421. package/src/tooltip/stories/index.js +68 -78
  422. package/src/tooltip/test/index.js +2 -0
  423. package/src/tree-grid/index.js +2 -4
  424. package/src/unit-control/test/index.tsx +3 -0
  425. package/src/utils/hooks/test/use-latest-ref.js +2 -0
  426. package/tsconfig.json +0 -7
  427. package/tsconfig.tsbuildinfo +1 -1
  428. package/build/toolbar/toolbar-container.native.js.map +0 -1
  429. package/build/toolbar-button/index.js.map +0 -1
  430. package/build/toolbar-button/toolbar-button-container.js.map +0 -1
  431. package/build/toolbar-button/toolbar-button-container.native.js.map +0 -1
  432. package/build/toolbar-context/index.js.map +0 -1
  433. package/build/toolbar-dropdown-menu/index.js.map +0 -1
  434. package/build/toolbar-group/index.js.map +0 -1
  435. package/build/toolbar-group/toolbar-group-collapsed.js.map +0 -1
  436. package/build/toolbar-group/toolbar-group-collapsed.native.js.map +0 -1
  437. package/build/toolbar-group/toolbar-group-container.js.map +0 -1
  438. package/build/toolbar-group/toolbar-group-container.native.js.map +0 -1
  439. package/build/toolbar-item/index.js.map +0 -1
  440. package/build/toolbar-item/index.native.js.map +0 -1
  441. package/build-module/toolbar/toolbar-container.js.map +0 -1
  442. package/build-module/toolbar/toolbar-container.native.js.map +0 -1
  443. package/build-module/toolbar-button/index.js.map +0 -1
  444. package/build-module/toolbar-button/toolbar-button-container.js.map +0 -1
  445. package/build-module/toolbar-button/toolbar-button-container.native.js.map +0 -1
  446. package/build-module/toolbar-context/index.js.map +0 -1
  447. package/build-module/toolbar-dropdown-menu/index.js.map +0 -1
  448. package/build-module/toolbar-group/index.js.map +0 -1
  449. package/build-module/toolbar-group/toolbar-group-collapsed.js.map +0 -1
  450. package/build-module/toolbar-group/toolbar-group-collapsed.native.js.map +0 -1
  451. package/build-module/toolbar-group/toolbar-group-container.js.map +0 -1
  452. package/build-module/toolbar-group/toolbar-group-container.native.js.map +0 -1
  453. package/build-module/toolbar-item/index.js.map +0 -1
  454. package/build-module/toolbar-item/index.native.js.map +0 -1
  455. package/src/icon/stories/index.js +0 -128
  456. package/src/item-group/stories/index.js +0 -270
  457. package/src/resizable-box/stories/index.js +0 -97
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { camelCase } from 'change-case';
5
- import { find, get } from 'lodash';
5
+ import { get } from 'lodash';
6
6
  import { Dimensions } from 'react-native';
7
7
 
8
8
  /**
@@ -113,9 +113,9 @@ export function getBlockColors(
113
113
  }
114
114
 
115
115
  if ( ! isCustomColor ) {
116
- const mappedColor = find( defaultColors, {
117
- slug: value,
118
- } );
116
+ const mappedColor = Object.values( defaultColors ?? {} ).find(
117
+ ( { slug } ) => slug === value
118
+ );
119
119
 
120
120
  if ( mappedColor ) {
121
121
  blockStyles[ styleKey ] = mappedColor.color;
@@ -143,6 +143,7 @@ export function getBlockTypography(
143
143
  const typographyStyles = {};
144
144
  const customBlockStyles = blockStyleAttributes?.style?.typography || {};
145
145
  const blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];
146
+ const parsedFontSizes = Object.values( fontSizes ?? {} );
146
147
 
147
148
  // Global styles.
148
149
  if ( blockGlobalStyles?.typography ) {
@@ -153,9 +154,9 @@ export function getBlockTypography(
153
154
  if ( parseInt( fontSize, 10 ) ) {
154
155
  typographyStyles.fontSize = fontSize;
155
156
  } else {
156
- const mappedFontSize = find( fontSizes, {
157
- slug: fontSize,
158
- } );
157
+ const mappedFontSize = parsedFontSizes.find(
158
+ ( { slug } ) => slug === fontSize
159
+ );
159
160
 
160
161
  if ( mappedFontSize ) {
161
162
  typographyStyles.fontSize = mappedFontSize?.size;
@@ -169,9 +170,9 @@ export function getBlockTypography(
169
170
  }
170
171
 
171
172
  if ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {
172
- const mappedFontSize = find( fontSizes, {
173
- slug: blockStyleAttributes?.fontSize,
174
- } );
173
+ const mappedFontSize = parsedFontSizes.find(
174
+ ( { slug } ) => slug === blockStyleAttributes?.fontSize
175
+ );
175
176
 
176
177
  if ( mappedFontSize ) {
177
178
  typographyStyles.fontSize = mappedFontSize?.size;
@@ -212,9 +213,9 @@ export function parseStylesVariables( styles, mappedValues, customValues ) {
212
213
  const path = $2.split( '--' );
213
214
  const mappedPresetValue = mappedValues[ path[ 0 ] ];
214
215
  if ( mappedPresetValue && mappedPresetValue.slug ) {
215
- const matchedValue = find( mappedPresetValue.values, {
216
- slug: path[ 1 ],
217
- } );
216
+ const matchedValue = Object.values(
217
+ mappedPresetValue.values ?? {}
218
+ ).find( ( { slug } ) => slug === path[ 1 ] );
218
219
  return matchedValue?.[ mappedPresetValue.slug ];
219
220
  }
220
221
  return UNKNOWN_VALUE;
@@ -244,9 +245,9 @@ export function parseStylesVariables( styles, mappedValues, customValues ) {
244
245
  if ( variable === 'var' ) {
245
246
  stylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {
246
247
  if ( mappedValues?.color ) {
247
- const matchedValue = find( mappedValues.color?.values, {
248
- slug: $2,
249
- } );
248
+ const matchedValue = mappedValues.color?.values?.find(
249
+ ( { slug } ) => slug === $2
250
+ );
250
251
  return `"${ matchedValue?.color }"`;
251
252
  }
252
253
  return UNKNOWN_VALUE;
@@ -72,9 +72,7 @@ describe( 'Modal', () => {
72
72
  } );
73
73
 
74
74
  it( 'should call onRequestClose when the escape key is pressed', async () => {
75
- const user = userEvent.setup( {
76
- advanceTimers: jest.advanceTimersByTime,
77
- } );
75
+ const user = userEvent.setup();
78
76
  const onRequestClose = jest.fn();
79
77
  render(
80
78
  <Modal onRequestClose={ onRequestClose }>
@@ -9,6 +9,8 @@ import userEvent from '@testing-library/user-event';
9
9
  */
10
10
  import { NavigableMenu } from '../menu';
11
11
 
12
+ jest.useFakeTimers();
13
+
12
14
  const NavigableMenuTestCase = ( props ) => (
13
15
  <NavigableMenu { ...props }>
14
16
  <button>Item 1</button>
@@ -9,6 +9,8 @@ import userEvent from '@testing-library/user-event';
9
9
  */
10
10
  import { TabbableContainer } from '../tabbable';
11
11
 
12
+ jest.useFakeTimers();
13
+
12
14
  const TabbableContainerTestCase = ( props ) => (
13
15
  <TabbableContainer { ...props }>
14
16
  <button>Item 1</button>
@@ -16,6 +16,8 @@ import Navigation from '..';
16
16
  import NavigationItem from '../item';
17
17
  import NavigationMenu from '../menu';
18
18
 
19
+ jest.useFakeTimers();
20
+
19
21
  const TestNavigation = ( { activeItem, rootTitle, showBadge } = {} ) => (
20
22
  <Navigation activeItem={ activeItem }>
21
23
  <NavigationMenu title={ rootTitle }>
@@ -20,6 +20,8 @@ import {
20
20
  NavigatorBackButton,
21
21
  } from '..';
22
22
 
23
+ jest.useFakeTimers();
24
+
23
25
  jest.mock( 'framer-motion', () => {
24
26
  const actual = jest.requireActual( 'framer-motion' );
25
27
  return {
@@ -1,74 +1,46 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { boolean, select, text } from '@storybook/addon-knobs';
5
-
6
1
  /**
7
2
  * Internal dependencies
8
3
  */
9
4
  import Notice from '../';
10
5
 
6
+ // TODO: Add a story involving NoticeList to help people understand
7
+ // the difference between onDismiss/onRemove.
8
+
11
9
  export default {
12
10
  title: 'Components/Notice',
13
11
  component: Notice,
12
+ argTypes: {
13
+ isDismissible: { control: 'boolean' },
14
+ onDismiss: { control: { type: null } },
15
+ onRemove: { control: { type: null } },
16
+ politeness: {
17
+ control: 'radio',
18
+ options: [ 'assertive', 'polite' ],
19
+ },
20
+ spokenMessage: { control: 'text' },
21
+ status: {
22
+ control: 'radio',
23
+ options: [ 'warning', 'success', 'error', 'info' ],
24
+ },
25
+ },
14
26
  parameters: {
15
- knobs: { disable: false },
27
+ controls: { expanded: true },
28
+ docs: { source: { state: 'open' } },
16
29
  },
17
30
  };
18
31
 
19
- export const _default = () => {
20
- const status = select(
21
- 'Status',
22
- {
23
- Warning: 'warning',
24
- Success: 'success',
25
- Error: 'error',
26
- Info: 'info',
27
- },
28
- 'info'
29
- );
30
- const isDismissible = boolean( 'Is Dismissible', true );
31
-
32
- return (
33
- <Notice status={ status } isDismissible={ isDismissible }>
34
- <p>This is a notice.</p>
35
- </Notice>
36
- );
32
+ const Template = ( props ) => {
33
+ return <Notice { ...props } />;
37
34
  };
38
35
 
39
- export const withCustomSpokenMessage = () => {
40
- const status = select(
41
- 'Status',
42
- {
43
- Warning: 'warning',
44
- Success: 'success',
45
- Error: 'error',
46
- Info: 'info',
47
- },
48
- 'info'
49
- );
50
- const isDismissible = boolean( 'Is Dismissible', true );
51
- const politeness = select(
52
- 'Politeness',
53
- {
54
- Assertive: 'assertive',
55
- Polite: 'polite',
56
- },
57
- 'assertive'
58
- );
59
- const spokenMessage = text(
60
- 'Spoken Message',
61
- 'This is a notice with a custom spoken message'
62
- );
36
+ export const Default = Template.bind( {} );
37
+ Default.args = {
38
+ children: 'This is a notice.',
39
+ };
63
40
 
64
- return (
65
- <Notice
66
- status={ status }
67
- isDismissible={ isDismissible }
68
- politeness={ politeness }
69
- spokenMessage={ spokenMessage }
70
- >
71
- <p>This is a notice.</p>
72
- </Notice>
73
- );
41
+ export const WithCustomSpokenMessage = Template.bind( {} );
42
+ WithCustomSpokenMessage.args = {
43
+ ...Default.args,
44
+ politeness: 'assertive',
45
+ spokenMessage: 'This is a notice with a custom spoken message',
74
46
  };
@@ -15,6 +15,10 @@ import Notice from '../index';
15
15
 
16
16
  jest.mock( '@wordpress/a11y', () => ( { speak: jest.fn() } ) );
17
17
 
18
+ function getNoticeWrapper( container ) {
19
+ return container.firstChild;
20
+ }
21
+
18
22
  describe( 'Notice', () => {
19
23
  beforeEach( () => {
20
24
  speak.mockReset();
@@ -39,15 +43,16 @@ describe( 'Notice', () => {
39
43
 
40
44
  it( 'should not have is-dismissible class when isDismissible prop is false', () => {
41
45
  const { container } = render( <Notice isDismissible={ false } /> );
46
+ const wrapper = getNoticeWrapper( container );
42
47
 
43
- expect( container.firstChild ).toHaveClass( 'components-notice' );
44
- expect( container.firstChild ).not.toHaveClass( 'is-dismissible' );
48
+ expect( wrapper ).toHaveClass( 'components-notice' );
49
+ expect( wrapper ).not.toHaveClass( 'is-dismissible' );
45
50
  } );
46
51
 
47
52
  it( 'should default to info status', () => {
48
53
  const { container } = render( <Notice /> );
49
54
 
50
- expect( container.firstChild ).toHaveClass( 'is-info' );
55
+ expect( getNoticeWrapper( container ) ).toHaveClass( 'is-info' );
51
56
  } );
52
57
 
53
58
  describe( 'useSpokenMessage', () => {
@@ -15,6 +15,8 @@ import { useState } from '@wordpress/element';
15
15
  import NumberControl from '..';
16
16
  import type { NumberControlProps } from '../types';
17
17
 
18
+ jest.useFakeTimers();
19
+
18
20
  function StatefulNumberControl( props: NumberControlProps ) {
19
21
  const [ value, setValue ] = useState( props.value );
20
22
  const handleOnChange = ( v: string | undefined ) => setValue( v );
package/src/panel/row.js CHANGED
@@ -8,13 +8,13 @@ import classnames from 'classnames';
8
8
  */
9
9
  import { forwardRef } from '@wordpress/element';
10
10
 
11
- const PanelRow = forwardRef( ( { className, children }, ref ) => (
11
+ const PanelRow = ( { className, children }, ref ) => (
12
12
  <div
13
13
  className={ classnames( 'components-panel__row', className ) }
14
14
  ref={ ref }
15
15
  >
16
16
  { children }
17
17
  </div>
18
- ) );
18
+ );
19
19
 
20
- export default PanelRow;
20
+ export default forwardRef( PanelRow );
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { boolean, text } from '@storybook/addon-knobs';
5
-
6
1
  /**
7
2
  * Internal dependencies
8
3
  */
@@ -18,88 +13,75 @@ import { wordpress } from '@wordpress/icons';
18
13
  export default {
19
14
  title: 'Components/Panel',
20
15
  component: Panel,
16
+ subcomponents: { PanelRow, PanelBody },
17
+ argTypes: {
18
+ children: { control: { type: null } },
19
+ },
21
20
  parameters: {
22
- knobs: { disable: false },
21
+ controls: { expanded: true },
22
+ docs: { source: { state: 'open' } },
23
23
  },
24
24
  };
25
25
 
26
- export const _default = () => {
27
- const bodyTitle = text( 'Body Title', 'My Block Settings' );
28
- const opened = boolean( 'Opened', true );
29
- const rowText = text( 'Row Text', 'My Panel Inputs and Labels' );
30
- return (
31
- <Panel header="My Panel">
32
- <PanelBody title={ bodyTitle } opened={ opened }>
33
- <PanelRow>{ rowText }</PanelRow>
26
+ const Template = ( props ) => <Panel { ...props } />;
27
+
28
+ export const Default = Template.bind( {} );
29
+ Default.args = {
30
+ header: 'My panel',
31
+ children: (
32
+ <>
33
+ <PanelBody title="First section">
34
+ <PanelRow>
35
+ <div
36
+ style={ {
37
+ background: '#ddd',
38
+ height: 100,
39
+ width: '100%',
40
+ } }
41
+ />
42
+ </PanelRow>
43
+ </PanelBody>
44
+ <PanelBody title="Second section" initialOpen={ false }>
45
+ <PanelRow>
46
+ <div
47
+ style={ {
48
+ background: '#ddd',
49
+ height: 100,
50
+ width: '100%',
51
+ } }
52
+ />
53
+ </PanelRow>
34
54
  </PanelBody>
35
- </Panel>
36
- );
55
+ </>
56
+ ),
37
57
  };
38
58
 
39
- export const multipleBodies = () => {
40
- return (
41
- <ScrollableContainer>
42
- <Panel header="My Panel">
43
- <PanelBody title="First Settings">
44
- <PanelRow>
45
- <Placeholder height={ 250 } />
46
- </PanelRow>
47
- </PanelBody>
48
- <PanelBody title="Second Settings" initialOpen={ false }>
49
- <PanelRow>
50
- <Placeholder height={ 400 } />
51
- </PanelRow>
52
- </PanelBody>
53
- <PanelBody title="Third Settings" initialOpen={ false }>
54
- <PanelRow>
55
- <Placeholder height={ 600 } />
56
- </PanelRow>
57
- </PanelBody>
58
- <PanelBody title="Fourth Settings" initialOpen={ false }>
59
- <PanelRow>
60
- <Placeholder />
61
- </PanelRow>
62
- </PanelBody>
63
- <PanelBody
64
- title="Disabled Settings"
65
- initialOpen={ false }
66
- buttonProps={ { disabled: true } }
67
- />
68
- </Panel>
69
- </ScrollableContainer>
70
- );
59
+ export const DisabledSection = Template.bind( {} );
60
+ DisabledSection.args = {
61
+ ...Default.args,
62
+ children: (
63
+ <PanelBody
64
+ title="Disabled section"
65
+ initialOpen={ false }
66
+ buttonProps={ { disabled: true } }
67
+ />
68
+ ),
71
69
  };
72
70
 
73
- export const withIcon = () => {
74
- const bodyTitle = text( 'Body Title', 'My Block Settings' );
75
- const rowText = text( 'Row Text', 'My Panel Inputs and Labels' );
76
- const icon = boolean( 'Icon', true ) ? wordpress : undefined;
77
- const opened = boolean( 'Opened', true );
78
- return (
79
- <Panel header="My Panel">
80
- <PanelBody title={ bodyTitle } opened={ opened } icon={ icon }>
81
- <PanelRow>{ rowText }</PanelRow>
82
- </PanelBody>
83
- </Panel>
84
- );
71
+ export const WithIcon = Template.bind( {} );
72
+ WithIcon.args = {
73
+ ...Default.args,
74
+ children: (
75
+ <PanelBody title="Section title" icon={ wordpress }>
76
+ <PanelRow>
77
+ <div
78
+ style={ {
79
+ background: '#ddd',
80
+ height: 100,
81
+ width: '100%',
82
+ } }
83
+ />
84
+ </PanelRow>
85
+ </PanelBody>
86
+ ),
85
87
  };
86
-
87
- function ScrollableContainer( { children } ) {
88
- return (
89
- <div
90
- style={ {
91
- width: 300,
92
- height: '100vh',
93
- overflowY: 'auto',
94
- margin: 'auto',
95
- boxShadow: '0 0 0 1px #ddd inset',
96
- } }
97
- >
98
- { children }
99
- </div>
100
- );
101
- }
102
-
103
- function Placeholder( { height = 200 } ) {
104
- return <div style={ { background: '#ddd', height, width: '100%' } } />;
105
- }
@@ -0,0 +1,9 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`PanelBody basic rendering should render an empty div with the matching className 1`] = `
4
+ <div>
5
+ <div
6
+ class="components-panel__body is-opened"
7
+ />
8
+ </div>
9
+ `;