@wordpress/components 19.2.1-next.33ec3857e2.0 → 19.2.1

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 (368) hide show
  1. package/CHANGELOG.md +6 -29
  2. package/build/angle-picker-control/index.js +0 -2
  3. package/build/angle-picker-control/index.js.map +1 -1
  4. package/build/button/index.native.js +3 -13
  5. package/build/button/index.native.js.map +1 -1
  6. package/build/checkbox-control/index.js +1 -1
  7. package/build/checkbox-control/index.js.map +1 -1
  8. package/build/clipboard-button/index.js +2 -1
  9. package/build/clipboard-button/index.js.map +1 -1
  10. package/build/color-palette/index.js +1 -13
  11. package/build/color-palette/index.js.map +1 -1
  12. package/build/color-picker/color-display.js +2 -4
  13. package/build/color-picker/color-display.js.map +1 -1
  14. package/build/color-picker/hex-input.js +1 -3
  15. package/build/color-picker/hex-input.js.map +1 -1
  16. package/build/color-picker/input-with-slider.js +1 -3
  17. package/build/color-picker/input-with-slider.js.map +1 -1
  18. package/build/custom-gradient-picker/index.js +0 -1
  19. package/build/custom-gradient-picker/index.js.map +1 -1
  20. package/build/date-time/date.js +86 -63
  21. package/build/date-time/date.js.map +1 -1
  22. package/build/divider/component.js +7 -8
  23. package/build/divider/component.js.map +1 -1
  24. package/build/divider/styles.js +13 -38
  25. package/build/divider/styles.js.map +1 -1
  26. package/build/drop-zone/index.js +6 -14
  27. package/build/drop-zone/index.js.map +1 -1
  28. package/build/drop-zone/provider.js +0 -1
  29. package/build/drop-zone/provider.js.map +1 -1
  30. package/build/flyout/styles.js +2 -2
  31. package/build/flyout/styles.js.map +1 -1
  32. package/build/focusable-iframe/index.js +0 -1
  33. package/build/focusable-iframe/index.js.map +1 -1
  34. package/build/higher-order/with-focus-outside/index.js +0 -2
  35. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  36. package/build/index.js +0 -8
  37. package/build/index.js.map +1 -1
  38. package/build/input-control/styles/input-control-styles.js +32 -44
  39. package/build/input-control/styles/input-control-styles.js.map +1 -1
  40. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +3 -10
  41. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  42. package/build/mobile/color-settings/index.native.js +2 -4
  43. package/build/mobile/color-settings/index.native.js.map +1 -1
  44. package/build/mobile/color-settings/palette.screen.native.js +6 -7
  45. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  46. package/build/mobile/global-styles-context/utils.native.js +1 -1
  47. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  48. package/build/mobile/gridicons/index.native.js +1 -3
  49. package/build/mobile/gridicons/index.native.js.map +1 -1
  50. package/build/mobile/link-picker/index.native.js +4 -45
  51. package/build/mobile/link-picker/index.native.js.map +1 -1
  52. package/build/mobile/link-settings/index.native.js +0 -10
  53. package/build/mobile/link-settings/index.native.js.map +1 -1
  54. package/build/modal/aria-helper.js +0 -2
  55. package/build/modal/aria-helper.js.map +1 -1
  56. package/build/modal/index.js +8 -17
  57. package/build/modal/index.js.map +1 -1
  58. package/build/palette-edit/index.js +31 -27
  59. package/build/palette-edit/index.js.map +1 -1
  60. package/build/select-control/styles/select-control-styles.js +9 -33
  61. package/build/select-control/styles/select-control-styles.js.map +1 -1
  62. package/build/style-provider/index.js +0 -2
  63. package/build/style-provider/index.js.map +1 -1
  64. package/build/toggle-group-control/toggle-group-control/component.js +2 -7
  65. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  66. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +14 -25
  67. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  68. package/build/tools-panel/styles.js +10 -12
  69. package/build/tools-panel/styles.js.map +1 -1
  70. package/build/tools-panel/tools-panel/component.js +8 -6
  71. package/build/tools-panel/tools-panel/component.js.map +1 -1
  72. package/build/tools-panel/tools-panel-item/hook.js +8 -6
  73. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  74. package/build/unit-control/styles/unit-control-styles.js +41 -23
  75. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  76. package/build/z-stack/component.js.map +1 -1
  77. package/build/z-stack/styles.js +8 -10
  78. package/build/z-stack/styles.js.map +1 -1
  79. package/build-module/angle-picker-control/index.js +0 -2
  80. package/build-module/angle-picker-control/index.js.map +1 -1
  81. package/build-module/button/index.native.js +3 -13
  82. package/build-module/button/index.native.js.map +1 -1
  83. package/build-module/checkbox-control/index.js +1 -1
  84. package/build-module/checkbox-control/index.js.map +1 -1
  85. package/build-module/clipboard-button/index.js +2 -1
  86. package/build-module/clipboard-button/index.js.map +1 -1
  87. package/build-module/color-palette/index.js +2 -14
  88. package/build-module/color-palette/index.js.map +1 -1
  89. package/build-module/color-picker/color-display.js +2 -3
  90. package/build-module/color-picker/color-display.js.map +1 -1
  91. package/build-module/color-picker/hex-input.js +1 -2
  92. package/build-module/color-picker/hex-input.js.map +1 -1
  93. package/build-module/color-picker/input-with-slider.js +1 -2
  94. package/build-module/color-picker/input-with-slider.js.map +1 -1
  95. package/build-module/custom-gradient-picker/index.js +0 -1
  96. package/build-module/custom-gradient-picker/index.js.map +1 -1
  97. package/build-module/date-time/date.js +87 -63
  98. package/build-module/date-time/date.js.map +1 -1
  99. package/build-module/divider/component.js +7 -8
  100. package/build-module/divider/component.js.map +1 -1
  101. package/build-module/divider/styles.js +13 -37
  102. package/build-module/divider/styles.js.map +1 -1
  103. package/build-module/drop-zone/index.js +6 -14
  104. package/build-module/drop-zone/index.js.map +1 -1
  105. package/build-module/drop-zone/provider.js +0 -1
  106. package/build-module/drop-zone/provider.js.map +1 -1
  107. package/build-module/flyout/styles.js +2 -2
  108. package/build-module/flyout/styles.js.map +1 -1
  109. package/build-module/focusable-iframe/index.js +0 -1
  110. package/build-module/focusable-iframe/index.js.map +1 -1
  111. package/build-module/higher-order/with-focus-outside/index.js +0 -1
  112. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  113. package/build-module/index.js +0 -1
  114. package/build-module/index.js.map +1 -1
  115. package/build-module/input-control/styles/input-control-styles.js +32 -44
  116. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  117. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +4 -10
  118. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  119. package/build-module/mobile/color-settings/index.native.js +2 -4
  120. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  121. package/build-module/mobile/color-settings/palette.screen.native.js +6 -7
  122. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  123. package/build-module/mobile/global-styles-context/utils.native.js +1 -1
  124. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  125. package/build-module/mobile/gridicons/index.native.js +0 -1
  126. package/build-module/mobile/gridicons/index.native.js.map +1 -1
  127. package/build-module/mobile/link-picker/index.native.js +8 -50
  128. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  129. package/build-module/mobile/link-settings/index.native.js +0 -10
  130. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  131. package/build-module/modal/aria-helper.js +0 -2
  132. package/build-module/modal/aria-helper.js.map +1 -1
  133. package/build-module/modal/index.js +8 -15
  134. package/build-module/modal/index.js.map +1 -1
  135. package/build-module/palette-edit/index.js +30 -27
  136. package/build-module/palette-edit/index.js.map +1 -1
  137. package/build-module/select-control/styles/select-control-styles.js +9 -33
  138. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  139. package/build-module/style-provider/index.js +0 -1
  140. package/build-module/style-provider/index.js.map +1 -1
  141. package/build-module/toggle-group-control/toggle-group-control/component.js +3 -8
  142. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  143. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +14 -25
  144. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  145. package/build-module/tools-panel/styles.js +11 -12
  146. package/build-module/tools-panel/styles.js.map +1 -1
  147. package/build-module/tools-panel/tools-panel/component.js +8 -5
  148. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  149. package/build-module/tools-panel/tools-panel-item/hook.js +8 -6
  150. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  151. package/build-module/unit-control/styles/unit-control-styles.js +41 -23
  152. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  153. package/build-module/z-stack/component.js.map +1 -1
  154. package/build-module/z-stack/styles.js +8 -13
  155. package/build-module/z-stack/styles.js.map +1 -1
  156. package/build-style/style-rtl.css +11 -23
  157. package/build-style/style.css +11 -23
  158. package/build-types/base-field/hook.d.ts +16 -16
  159. package/build-types/card/card/hook.d.ts +16 -16
  160. package/build-types/card/card-body/hook.d.ts +16 -16
  161. package/build-types/card/card-divider/hook.d.ts +18 -18
  162. package/build-types/card/card-footer/hook.d.ts +17 -17
  163. package/build-types/card/card-header/hook.d.ts +16 -16
  164. package/build-types/card/card-media/hook.d.ts +16 -16
  165. package/build-types/divider/component.d.ts +7 -8
  166. package/build-types/divider/component.d.ts.map +1 -1
  167. package/build-types/divider/styles.d.ts +2 -2
  168. package/build-types/divider/styles.d.ts.map +1 -1
  169. package/build-types/divider/types.d.ts +5 -5
  170. package/build-types/divider/types.d.ts.map +1 -1
  171. package/build-types/elevation/hook.d.ts +15 -15
  172. package/build-types/flex/flex/hook.d.ts +16 -16
  173. package/build-types/flex/flex-block/hook.d.ts +16 -16
  174. package/build-types/flex/flex-item/hook.d.ts +16 -16
  175. package/build-types/flyout/flyout/hook.d.ts +17 -17
  176. package/build-types/flyout/styles.d.ts +9 -7
  177. package/build-types/flyout/styles.d.ts.map +1 -1
  178. package/build-types/grid/hook.d.ts +16 -16
  179. package/build-types/h-stack/hook.d.ts +16 -16
  180. package/build-types/heading/hook.d.ts +16 -16
  181. package/build-types/input-control/index.d.ts +1 -1
  182. package/build-types/input-control/index.d.ts.map +1 -1
  183. package/build-types/input-control/input-field.d.ts +1 -1
  184. package/build-types/input-control/input-field.d.ts.map +1 -1
  185. package/build-types/input-control/styles/input-control-styles.d.ts +2 -1
  186. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  187. package/build-types/input-control/types.d.ts +1 -2
  188. package/build-types/input-control/types.d.ts.map +1 -1
  189. package/build-types/item-group/item/hook.d.ts +16 -16
  190. package/build-types/item-group/item-group/hook.d.ts +16 -16
  191. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  192. package/build-types/scrollable/hook.d.ts +16 -16
  193. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  194. package/build-types/select-control/types.d.ts +1 -1
  195. package/build-types/select-control/types.d.ts.map +1 -1
  196. package/build-types/spacer/hook.d.ts +16 -16
  197. package/build-types/surface/hook.d.ts +16 -16
  198. package/build-types/text/hook.d.ts +16 -16
  199. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  200. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -1
  201. package/build-types/tools-panel/styles.d.ts.map +1 -1
  202. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  203. package/build-types/tools-panel/tools-panel/hook.d.ts +16 -16
  204. package/build-types/tools-panel/tools-panel-header/hook.d.ts +16 -16
  205. package/build-types/tools-panel/tools-panel-item/hook.d.ts +16 -16
  206. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  207. package/build-types/truncate/hook.d.ts +16 -16
  208. package/build-types/ui/control-group/hook.d.ts +18 -18
  209. package/build-types/ui/control-label/hook.d.ts +16 -16
  210. package/build-types/ui/form-group/form-group.d.ts +4 -4
  211. package/build-types/ui/form-group/use-form-group.d.ts +55 -55
  212. package/build-types/unit-control/index.d.ts +1 -1
  213. package/build-types/unit-control/index.d.ts.map +1 -1
  214. package/build-types/unit-control/styles/unit-control-styles.d.ts +0 -1
  215. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  216. package/build-types/unit-control/types.d.ts +2 -2
  217. package/build-types/unit-control/types.d.ts.map +1 -1
  218. package/build-types/v-stack/hook.d.ts +16 -16
  219. package/build-types/z-stack/component.d.ts +1 -1
  220. package/build-types/z-stack/styles.d.ts.map +1 -1
  221. package/package.json +23 -21
  222. package/src/alignment-matrix-control/stories/index.js +1 -1
  223. package/src/angle-picker-control/index.js +0 -2
  224. package/src/base-control/stories/index.js +1 -1
  225. package/src/button/index.native.js +1 -15
  226. package/src/button/stories/index.js +1 -1
  227. package/src/button/style.scss +0 -14
  228. package/src/card/card/README.md +3 -3
  229. package/src/card/stories/index.js +1 -1
  230. package/src/card/test/__snapshots__/index.js.snap +6 -6
  231. package/src/checkbox-control/index.js +1 -1
  232. package/src/checkbox-control/stories/index.js +1 -1
  233. package/src/clipboard-button/index.js +2 -1
  234. package/src/color-indicator/stories/index.js +1 -1
  235. package/src/color-indicator/style.scss +8 -5
  236. package/src/color-palette/index.js +5 -13
  237. package/src/color-palette/stories/index.js +1 -1
  238. package/src/color-palette/test/__snapshots__/index.js.snap +0 -1
  239. package/src/color-picker/color-display.tsx +2 -3
  240. package/src/color-picker/hex-input.tsx +1 -2
  241. package/src/color-picker/input-with-slider.tsx +1 -2
  242. package/src/color-picker/stories/index.js +1 -1
  243. package/src/combobox-control/README.md +2 -2
  244. package/src/custom-gradient-picker/index.js +0 -1
  245. package/src/custom-gradient-picker/style.scss +4 -0
  246. package/src/date-time/README.md +0 -7
  247. package/src/date-time/date.js +84 -67
  248. package/src/date-time/stories/index.js +1 -1
  249. package/src/date-time/stories/time.js +1 -1
  250. package/src/date-time/test/date.js +29 -3
  251. package/src/dimension-control/README.md +1 -1
  252. package/src/divider/README.md +5 -33
  253. package/src/divider/component.tsx +7 -8
  254. package/src/divider/stories/index.js +17 -43
  255. package/src/divider/styles.ts +16 -53
  256. package/src/divider/test/__snapshots__/index.js.snap +11 -11
  257. package/src/divider/test/index.js +4 -4
  258. package/src/divider/types.ts +5 -5
  259. package/src/drop-zone/index.js +6 -14
  260. package/src/drop-zone/provider.js +0 -1
  261. package/src/dropdown-menu/stories/index.js +1 -1
  262. package/src/duotone-picker/README.md +1 -1
  263. package/src/elevation/stories/index.js +1 -1
  264. package/src/external-link/stories/index.js +1 -1
  265. package/src/flyout/styles.ts +2 -4
  266. package/src/focusable-iframe/index.js +0 -1
  267. package/src/font-size-picker/stories/index.js +1 -1
  268. package/src/form-token-field/stories/index.js +1 -1
  269. package/src/gradient-picker/stories/index.js +1 -1
  270. package/src/grid/stories/index.js +1 -1
  271. package/src/guide/stories/index.js +1 -1
  272. package/src/higher-order/with-focus-outside/index.js +0 -2
  273. package/src/icon/stories/index.js +1 -1
  274. package/src/index.js +0 -1
  275. package/src/input-control/stories/index.js +1 -2
  276. package/src/input-control/styles/input-control-styles.tsx +6 -16
  277. package/src/input-control/types.ts +1 -3
  278. package/src/item-group/stories/index.js +2 -84
  279. package/src/menu-item/README.md +2 -2
  280. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +2 -6
  281. package/src/mobile/color-settings/index.native.js +0 -2
  282. package/src/mobile/color-settings/palette.screen.native.js +5 -8
  283. package/src/mobile/color-settings/style.native.scss +1 -1
  284. package/src/mobile/global-styles-context/utils.native.js +1 -1
  285. package/src/mobile/gridicons/index.native.js +3 -3
  286. package/src/mobile/inserter-button/style.native.scss +0 -1
  287. package/src/mobile/link-picker/index.native.js +7 -41
  288. package/src/mobile/link-settings/index.native.js +0 -11
  289. package/src/modal/README.md +0 -10
  290. package/src/modal/aria-helper.js +0 -2
  291. package/src/modal/index.js +55 -72
  292. package/src/modal/stories/index.js +1 -6
  293. package/src/modal/style.scss +0 -9
  294. package/src/modal/test/index.js +0 -11
  295. package/src/navigation/README.md +9 -0
  296. package/src/notice/stories/index.js +1 -1
  297. package/src/number-control/stories/index.js +1 -1
  298. package/src/palette-edit/index.js +106 -73
  299. package/src/panel/stories/index.js +1 -1
  300. package/src/placeholder/stories/index.js +1 -1
  301. package/src/popover/stories/index.js +1 -1
  302. package/src/query-controls/README.md +6 -138
  303. package/src/radio-group/README.md +1 -4
  304. package/src/range-control/stories/index.js +1 -1
  305. package/src/resizable-box/stories/index.js +1 -1
  306. package/src/scrollable/stories/index.js +1 -1
  307. package/src/search-control/stories/index.js +1 -1
  308. package/src/select-control/stories/index.js +1 -2
  309. package/src/select-control/styles/select-control-styles.ts +2 -25
  310. package/src/select-control/types.ts +1 -1
  311. package/src/slot-fill/stories/index.js +1 -1
  312. package/src/snackbar/stories/index.js +1 -1
  313. package/src/spacer/stories/index.js +1 -1
  314. package/src/style-provider/index.js +0 -2
  315. package/src/surface/stories/index.js +1 -1
  316. package/src/tab-panel/stories/index.js +1 -1
  317. package/src/text-control/stories/index.js +1 -1
  318. package/src/text-highlight/stories/index.js +1 -1
  319. package/src/textarea-control/stories/index.js +1 -1
  320. package/src/tip/stories/index.js +1 -1
  321. package/src/toggle-control/stories/index.js +1 -1
  322. package/src/toggle-group-control/stories/index.js +1 -1
  323. package/src/toggle-group-control/toggle-group-control/component.tsx +2 -7
  324. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +9 -24
  325. package/src/toolbar-button/stories/index.js +1 -1
  326. package/src/tools-panel/stories/index.js +0 -54
  327. package/src/tools-panel/styles.ts +1 -41
  328. package/src/tools-panel/test/index.js +137 -19
  329. package/src/tools-panel/tools-panel/README.md +3 -11
  330. package/src/tools-panel/tools-panel/component.tsx +5 -2
  331. package/src/tools-panel/tools-panel-item/hook.ts +14 -6
  332. package/src/tooltip/stories/index.js +1 -1
  333. package/src/tree-select/stories/index.js +1 -1
  334. package/src/truncate/stories/index.js +1 -1
  335. package/src/unit-control/stories/index.js +1 -19
  336. package/src/unit-control/styles/unit-control-styles.ts +46 -33
  337. package/src/unit-control/types.ts +2 -5
  338. package/src/z-stack/README.md +1 -1
  339. package/src/z-stack/component.tsx +1 -1
  340. package/src/z-stack/stories/index.js +1 -1
  341. package/src/z-stack/styles.ts +2 -7
  342. package/tsconfig.json +2 -6
  343. package/tsconfig.tsbuildinfo +1 -1
  344. package/build/confirm-dialog/component.js +0 -103
  345. package/build/confirm-dialog/component.js.map +0 -1
  346. package/build/confirm-dialog/index.js +0 -16
  347. package/build/confirm-dialog/index.js.map +0 -1
  348. package/build/confirm-dialog/types.js +0 -6
  349. package/build/confirm-dialog/types.js.map +0 -1
  350. package/build/date-time/utils.js +0 -32
  351. package/build/date-time/utils.js.map +0 -1
  352. package/build-module/confirm-dialog/component.js +0 -84
  353. package/build-module/confirm-dialog/component.js.map +0 -1
  354. package/build-module/confirm-dialog/index.js +0 -6
  355. package/build-module/confirm-dialog/index.js.map +0 -1
  356. package/build-module/confirm-dialog/types.js +0 -2
  357. package/build-module/confirm-dialog/types.js.map +0 -1
  358. package/build-module/date-time/utils.js +0 -20
  359. package/build-module/date-time/utils.js.map +0 -1
  360. package/src/confirm-dialog/README.md +0 -128
  361. package/src/confirm-dialog/component.tsx +0 -114
  362. package/src/confirm-dialog/index.tsx +0 -6
  363. package/src/confirm-dialog/stories/index.js +0 -120
  364. package/src/confirm-dialog/test/index.js +0 -302
  365. package/src/confirm-dialog/types.ts +0 -26
  366. package/src/date-time/test/utils.js +0 -32
  367. package/src/date-time/utils.js +0 -18
  368. package/src/mobile/link-settings/test/edit.native.js +0 -432
@@ -1,120 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- // eslint-disable-next-line no-restricted-imports
5
- import React, { useState } from 'react';
6
- import { text } from '@storybook/addon-knobs';
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- import Button from '../../button';
12
- import { Heading } from '../../heading';
13
- import { ConfirmDialog } from '..';
14
-
15
- export default {
16
- component: ConfirmDialog,
17
- title: 'Components (Experimental)/ConfirmDialog',
18
- parameters: {
19
- knobs: { disable: false },
20
- },
21
- };
22
-
23
- const daText = () =>
24
- text( 'message', 'Would you like to privately publish the post now?' );
25
-
26
- // Simplest usage: just declare the component with the required `onConfirm` prop.
27
- export const _default = () => {
28
- const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
29
-
30
- return (
31
- <>
32
- <ConfirmDialog onConfirm={ () => setConfirmVal( 'Confirmed!' ) }>
33
- { daText() }
34
- </ConfirmDialog>
35
- <Heading level={ 1 }>{ confirmVal }</Heading>
36
- </>
37
- );
38
- };
39
-
40
- export const WithJSXMessage = () => {
41
- const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
42
-
43
- return (
44
- <>
45
- <ConfirmDialog onConfirm={ () => setConfirmVal( 'Confirmed!' ) }>
46
- <Heading level={ 2 }>{ daText() }</Heading>
47
- </ConfirmDialog>
48
- <Heading level={ 1 }>{ confirmVal }</Heading>
49
- </>
50
- );
51
- };
52
-
53
- export const VeeeryLongMessage = () => {
54
- const [ confirmVal, setConfirmVal ] = useState( "Hasn't confirmed yet" );
55
-
56
- return (
57
- <>
58
- <ConfirmDialog onConfirm={ () => setConfirmVal( 'Confirmed!' ) }>
59
- { daText().repeat( 20 ) }
60
- </ConfirmDialog>
61
- <Heading level={ 1 }>{ confirmVal }</Heading>
62
- </>
63
- );
64
- };
65
-
66
- export const UncontrolledAndWithExplicitOnCancel = () => {
67
- const [ confirmVal, setConfirmVal ] = useState(
68
- "Hasn't confirmed or cancelled yet"
69
- );
70
-
71
- return (
72
- <>
73
- <ConfirmDialog
74
- onConfirm={ () => setConfirmVal( 'Confirmed!' ) }
75
- onCancel={ () => setConfirmVal( 'Cancelled' ) }
76
- >
77
- { daText() }
78
- </ConfirmDialog>
79
- <Heading level={ 1 }>{ confirmVal }</Heading>
80
- </>
81
- );
82
- };
83
-
84
- // Controlled `ConfirmDialog`s require both `onConfirm` *and* `onCancel to be passed
85
- // It's expected that the user will then use it to hide the dialog, too (see the
86
- // `setIsOpen` calls below).
87
- export const Controlled = () => {
88
- const [ isOpen, setIsOpen ] = useState( false );
89
- const [ confirmVal, setConfirmVal ] = useState(
90
- "Hasn't confirmed or cancelled yet"
91
- );
92
-
93
- const handleConfirm = () => {
94
- setConfirmVal( 'Confirmed!' );
95
- setIsOpen( false );
96
- };
97
-
98
- const handleCancel = () => {
99
- setConfirmVal( 'Cancelled' );
100
- setIsOpen( false );
101
- };
102
-
103
- return (
104
- <>
105
- <ConfirmDialog
106
- isOpen={ isOpen }
107
- onConfirm={ handleConfirm }
108
- onCancel={ handleCancel }
109
- >
110
- { daText() }
111
- </ConfirmDialog>
112
-
113
- <Heading level={ 1 }>{ confirmVal }</Heading>
114
-
115
- <Button variant="primary" onClick={ () => setIsOpen( true ) }>
116
- Open ConfirmDialog
117
- </Button>
118
- </>
119
- );
120
- };
@@ -1,302 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import {
5
- render,
6
- fireEvent,
7
- waitForElementToBeRemoved,
8
- } from '@testing-library/react';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import { ConfirmDialog } from '..';
14
-
15
- const noop = () => {};
16
-
17
- describe( 'Confirm', () => {
18
- describe( 'Confirm component', () => {
19
- describe( 'Structure', () => {
20
- it( 'should render correctly', () => {
21
- const wrapper = render(
22
- <ConfirmDialog onConfirm={ noop } onCancel={ noop }>
23
- Are you sure?
24
- </ConfirmDialog>
25
- );
26
-
27
- const dialog = wrapper.getByRole( 'dialog' );
28
- const elementsTexts = [ 'Are you sure?', 'OK', 'Cancel' ];
29
-
30
- expect( dialog ).toBeInTheDocument();
31
-
32
- elementsTexts.forEach( ( txt ) => {
33
- const el = wrapper.getByText( txt );
34
- expect( el ).toBeInTheDocument();
35
- } );
36
- } );
37
- } );
38
-
39
- describe( 'When uncontrolled', () => {
40
- it( 'should render', () => {
41
- const wrapper = render(
42
- <ConfirmDialog onConfirm={ noop } onCancel={ noop }>
43
- Are you sure?
44
- </ConfirmDialog>
45
- );
46
-
47
- const confirmDialog = wrapper.getByRole( 'dialog' );
48
-
49
- expect( confirmDialog ).toBeInTheDocument();
50
- } );
51
-
52
- it( 'should not render if closed by clicking `OK`, and the `onConfirm` callback should be called', async () => {
53
- const onConfirm = jest.fn().mockName( 'onConfirm()' );
54
-
55
- const wrapper = render(
56
- <ConfirmDialog onConfirm={ onConfirm }>
57
- Are you sure?
58
- </ConfirmDialog>
59
- );
60
-
61
- const confirmDialog = wrapper.getByRole( 'dialog' );
62
- const button = wrapper.getByText( 'OK' );
63
-
64
- fireEvent.click( button );
65
-
66
- expect( confirmDialog ).not.toBeInTheDocument();
67
- expect( onConfirm ).toHaveBeenCalled();
68
- } );
69
-
70
- it( 'should not render if closed by clicking `Cancel`, and the `onCancel` callback should be called', async () => {
71
- const onCancel = jest.fn().mockName( 'onCancel()' );
72
-
73
- const wrapper = render(
74
- <ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
75
- Are you sure?
76
- </ConfirmDialog>
77
- );
78
-
79
- const confirmDialog = wrapper.getByRole( 'dialog' );
80
- const button = wrapper.getByText( 'Cancel' );
81
-
82
- fireEvent.click( button );
83
-
84
- expect( confirmDialog ).not.toBeInTheDocument();
85
- expect( onCancel ).toHaveBeenCalled();
86
- } );
87
-
88
- it( 'should be dismissable even if an `onCancel` callback is not provided', async () => {
89
- const wrapper = render(
90
- <ConfirmDialog onConfirm={ noop }>
91
- Are you sure?
92
- </ConfirmDialog>
93
- );
94
-
95
- const confirmDialog = wrapper.getByRole( 'dialog' );
96
- const button = wrapper.getByText( 'Cancel' );
97
-
98
- fireEvent.click( button );
99
-
100
- expect( confirmDialog ).not.toBeInTheDocument();
101
- } );
102
-
103
- it( 'should not render if dialog is closed by clicking the overlay, and the `onCancel` callback should be called', async () => {
104
- const onCancel = jest.fn().mockName( 'onCancel()' );
105
-
106
- const wrapper = render(
107
- <ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
108
- Are you sure?
109
- </ConfirmDialog>
110
- );
111
-
112
- const confirmDialog = wrapper.getByRole( 'dialog' );
113
-
114
- //The overlay click is handled by detecting an onBlur from the modal frame.
115
- fireEvent.blur( confirmDialog );
116
-
117
- await waitForElementToBeRemoved( confirmDialog );
118
-
119
- expect( confirmDialog ).not.toBeInTheDocument();
120
- expect( onCancel ).toHaveBeenCalled();
121
- } );
122
-
123
- it( 'should not render if dialog is closed by pressing `Escape`, and the `onCancel` callback should be called', async () => {
124
- const onCancel = jest.fn().mockName( 'onCancel()' );
125
-
126
- const wrapper = render(
127
- <ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
128
- Are you sure?
129
- </ConfirmDialog>
130
- );
131
-
132
- const confirmDialog = wrapper.getByRole( 'dialog' );
133
-
134
- fireEvent.keyDown( confirmDialog, { keyCode: 27 } );
135
-
136
- expect( confirmDialog ).not.toBeInTheDocument();
137
- expect( onCancel ).toHaveBeenCalled();
138
- } );
139
-
140
- it( 'should not render if dialog is closed by pressing `Enter`, and the `onConfirm` callback should be called', async () => {
141
- const onConfirm = jest.fn().mockName( 'onConfirm()' );
142
-
143
- const wrapper = render(
144
- <ConfirmDialog onConfirm={ onConfirm }>
145
- Are you sure?
146
- </ConfirmDialog>
147
- );
148
-
149
- const confirmDialog = wrapper.getByRole( 'dialog' );
150
-
151
- fireEvent.keyDown( confirmDialog, { keyCode: 13 } );
152
-
153
- expect( confirmDialog ).not.toBeInTheDocument();
154
- expect( onConfirm ).toHaveBeenCalled();
155
- } );
156
- } );
157
- } );
158
-
159
- describe( 'When controlled (isOpen is not `undefined`)', () => {
160
- it( 'should render when `isOpen` is set to `true`', async () => {
161
- const wrapper = render(
162
- <ConfirmDialog
163
- isOpen={ true }
164
- onConfirm={ noop }
165
- onCancel={ noop }
166
- >
167
- Are you sure?
168
- </ConfirmDialog>
169
- );
170
-
171
- const confirmDialog = wrapper.getByRole( 'dialog' );
172
-
173
- expect( confirmDialog ).toBeInTheDocument();
174
- } );
175
-
176
- it( 'should not render if `isOpen` is set to false', async () => {
177
- const wrapper = render(
178
- <ConfirmDialog
179
- isOpen={ false }
180
- onConfirm={ noop }
181
- onCancel={ noop }
182
- >
183
- Are you sure?
184
- </ConfirmDialog>
185
- );
186
-
187
- // `queryByRole` needs to be used here because in this scenario the
188
- // dialog is never rendered.
189
- const confirmDialog = wrapper.queryByRole( 'dialog' );
190
-
191
- expect( confirmDialog ).not.toBeInTheDocument();
192
- } );
193
-
194
- it( 'should call the `onConfirm` callback if `OK`', async () => {
195
- const onConfirm = jest.fn().mockName( 'onConfirm()' );
196
-
197
- const wrapper = render(
198
- <ConfirmDialog isOpen={ true } onConfirm={ onConfirm }>
199
- Are you sure?
200
- </ConfirmDialog>
201
- );
202
-
203
- const button = wrapper.getByText( 'OK' );
204
-
205
- fireEvent.click( button );
206
-
207
- expect( onConfirm ).toHaveBeenCalled();
208
- } );
209
-
210
- it( 'should call the `onCancel` callback if `Cancel` is clicked', async () => {
211
- const onCancel = jest.fn().mockName( 'onCancel()' );
212
-
213
- const wrapper = render(
214
- <ConfirmDialog
215
- isOpen={ true }
216
- onConfirm={ noop }
217
- onCancel={ onCancel }
218
- >
219
- Are you sure?
220
- </ConfirmDialog>
221
- );
222
-
223
- const button = wrapper.getByText( 'Cancel' );
224
-
225
- fireEvent.click( button );
226
-
227
- expect( onCancel ).toHaveBeenCalled();
228
- } );
229
-
230
- it( 'should call the `onCancel` callback if the overlay is clicked', async () => {
231
- jest.useFakeTimers();
232
-
233
- const onCancel = jest.fn().mockName( 'onCancel()' );
234
-
235
- const wrapper = render(
236
- <ConfirmDialog
237
- isOpen={ true }
238
- onConfirm={ noop }
239
- onCancel={ onCancel }
240
- >
241
- Are you sure?
242
- </ConfirmDialog>
243
- );
244
-
245
- const frame = wrapper.baseElement.querySelector(
246
- '.components-modal__frame'
247
- );
248
-
249
- //The overlay click is handled by detecting an onBlur from the modal frame.
250
- fireEvent.blur( frame );
251
-
252
- // We don't wait for a DOM side effect here, so we need to fake the timers
253
- // and "advance" it so that the `queueBlurCheck` in the `useFocusOutside` hook
254
- // properly executes its timeout task.
255
- jest.advanceTimersByTime( 0 );
256
-
257
- expect( onCancel ).toHaveBeenCalled();
258
-
259
- jest.useRealTimers();
260
- } );
261
-
262
- it( 'should call the `onCancel` callback if the `Escape` key is pressed', async () => {
263
- const onCancel = jest.fn().mockName( 'onCancel()' );
264
-
265
- const wrapper = render(
266
- <ConfirmDialog onConfirm={ noop } onCancel={ onCancel }>
267
- Are you sure?
268
- </ConfirmDialog>
269
- );
270
-
271
- const frame = wrapper.baseElement.querySelector(
272
- '.components-modal__frame'
273
- );
274
-
275
- fireEvent.keyDown( frame, { keyCode: 27 } );
276
-
277
- expect( onCancel ).toHaveBeenCalled();
278
- } );
279
-
280
- it( 'should call the `onConfirm` callback if the `Enter` key is pressed', async () => {
281
- const onConfirm = jest.fn().mockName( 'onConfirm()' );
282
-
283
- const wrapper = render(
284
- <ConfirmDialog
285
- isOpen={ true }
286
- onConfirm={ onConfirm }
287
- onCancel={ noop }
288
- >
289
- Are you sure?
290
- </ConfirmDialog>
291
- );
292
-
293
- const frame = wrapper.baseElement.querySelector(
294
- '.components-modal__frame'
295
- );
296
-
297
- fireEvent.keyDown( frame, { keyCode: 13 } );
298
-
299
- expect( onConfirm ).toHaveBeenCalled();
300
- } );
301
- } );
302
- } );
@@ -1,26 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- // eslint-disable-next-line no-restricted-imports
5
- import type { MouseEvent, KeyboardEvent, ReactNode } from 'react';
6
-
7
- export type DialogInputEvent =
8
- | KeyboardEvent< HTMLDivElement >
9
- | MouseEvent< HTMLButtonElement >;
10
-
11
- type BaseProps = {
12
- children: ReactNode;
13
- onConfirm: ( event: DialogInputEvent ) => void;
14
- };
15
-
16
- type ControlledProps = BaseProps & {
17
- onCancel: ( event: DialogInputEvent ) => void;
18
- isOpen: boolean;
19
- };
20
-
21
- type UncontrolledProps = BaseProps & {
22
- onCancel?: ( event: DialogInputEvent ) => void;
23
- isOpen?: never;
24
- };
25
-
26
- export type OwnProps = ControlledProps | UncontrolledProps;
@@ -1,32 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import moment from 'moment';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { getMomentDate } from '../utils';
10
-
11
- describe( 'getMomentDate', () => {
12
- it( 'should return a Moment object representing a given date string', () => {
13
- const currentDate = '1986-10-18T23:00:00';
14
- const momentDate = getMomentDate( currentDate );
15
-
16
- expect( moment.isMoment( momentDate ) ).toBe( true );
17
- expect( momentDate.isSame( moment( currentDate ) ) ).toBe( true );
18
- } );
19
-
20
- it( 'should return null when given a null argument', () => {
21
- const currentDate = null;
22
- const momentDate = getMomentDate( currentDate );
23
-
24
- expect( momentDate ).toBeNull();
25
- } );
26
-
27
- it( 'should return a Moment object representing now when given an undefined argument', () => {
28
- const momentDate = getMomentDate();
29
-
30
- expect( moment.isMoment( momentDate ) ).toBe( true );
31
- } );
32
- } );
@@ -1,18 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import moment from 'moment';
5
-
6
- /**
7
- * Create a Moment object from a date string. With no date supplied, default to a Moment
8
- * object representing now. If a null value is passed, return a null value.
9
- *
10
- * @param {?string} date Date representing the currently selected date or null to signify no selection.
11
- * @return {?moment.Moment} Moment object for selected date or null.
12
- */
13
- export const getMomentDate = ( date ) => {
14
- if ( null === date ) {
15
- return null;
16
- }
17
- return date ? moment( date ) : moment();
18
- };