@automattic/onboarding 1.0.0 → 1.0.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 (547) hide show
  1. package/.storybook/index.scss +16 -0
  2. package/.storybook/main.ts +15 -0
  3. package/.storybook/preview.ts +5 -0
  4. package/CHANGELOG.md +5 -0
  5. package/dist/cjs/action-buttons/index.js +1 -13
  6. package/dist/cjs/action-buttons/index.js.map +1 -1
  7. package/dist/cjs/action-buttons/style.scss +4 -40
  8. package/dist/cjs/cart/create-cart-manager-client.js +3 -3
  9. package/dist/cjs/cart/create-cart-manager-client.js.map +1 -1
  10. package/dist/cjs/cart/index.js +45 -67
  11. package/dist/cjs/cart/index.js.map +1 -1
  12. package/dist/cjs/confetti/index.js +1 -1
  13. package/dist/cjs/confetti/index.js.map +1 -1
  14. package/dist/cjs/flow-progress/use-flow-progress.js +0 -57
  15. package/dist/cjs/flow-progress/use-flow-progress.js.map +1 -1
  16. package/dist/cjs/hooks/use-persisted-state.js +61 -0
  17. package/dist/cjs/hooks/use-persisted-state.js.map +1 -0
  18. package/dist/cjs/hooray/index.js +1 -1
  19. package/dist/cjs/index.js +11 -10
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/mshots-image/index.js +34 -15
  22. package/dist/cjs/mshots-image/index.js.map +1 -1
  23. package/dist/cjs/mshots-image/style.scss +1 -0
  24. package/dist/cjs/navigator/hooks/index.js +2 -1
  25. package/dist/cjs/navigator/hooks/index.js.map +1 -1
  26. package/dist/cjs/navigator/navigator-buttons/index.js +2 -2
  27. package/dist/cjs/navigator/navigator-buttons/index.js.map +1 -1
  28. package/dist/cjs/navigator/navigator-header/index.js.map +1 -1
  29. package/dist/cjs/navigator/navigator-screens/hooks/index.js +3 -2
  30. package/dist/cjs/navigator/navigator-screens/hooks/index.js.map +1 -1
  31. package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js +1 -1
  32. package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -1
  33. package/dist/cjs/navigator/navigator-screens/navigator-screens.js +7 -2
  34. package/dist/cjs/navigator/navigator-screens/navigator-screens.js.map +1 -1
  35. package/dist/cjs/select-card-checkbox/index.js +4 -3
  36. package/dist/cjs/select-card-checkbox/index.js.map +1 -1
  37. package/dist/cjs/select-card-checkbox/style.scss +11 -14
  38. package/dist/cjs/select-card-checkbox-v2/index.js +15 -0
  39. package/dist/cjs/select-card-checkbox-v2/index.js.map +1 -0
  40. package/dist/cjs/select-card-checkbox-v2/style.scss +25 -0
  41. package/dist/cjs/select-items/index.js +2 -1
  42. package/dist/cjs/select-items/index.js.map +1 -1
  43. package/dist/cjs/select-items/style.scss +2 -1
  44. package/dist/cjs/setup-tailored-site-after-creation.js +9 -37
  45. package/dist/cjs/setup-tailored-site-after-creation.js.map +1 -1
  46. package/dist/cjs/step-container/index.js +10 -12
  47. package/dist/cjs/step-container/index.js.map +1 -1
  48. package/dist/cjs/step-container/style.scss +35 -77
  49. package/dist/cjs/step-container-v2/components/ContentRow/ContentRow.js +14 -0
  50. package/dist/cjs/step-container-v2/components/ContentRow/ContentRow.js.map +1 -0
  51. package/dist/cjs/step-container-v2/components/ContentRow/style.scss +26 -0
  52. package/dist/cjs/step-container-v2/components/ContentWrapper/ContentWrapper.js +19 -0
  53. package/dist/cjs/step-container-v2/components/ContentWrapper/ContentWrapper.js.map +1 -0
  54. package/dist/cjs/step-container-v2/components/ContentWrapper/style.scss +70 -0
  55. package/dist/cjs/step-container-v2/components/Heading/Heading.js +17 -0
  56. package/dist/cjs/step-container-v2/components/Heading/Heading.js.map +1 -0
  57. package/dist/cjs/step-container-v2/components/Heading/style.scss +47 -0
  58. package/dist/cjs/step-container-v2/components/StepContainerV2/StepContainerV2.js +36 -0
  59. package/dist/cjs/step-container-v2/components/StepContainerV2/StepContainerV2.js.map +1 -0
  60. package/dist/cjs/step-container-v2/components/StepContainerV2/context.js +13 -0
  61. package/dist/cjs/step-container-v2/components/StepContainerV2/context.js.map +1 -0
  62. package/dist/cjs/step-container-v2/components/StepContainerV2/style.scss +21 -0
  63. package/dist/cjs/step-container-v2/components/StepCounter/StepCounter.js +17 -0
  64. package/dist/cjs/step-container-v2/components/StepCounter/StepCounter.js.map +1 -0
  65. package/dist/cjs/step-container-v2/components/StepCounter/style.scss +4 -0
  66. package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBar.js +17 -0
  67. package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBar.js.map +1 -0
  68. package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js +31 -0
  69. package/dist/cjs/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js.map +1 -0
  70. package/dist/cjs/step-container-v2/components/StickyBottomBar/style.scss +56 -0
  71. package/dist/cjs/step-container-v2/components/TopBar/TopBar.js +55 -0
  72. package/dist/cjs/step-container-v2/components/TopBar/TopBar.js.map +1 -0
  73. package/dist/cjs/step-container-v2/components/TopBar/TopBarRenderer.js +32 -0
  74. package/dist/cjs/step-container-v2/components/TopBar/TopBarRenderer.js.map +1 -0
  75. package/dist/cjs/step-container-v2/components/TopBar/style.scss +75 -0
  76. package/dist/cjs/step-container-v2/components/buttons/BackButton/BackButton.js +29 -0
  77. package/dist/cjs/step-container-v2/components/buttons/BackButton/BackButton.js.map +1 -0
  78. package/dist/cjs/step-container-v2/components/buttons/BackButton/style.scss +16 -0
  79. package/dist/cjs/step-container-v2/components/buttons/LinkButton/LinkButton.js +18 -0
  80. package/dist/cjs/step-container-v2/components/buttons/LinkButton/LinkButton.js.map +1 -0
  81. package/dist/cjs/step-container-v2/components/buttons/LinkButton/style.scss +6 -0
  82. package/dist/cjs/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js +18 -0
  83. package/dist/cjs/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js.map +1 -0
  84. package/dist/cjs/step-container-v2/components/buttons/PrimaryButton/style.scss +6 -0
  85. package/dist/cjs/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js +18 -0
  86. package/dist/cjs/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js.map +1 -0
  87. package/dist/cjs/step-container-v2/components/buttons/SecondaryButton/style.scss +6 -0
  88. package/dist/cjs/step-container-v2/components/buttons/SkipButton/SkipButton.js +28 -0
  89. package/dist/cjs/step-container-v2/components/buttons/SkipButton/SkipButton.js.map +1 -0
  90. package/dist/cjs/step-container-v2/contexts/StepContainerV2Context.js +17 -0
  91. package/dist/cjs/step-container-v2/contexts/StepContainerV2Context.js.map +1 -0
  92. package/dist/cjs/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js +18 -0
  93. package/dist/cjs/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js.map +1 -0
  94. package/dist/cjs/step-container-v2/helpers/normalizeButtonProps.js +13 -0
  95. package/dist/cjs/step-container-v2/helpers/normalizeButtonProps.js.map +1 -0
  96. package/dist/cjs/step-container-v2/helpers/wireframe-placeholder.js +18 -0
  97. package/dist/cjs/step-container-v2/helpers/wireframe-placeholder.js.map +1 -0
  98. package/dist/cjs/step-container-v2/helpers/withStepContainerV2ContextDecorator.js +15 -0
  99. package/dist/cjs/step-container-v2/helpers/withStepContainerV2ContextDecorator.js.map +1 -0
  100. package/dist/cjs/step-container-v2/index.js +41 -0
  101. package/dist/cjs/step-container-v2/index.js.map +1 -0
  102. package/dist/cjs/step-container-v2/types.js +3 -0
  103. package/dist/cjs/step-container-v2/types.js.map +1 -0
  104. package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js +26 -0
  105. package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js.map +1 -0
  106. package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js +52 -0
  107. package/dist/cjs/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js.map +1 -0
  108. package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js +26 -0
  109. package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js.map +1 -0
  110. package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js +25 -0
  111. package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js.map +1 -0
  112. package/dist/cjs/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/style.scss +14 -0
  113. package/dist/cjs/step-container-v2/wireframes/Loading/Loading.js +30 -0
  114. package/dist/cjs/step-container-v2/wireframes/Loading/Loading.js.map +1 -0
  115. package/dist/cjs/step-container-v2/wireframes/Loading/Loading.stories.js +29 -0
  116. package/dist/cjs/step-container-v2/wireframes/Loading/Loading.stories.js.map +1 -0
  117. package/dist/cjs/step-container-v2/wireframes/Loading/style.scss +22 -0
  118. package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js +17 -0
  119. package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js.map +1 -0
  120. package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js +17 -0
  121. package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js.map +1 -0
  122. package/dist/cjs/step-container-v2/wireframes/PlaygroundLayout/style.scss +5 -0
  123. package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js +38 -0
  124. package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js.map +1 -0
  125. package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js +28 -0
  126. package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js.map +1 -0
  127. package/dist/cjs/step-container-v2/wireframes/TwoColumnLayout/style.scss +15 -0
  128. package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.js +17 -0
  129. package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.js.map +1 -0
  130. package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.stories.js +41 -0
  131. package/dist/cjs/step-container-v2/wireframes/WideLayout/WideLayout.stories.js.map +1 -0
  132. package/dist/cjs/step-navigation-link/index.js +2 -2
  133. package/dist/cjs/step-navigation-link/index.js.map +1 -1
  134. package/dist/cjs/step-navigation-link/style.scss +5 -3
  135. package/dist/cjs/titles/styles.scss +2 -2
  136. package/dist/cjs/upload-and-set-site-logo.js +4 -5
  137. package/dist/cjs/upload-and-set-site-logo.js.map +1 -1
  138. package/dist/cjs/utils/contrastChecker.js +1 -22
  139. package/dist/cjs/utils/contrastChecker.js.map +1 -1
  140. package/dist/cjs/utils/flows.js +73 -117
  141. package/dist/cjs/utils/flows.js.map +1 -1
  142. package/dist/cjs/utils/is-domain.js +1 -2
  143. package/dist/cjs/utils/is-domain.js.map +1 -1
  144. package/dist/cjs/utils/use-data-loss-warning.js +1 -2
  145. package/dist/cjs/utils/use-data-loss-warning.js.map +1 -1
  146. package/dist/cjs/wpcom-request.js +24 -0
  147. package/dist/cjs/wpcom-request.js.map +1 -0
  148. package/dist/esm/action-buttons/index.js +1 -11
  149. package/dist/esm/action-buttons/index.js.map +1 -1
  150. package/dist/esm/action-buttons/style.scss +4 -40
  151. package/dist/esm/cart/create-cart-manager-client.js +1 -1
  152. package/dist/esm/cart/create-cart-manager-client.js.map +1 -1
  153. package/dist/esm/cart/index.js +40 -61
  154. package/dist/esm/cart/index.js.map +1 -1
  155. package/dist/esm/confetti/index.js +1 -1
  156. package/dist/esm/confetti/index.js.map +1 -1
  157. package/dist/esm/flow-progress/use-flow-progress.js +1 -58
  158. package/dist/esm/flow-progress/use-flow-progress.js.map +1 -1
  159. package/dist/esm/hooks/use-persisted-state.js +57 -0
  160. package/dist/esm/hooks/use-persisted-state.js.map +1 -0
  161. package/dist/esm/hooray/index.js +1 -1
  162. package/dist/esm/index.js +6 -5
  163. package/dist/esm/index.js.map +1 -1
  164. package/dist/esm/mshots-image/index.js +33 -13
  165. package/dist/esm/mshots-image/index.js.map +1 -1
  166. package/dist/esm/mshots-image/style.scss +1 -0
  167. package/dist/esm/navigator/navigator-buttons/index.js.map +1 -1
  168. package/dist/esm/navigator/navigator-header/index.js.map +1 -1
  169. package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js +1 -1
  170. package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -1
  171. package/dist/esm/navigator/navigator-screens/navigator-screens.js +8 -3
  172. package/dist/esm/navigator/navigator-screens/navigator-screens.js.map +1 -1
  173. package/dist/esm/select-card-checkbox/index.js +4 -3
  174. package/dist/esm/select-card-checkbox/index.js.map +1 -1
  175. package/dist/esm/select-card-checkbox/style.scss +11 -14
  176. package/dist/esm/select-card-checkbox-v2/index.js +12 -0
  177. package/dist/esm/select-card-checkbox-v2/index.js.map +1 -0
  178. package/dist/esm/select-card-checkbox-v2/style.scss +25 -0
  179. package/dist/esm/select-items/index.js +3 -2
  180. package/dist/esm/select-items/index.js.map +1 -1
  181. package/dist/esm/select-items/style.scss +2 -1
  182. package/dist/esm/setup-tailored-site-after-creation.js +9 -37
  183. package/dist/esm/setup-tailored-site-after-creation.js.map +1 -1
  184. package/dist/esm/step-container/index.js +11 -13
  185. package/dist/esm/step-container/index.js.map +1 -1
  186. package/dist/esm/step-container/style.scss +35 -77
  187. package/dist/esm/step-container-v2/components/ContentRow/ContentRow.js +9 -0
  188. package/dist/esm/step-container-v2/components/ContentRow/ContentRow.js.map +1 -0
  189. package/dist/esm/step-container-v2/components/ContentRow/style.scss +26 -0
  190. package/dist/esm/step-container-v2/components/ContentWrapper/ContentWrapper.js +14 -0
  191. package/dist/esm/step-container-v2/components/ContentWrapper/ContentWrapper.js.map +1 -0
  192. package/dist/esm/step-container-v2/components/ContentWrapper/style.scss +70 -0
  193. package/dist/esm/step-container-v2/components/Heading/Heading.js +12 -0
  194. package/dist/esm/step-container-v2/components/Heading/Heading.js.map +1 -0
  195. package/dist/esm/step-container-v2/components/Heading/style.scss +47 -0
  196. package/dist/esm/step-container-v2/components/StepContainerV2/StepContainerV2.js +32 -0
  197. package/dist/esm/step-container-v2/components/StepContainerV2/StepContainerV2.js.map +1 -0
  198. package/dist/esm/step-container-v2/components/StepContainerV2/context.js +10 -0
  199. package/dist/esm/step-container-v2/components/StepContainerV2/context.js.map +1 -0
  200. package/dist/esm/step-container-v2/components/StepContainerV2/style.scss +21 -0
  201. package/dist/esm/step-container-v2/components/StepCounter/StepCounter.js +13 -0
  202. package/dist/esm/step-container-v2/components/StepCounter/StepCounter.js.map +1 -0
  203. package/dist/esm/step-container-v2/components/StepCounter/style.scss +4 -0
  204. package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBar.js +12 -0
  205. package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBar.js.map +1 -0
  206. package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js +27 -0
  207. package/dist/esm/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.js.map +1 -0
  208. package/dist/esm/step-container-v2/components/StickyBottomBar/style.scss +56 -0
  209. package/dist/esm/step-container-v2/components/TopBar/TopBar.js +49 -0
  210. package/dist/esm/step-container-v2/components/TopBar/TopBar.js.map +1 -0
  211. package/dist/esm/step-container-v2/components/TopBar/TopBarRenderer.js +27 -0
  212. package/dist/esm/step-container-v2/components/TopBar/TopBarRenderer.js.map +1 -0
  213. package/dist/esm/step-container-v2/components/TopBar/style.scss +75 -0
  214. package/dist/esm/step-container-v2/components/buttons/BackButton/BackButton.js +25 -0
  215. package/dist/esm/step-container-v2/components/buttons/BackButton/BackButton.js.map +1 -0
  216. package/dist/esm/step-container-v2/components/buttons/BackButton/style.scss +16 -0
  217. package/dist/esm/step-container-v2/components/buttons/LinkButton/LinkButton.js +14 -0
  218. package/dist/esm/step-container-v2/components/buttons/LinkButton/LinkButton.js.map +1 -0
  219. package/dist/esm/step-container-v2/components/buttons/LinkButton/style.scss +6 -0
  220. package/dist/esm/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js +14 -0
  221. package/dist/esm/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.js.map +1 -0
  222. package/dist/esm/step-container-v2/components/buttons/PrimaryButton/style.scss +6 -0
  223. package/dist/esm/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js +14 -0
  224. package/dist/esm/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.js.map +1 -0
  225. package/dist/esm/step-container-v2/components/buttons/SecondaryButton/style.scss +6 -0
  226. package/dist/esm/step-container-v2/components/buttons/SkipButton/SkipButton.js +24 -0
  227. package/dist/esm/step-container-v2/components/buttons/SkipButton/SkipButton.js.map +1 -0
  228. package/dist/esm/step-container-v2/contexts/StepContainerV2Context.js +13 -0
  229. package/dist/esm/step-container-v2/contexts/StepContainerV2Context.js.map +1 -0
  230. package/dist/esm/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js +14 -0
  231. package/dist/esm/step-container-v2/helpers/decorateButtonWithTracksEventRecording.js.map +1 -0
  232. package/dist/esm/step-container-v2/helpers/normalizeButtonProps.js +8 -0
  233. package/dist/esm/step-container-v2/helpers/normalizeButtonProps.js.map +1 -0
  234. package/dist/esm/step-container-v2/helpers/wireframe-placeholder.js +15 -0
  235. package/dist/esm/step-container-v2/helpers/wireframe-placeholder.js.map +1 -0
  236. package/dist/esm/step-container-v2/helpers/withStepContainerV2ContextDecorator.js +11 -0
  237. package/dist/esm/step-container-v2/helpers/withStepContainerV2ContextDecorator.js.map +1 -0
  238. package/dist/esm/step-container-v2/index.js +22 -0
  239. package/dist/esm/step-container-v2/index.js.map +1 -0
  240. package/dist/esm/step-container-v2/types.js +2 -0
  241. package/dist/esm/step-container-v2/types.js.map +1 -0
  242. package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js +22 -0
  243. package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.js.map +1 -0
  244. package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js +45 -0
  245. package/dist/esm/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.js.map +1 -0
  246. package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js +23 -0
  247. package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.js.map +1 -0
  248. package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js +21 -0
  249. package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.js.map +1 -0
  250. package/dist/esm/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/style.scss +14 -0
  251. package/dist/esm/step-container-v2/wireframes/Loading/Loading.js +26 -0
  252. package/dist/esm/step-container-v2/wireframes/Loading/Loading.js.map +1 -0
  253. package/dist/esm/step-container-v2/wireframes/Loading/Loading.stories.js +22 -0
  254. package/dist/esm/step-container-v2/wireframes/Loading/Loading.stories.js.map +1 -0
  255. package/dist/esm/step-container-v2/wireframes/Loading/style.scss +22 -0
  256. package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js +12 -0
  257. package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.js.map +1 -0
  258. package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js +13 -0
  259. package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.js.map +1 -0
  260. package/dist/esm/step-container-v2/wireframes/PlaygroundLayout/style.scss +5 -0
  261. package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js +33 -0
  262. package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.js.map +1 -0
  263. package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js +22 -0
  264. package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.js.map +1 -0
  265. package/dist/esm/step-container-v2/wireframes/TwoColumnLayout/style.scss +15 -0
  266. package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.js +13 -0
  267. package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.js.map +1 -0
  268. package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.stories.js +36 -0
  269. package/dist/esm/step-container-v2/wireframes/WideLayout/WideLayout.stories.js.map +1 -0
  270. package/dist/esm/step-navigation-link/index.js +2 -2
  271. package/dist/esm/step-navigation-link/index.js.map +1 -1
  272. package/dist/esm/step-navigation-link/style.scss +5 -3
  273. package/dist/esm/titles/styles.scss +2 -2
  274. package/dist/esm/upload-and-set-site-logo.js +1 -1
  275. package/dist/esm/upload-and-set-site-logo.js.map +1 -1
  276. package/dist/esm/utils/contrastChecker.js +0 -20
  277. package/dist/esm/utils/contrastChecker.js.map +1 -1
  278. package/dist/esm/utils/flows.js +57 -96
  279. package/dist/esm/utils/flows.js.map +1 -1
  280. package/dist/esm/wpcom-request.js +18 -0
  281. package/dist/esm/wpcom-request.js.map +1 -0
  282. package/dist/styles/mixins.scss +4 -4
  283. package/dist/styles/variables.scss +2 -2
  284. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  285. package/dist/tsconfig.tsbuildinfo +1 -1
  286. package/dist/types/action-buttons/index.d.ts +0 -4
  287. package/dist/types/action-buttons/index.d.ts.map +1 -1
  288. package/dist/types/cart/index.d.ts +7 -4
  289. package/dist/types/cart/index.d.ts.map +1 -1
  290. package/dist/types/flow-progress/use-flow-progress.d.ts.map +1 -1
  291. package/dist/types/hooks/use-persisted-state.d.ts +26 -0
  292. package/dist/types/hooks/use-persisted-state.d.ts.map +1 -0
  293. package/dist/types/index.d.ts +6 -5
  294. package/dist/types/index.d.ts.map +1 -1
  295. package/dist/types/intent-screen/index.d.ts.map +1 -1
  296. package/dist/types/mshots-image/index.d.ts +2 -1
  297. package/dist/types/mshots-image/index.d.ts.map +1 -1
  298. package/dist/types/navigator/hooks/use-navigator-listener.d.ts.map +1 -1
  299. package/dist/types/navigator/navigator-buttons/index.d.ts +1 -1
  300. package/dist/types/navigator/navigator-buttons/index.d.ts.map +1 -1
  301. package/dist/types/navigator/navigator-header/index.d.ts +1 -1
  302. package/dist/types/navigator/navigator-header/index.d.ts.map +1 -1
  303. package/dist/types/navigator/navigator-item-group/index.d.ts +0 -1
  304. package/dist/types/navigator/navigator-item-group/index.d.ts.map +1 -1
  305. package/dist/types/navigator/navigator-listener/index.d.ts.map +1 -1
  306. package/dist/types/navigator/navigator-screen/index.d.ts.map +1 -1
  307. package/dist/types/navigator/navigator-screens/hooks/use-navigator-buttons.d.ts.map +1 -1
  308. package/dist/types/navigator/navigator-screens/hooks/use-navigator-screens.d.ts.map +1 -1
  309. package/dist/types/navigator/navigator-screens/navigator-screens.d.ts +4 -2
  310. package/dist/types/navigator/navigator-screens/navigator-screens.d.ts.map +1 -1
  311. package/dist/types/navigator/navigator-screens/types.d.ts +1 -1
  312. package/dist/types/navigator/navigator-screens/types.d.ts.map +1 -1
  313. package/dist/types/progress/index.d.ts.map +1 -1
  314. package/dist/types/select-card-checkbox/index.d.ts +3 -1
  315. package/dist/types/select-card-checkbox/index.d.ts.map +1 -1
  316. package/dist/types/select-card-checkbox-v2/index.d.ts +12 -0
  317. package/dist/types/select-card-checkbox-v2/index.d.ts.map +1 -0
  318. package/dist/types/select-items/index.d.ts +1 -1
  319. package/dist/types/select-items/index.d.ts.map +1 -1
  320. package/dist/types/setup-tailored-site-after-creation.d.ts +1 -1
  321. package/dist/types/setup-tailored-site-after-creation.d.ts.map +1 -1
  322. package/dist/types/step-container/index.d.ts +3 -4
  323. package/dist/types/step-container/index.d.ts.map +1 -1
  324. package/dist/types/step-container-v2/components/ContentRow/ContentRow.d.ts +9 -0
  325. package/dist/types/step-container-v2/components/ContentRow/ContentRow.d.ts.map +1 -0
  326. package/dist/types/step-container-v2/components/ContentWrapper/ContentWrapper.d.ts +15 -0
  327. package/dist/types/step-container-v2/components/ContentWrapper/ContentWrapper.d.ts.map +1 -0
  328. package/dist/types/step-container-v2/components/Heading/Heading.d.ts +11 -0
  329. package/dist/types/step-container-v2/components/Heading/Heading.d.ts.map +1 -0
  330. package/dist/types/step-container-v2/components/StepContainerV2/StepContainerV2.d.ts +7 -0
  331. package/dist/types/step-container-v2/components/StepContainerV2/StepContainerV2.d.ts.map +1 -0
  332. package/dist/types/step-container-v2/components/StepContainerV2/context.d.ts +12 -0
  333. package/dist/types/step-container-v2/components/StepContainerV2/context.d.ts.map +1 -0
  334. package/dist/types/step-container-v2/components/StepCounter/StepCounter.d.ts +7 -0
  335. package/dist/types/step-container-v2/components/StepCounter/StepCounter.d.ts.map +1 -0
  336. package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBar.d.ts +14 -0
  337. package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBar.d.ts.map +1 -0
  338. package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.d.ts +5 -0
  339. package/dist/types/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.d.ts.map +1 -0
  340. package/dist/types/step-container-v2/components/TopBar/TopBar.d.ts +25 -0
  341. package/dist/types/step-container-v2/components/TopBar/TopBar.d.ts.map +1 -0
  342. package/dist/types/step-container-v2/components/TopBar/TopBarRenderer.d.ts +6 -0
  343. package/dist/types/step-container-v2/components/TopBar/TopBarRenderer.d.ts.map +1 -0
  344. package/dist/types/step-container-v2/components/buttons/BackButton/BackButton.d.ts +6 -0
  345. package/dist/types/step-container-v2/components/buttons/BackButton/BackButton.d.ts.map +1 -0
  346. package/dist/types/step-container-v2/components/buttons/LinkButton/LinkButton.d.ts +4 -0
  347. package/dist/types/step-container-v2/components/buttons/LinkButton/LinkButton.d.ts.map +1 -0
  348. package/dist/types/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.d.ts +4 -0
  349. package/dist/types/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.d.ts.map +1 -0
  350. package/dist/types/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.d.ts +4 -0
  351. package/dist/types/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.d.ts.map +1 -0
  352. package/dist/types/step-container-v2/components/buttons/SkipButton/SkipButton.d.ts +9 -0
  353. package/dist/types/step-container-v2/components/buttons/SkipButton/SkipButton.d.ts.map +1 -0
  354. package/dist/types/step-container-v2/contexts/StepContainerV2Context.d.ts +10 -0
  355. package/dist/types/step-container-v2/contexts/StepContainerV2Context.d.ts.map +1 -0
  356. package/dist/types/step-container-v2/helpers/decorateButtonWithTracksEventRecording.d.ts +8 -0
  357. package/dist/types/step-container-v2/helpers/decorateButtonWithTracksEventRecording.d.ts.map +1 -0
  358. package/dist/types/step-container-v2/helpers/normalizeButtonProps.d.ts +5 -0
  359. package/dist/types/step-container-v2/helpers/normalizeButtonProps.d.ts.map +1 -0
  360. package/dist/types/step-container-v2/helpers/wireframe-placeholder.d.ts +7 -0
  361. package/dist/types/step-container-v2/helpers/wireframe-placeholder.d.ts.map +1 -0
  362. package/dist/types/step-container-v2/helpers/withStepContainerV2ContextDecorator.d.ts +2 -0
  363. package/dist/types/step-container-v2/helpers/withStepContainerV2ContextDecorator.d.ts.map +1 -0
  364. package/dist/types/step-container-v2/index.d.ts +22 -0
  365. package/dist/types/step-container-v2/index.d.ts.map +1 -0
  366. package/dist/types/step-container-v2/types.d.ts +4 -0
  367. package/dist/types/step-container-v2/types.d.ts.map +1 -0
  368. package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.d.ts +16 -0
  369. package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.d.ts.map +1 -0
  370. package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.d.ts +9 -0
  371. package/dist/types/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.d.ts.map +1 -0
  372. package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.d.ts +18 -0
  373. package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.d.ts.map +1 -0
  374. package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.d.ts +6 -0
  375. package/dist/types/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.d.ts.map +1 -0
  376. package/dist/types/step-container-v2/wireframes/Loading/Loading.d.ts +12 -0
  377. package/dist/types/step-container-v2/wireframes/Loading/Loading.d.ts.map +1 -0
  378. package/dist/types/step-container-v2/wireframes/Loading/Loading.stories.d.ts +9 -0
  379. package/dist/types/step-container-v2/wireframes/Loading/Loading.stories.d.ts.map +1 -0
  380. package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.d.ts +10 -0
  381. package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.d.ts.map +1 -0
  382. package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.d.ts +6 -0
  383. package/dist/types/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.d.ts.map +1 -0
  384. package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.d.ts +20 -0
  385. package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.d.ts.map +1 -0
  386. package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.d.ts +8 -0
  387. package/dist/types/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.d.ts.map +1 -0
  388. package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.d.ts +13 -0
  389. package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.d.ts.map +1 -0
  390. package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.stories.d.ts +9 -0
  391. package/dist/types/step-container-v2/wireframes/WideLayout/WideLayout.stories.d.ts.map +1 -0
  392. package/dist/types/step-navigation-link/index.d.ts +1 -1
  393. package/dist/types/step-navigation-link/index.d.ts.map +1 -1
  394. package/dist/types/upload-and-set-site-logo.d.ts +1 -1
  395. package/dist/types/upload-and-set-site-logo.d.ts.map +1 -1
  396. package/dist/types/utils/contrastChecker.d.ts +0 -10
  397. package/dist/types/utils/contrastChecker.d.ts.map +1 -1
  398. package/dist/types/utils/domain-suggester.d.ts.map +1 -1
  399. package/dist/types/utils/flows.d.ts +37 -46
  400. package/dist/types/utils/flows.d.ts.map +1 -1
  401. package/dist/types/wpcom-request.d.ts +7 -0
  402. package/dist/types/wpcom-request.d.ts.map +1 -0
  403. package/jest.config.js +0 -1
  404. package/package.json +44 -23
  405. package/src/action-buttons/index.tsx +0 -40
  406. package/src/action-buttons/style.scss +4 -40
  407. package/src/cart/create-cart-manager-client.ts +1 -1
  408. package/src/cart/index.tsx +60 -103
  409. package/src/cart/test/index.ts +14 -14
  410. package/src/confetti/index.tsx +1 -1
  411. package/src/flow-progress/use-flow-progress.ts +1 -66
  412. package/src/hooks/test/index.ts +54 -0
  413. package/src/hooks/use-persisted-state.ts +85 -0
  414. package/src/hooray/index.tsx +1 -1
  415. package/src/index.ts +7 -12
  416. package/src/intent-screen/test/index.tsx +10 -7
  417. package/src/mshots-image/index.tsx +52 -21
  418. package/src/mshots-image/style.scss +1 -0
  419. package/src/navigator/navigator-buttons/index.tsx +1 -0
  420. package/src/navigator/navigator-header/index.tsx +1 -0
  421. package/src/navigator/navigator-screens/hooks/use-navigator-screens.tsx +5 -1
  422. package/src/navigator/navigator-screens/navigator-screens.tsx +17 -0
  423. package/src/navigator/navigator-screens/types.ts +1 -0
  424. package/src/select-card-checkbox/index.tsx +10 -4
  425. package/src/select-card-checkbox/style.scss +11 -14
  426. package/src/select-card-checkbox-v2/index.tsx +51 -0
  427. package/src/select-card-checkbox-v2/style.scss +25 -0
  428. package/src/select-card-checkbox-v2/test/index.test.tsx +49 -0
  429. package/src/select-items/index.tsx +10 -4
  430. package/src/select-items/style.scss +2 -1
  431. package/src/setup-tailored-site-after-creation.ts +16 -60
  432. package/src/step-container/index.tsx +21 -42
  433. package/src/step-container/style.scss +35 -77
  434. package/src/step-container-v2/README.md +235 -0
  435. package/src/step-container-v2/components/ContentRow/ContentRow.tsx +27 -0
  436. package/src/step-container-v2/components/ContentRow/style.scss +26 -0
  437. package/src/step-container-v2/components/ContentWrapper/ContentWrapper.tsx +41 -0
  438. package/src/step-container-v2/components/ContentWrapper/style.scss +70 -0
  439. package/src/step-container-v2/components/Heading/Heading.tsx +31 -0
  440. package/src/step-container-v2/components/Heading/style.scss +47 -0
  441. package/src/step-container-v2/components/StepContainerV2/StepContainerV2.tsx +55 -0
  442. package/src/step-container-v2/components/StepContainerV2/context.ts +25 -0
  443. package/src/step-container-v2/components/StepContainerV2/style.scss +21 -0
  444. package/src/step-container-v2/components/StepCounter/StepCounter.tsx +32 -0
  445. package/src/step-container-v2/components/StepCounter/style.scss +4 -0
  446. package/src/step-container-v2/components/StickyBottomBar/StickyBottomBar.tsx +46 -0
  447. package/src/step-container-v2/components/StickyBottomBar/StickyBottomBarRenderer.tsx +41 -0
  448. package/src/step-container-v2/components/StickyBottomBar/style.scss +56 -0
  449. package/src/step-container-v2/components/TopBar/TopBar.tsx +116 -0
  450. package/src/step-container-v2/components/TopBar/TopBarRenderer.tsx +43 -0
  451. package/src/step-container-v2/components/TopBar/style.scss +75 -0
  452. package/src/step-container-v2/components/buttons/BackButton/BackButton.tsx +32 -0
  453. package/src/step-container-v2/components/buttons/BackButton/style.scss +16 -0
  454. package/src/step-container-v2/components/buttons/LinkButton/LinkButton.tsx +17 -0
  455. package/src/step-container-v2/components/buttons/LinkButton/style.scss +6 -0
  456. package/src/step-container-v2/components/buttons/PrimaryButton/PrimaryButton.tsx +17 -0
  457. package/src/step-container-v2/components/buttons/PrimaryButton/style.scss +6 -0
  458. package/src/step-container-v2/components/buttons/SecondaryButton/SecondaryButton.tsx +17 -0
  459. package/src/step-container-v2/components/buttons/SecondaryButton/style.scss +6 -0
  460. package/src/step-container-v2/components/buttons/SkipButton/SkipButton.tsx +30 -0
  461. package/src/step-container-v2/contexts/StepContainerV2Context.ts +23 -0
  462. package/src/step-container-v2/helpers/decorateButtonWithTracksEventRecording.ts +28 -0
  463. package/src/step-container-v2/helpers/normalizeButtonProps.ts +14 -0
  464. package/src/step-container-v2/helpers/wireframe-placeholder.tsx +28 -0
  465. package/src/step-container-v2/helpers/withStepContainerV2ContextDecorator.tsx +16 -0
  466. package/src/step-container-v2/index.tsx +24 -0
  467. package/src/step-container-v2/types.ts +4 -0
  468. package/src/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.stories.tsx +122 -0
  469. package/src/step-container-v2/wireframes/CenteredColumnLayout/CenteredColumnLayout.tsx +66 -0
  470. package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.stories.tsx +51 -0
  471. package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/FixedColumnOnTheLeftLayout.tsx +69 -0
  472. package/src/step-container-v2/wireframes/FixedColumnOnTheLeftLayout/style.scss +14 -0
  473. package/src/step-container-v2/wireframes/Loading/Loading.stories.tsx +27 -0
  474. package/src/step-container-v2/wireframes/Loading/Loading.tsx +52 -0
  475. package/src/step-container-v2/wireframes/Loading/style.scss +22 -0
  476. package/src/step-container-v2/wireframes/Loading/test/Loading.test.tsx +42 -0
  477. package/src/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.stories.tsx +21 -0
  478. package/src/step-container-v2/wireframes/PlaygroundLayout/PlaygroundLayout.tsx +31 -0
  479. package/src/step-container-v2/wireframes/PlaygroundLayout/style.scss +5 -0
  480. package/src/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.stories.tsx +93 -0
  481. package/src/step-container-v2/wireframes/TwoColumnLayout/TwoColumnLayout.tsx +93 -0
  482. package/src/step-container-v2/wireframes/TwoColumnLayout/style.scss +15 -0
  483. package/src/step-container-v2/wireframes/WideLayout/WideLayout.stories.tsx +83 -0
  484. package/src/step-container-v2/wireframes/WideLayout/WideLayout.tsx +44 -0
  485. package/src/step-navigation-link/index.tsx +3 -0
  486. package/src/step-navigation-link/style.scss +5 -3
  487. package/src/style-imports.d.ts +3 -0
  488. package/src/titles/styles.scss +2 -2
  489. package/src/upload-and-set-site-logo.ts +1 -1
  490. package/src/utils/contrastChecker.ts +0 -35
  491. package/src/utils/flows.ts +67 -123
  492. package/src/wpcom-request.ts +26 -0
  493. package/styles/mixins.scss +4 -4
  494. package/styles/variables.scss +2 -2
  495. package/tsconfig.json +1 -0
  496. package/dist/cjs/feature-icon/index.js +0 -19
  497. package/dist/cjs/feature-icon/index.js.map +0 -1
  498. package/dist/cjs/flow-progress/index.js +0 -14
  499. package/dist/cjs/flow-progress/index.js.map +0 -1
  500. package/dist/cjs/flow-progress/style.scss +0 -5
  501. package/dist/cjs/notice/index.js +0 -12
  502. package/dist/cjs/notice/index.js.map +0 -1
  503. package/dist/cjs/notice/style.scss +0 -19
  504. package/dist/cjs/select-card-radio/index.js +0 -21
  505. package/dist/cjs/select-card-radio/index.js.map +0 -1
  506. package/dist/cjs/select-card-radio/style.scss +0 -44
  507. package/dist/cjs/sensei-logo/index.js +0 -8
  508. package/dist/cjs/sensei-logo/index.js.map +0 -1
  509. package/dist/cjs/videopress-logo/index.js +0 -8
  510. package/dist/cjs/videopress-logo/index.js.map +0 -1
  511. package/dist/esm/feature-icon/index.js +0 -16
  512. package/dist/esm/feature-icon/index.js.map +0 -1
  513. package/dist/esm/flow-progress/index.js +0 -12
  514. package/dist/esm/flow-progress/index.js.map +0 -1
  515. package/dist/esm/flow-progress/style.scss +0 -5
  516. package/dist/esm/notice/index.js +0 -9
  517. package/dist/esm/notice/index.js.map +0 -1
  518. package/dist/esm/notice/style.scss +0 -19
  519. package/dist/esm/select-card-radio/index.js +0 -15
  520. package/dist/esm/select-card-radio/index.js.map +0 -1
  521. package/dist/esm/select-card-radio/style.scss +0 -44
  522. package/dist/esm/sensei-logo/index.js +0 -6
  523. package/dist/esm/sensei-logo/index.js.map +0 -1
  524. package/dist/esm/videopress-logo/index.js +0 -6
  525. package/dist/esm/videopress-logo/index.js.map +0 -1
  526. package/dist/types/feature-icon/index.d.ts +0 -9
  527. package/dist/types/feature-icon/index.d.ts.map +0 -1
  528. package/dist/types/flow-progress/index.d.ts +0 -9
  529. package/dist/types/flow-progress/index.d.ts.map +0 -1
  530. package/dist/types/notice/index.d.ts +0 -7
  531. package/dist/types/notice/index.d.ts.map +0 -1
  532. package/dist/types/select-card-radio/index.d.ts +0 -22
  533. package/dist/types/select-card-radio/index.d.ts.map +0 -1
  534. package/dist/types/sensei-logo/index.d.ts +0 -8
  535. package/dist/types/sensei-logo/index.d.ts.map +0 -1
  536. package/dist/types/videopress-logo/index.d.ts +0 -8
  537. package/dist/types/videopress-logo/index.d.ts.map +0 -1
  538. package/src/feature-icon/index.tsx +0 -102
  539. package/src/flow-progress/index.tsx +0 -22
  540. package/src/flow-progress/style.scss +0 -5
  541. package/src/notice/index.tsx +0 -16
  542. package/src/notice/style.scss +0 -19
  543. package/src/select-card-radio/index.tsx +0 -64
  544. package/src/select-card-radio/style.scss +0 -44
  545. package/src/select-card-radio/test/index.tsx +0 -50
  546. package/src/sensei-logo/index.tsx +0 -30
  547. package/src/videopress-logo/index.tsx +0 -36
@@ -0,0 +1,122 @@
1
+ import { createInterpolateElement } from '@wordpress/element';
2
+ import { Heading, TopBar, BackButton, PrimaryButton, StickyBottomBar, SkipButton } from '../..';
3
+ import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
4
+ import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
5
+ import { CenteredColumnLayout } from './CenteredColumnLayout';
6
+ import type { Meta } from '@storybook/react';
7
+
8
+ const meta: Meta< typeof CenteredColumnLayout > = {
9
+ title: 'Onboarding/StepWireframes/CenteredColumnLayout',
10
+ component: CenteredColumnLayout,
11
+ decorators: [ withStepContainerV2ContextDecorator ],
12
+ };
13
+
14
+ export default meta;
15
+
16
+ export const FourColumnsCenteredLayout = () => {
17
+ const backButton = <BackButton />;
18
+ const nextButton = <PrimaryButton />;
19
+ const skipButton = <SkipButton />;
20
+
21
+ return (
22
+ <CenteredColumnLayout
23
+ columnWidth={ 4 }
24
+ topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
25
+ heading={
26
+ <Heading
27
+ text="Four Columns Centered Layout"
28
+ subText={ createInterpolateElement(
29
+ 'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
30
+ {
31
+ code: <code />,
32
+ }
33
+ ) }
34
+ />
35
+ }
36
+ stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
37
+ >
38
+ <WireframePlaceholder height={ 370 }>Content</WireframePlaceholder>
39
+ </CenteredColumnLayout>
40
+ );
41
+ };
42
+
43
+ export const SixColumnsCenteredLayout = () => {
44
+ const backButton = <BackButton />;
45
+ const nextButton = <PrimaryButton />;
46
+ const skipButton = <SkipButton />;
47
+
48
+ return (
49
+ <CenteredColumnLayout
50
+ columnWidth={ 6 }
51
+ topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
52
+ heading={
53
+ <Heading
54
+ text="Six Columns Centered Layout"
55
+ subText={ createInterpolateElement(
56
+ 'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
57
+ {
58
+ code: <code />,
59
+ }
60
+ ) }
61
+ />
62
+ }
63
+ stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
64
+ >
65
+ <WireframePlaceholder height={ 500 }>Content</WireframePlaceholder>
66
+ </CenteredColumnLayout>
67
+ );
68
+ };
69
+
70
+ export const EightColumnsCenteredLayout = () => {
71
+ const backButton = <BackButton />;
72
+ const nextButton = <PrimaryButton />;
73
+ const skipButton = <SkipButton />;
74
+
75
+ return (
76
+ <CenteredColumnLayout
77
+ columnWidth={ 8 }
78
+ topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
79
+ heading={
80
+ <Heading
81
+ text="Six Columns Centered Layout"
82
+ subText={ createInterpolateElement(
83
+ 'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
84
+ {
85
+ code: <code />,
86
+ }
87
+ ) }
88
+ />
89
+ }
90
+ stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
91
+ >
92
+ <WireframePlaceholder height={ 500 }>Content</WireframePlaceholder>
93
+ </CenteredColumnLayout>
94
+ );
95
+ };
96
+
97
+ export const TenColumnsCenteredLayout = () => {
98
+ const backButton = <BackButton />;
99
+ const nextButton = <PrimaryButton />;
100
+ const skipButton = <SkipButton />;
101
+
102
+ return (
103
+ <CenteredColumnLayout
104
+ columnWidth={ 10 }
105
+ topBar={ <TopBar leftElement={ backButton } rightElement={ skipButton } /> }
106
+ heading={
107
+ <Heading
108
+ text="Eight Columns Centered Layout"
109
+ subText={ createInterpolateElement(
110
+ 'An example of the <code>CenteredColumnLayout</code> wireframe layout.',
111
+ {
112
+ code: <code />,
113
+ }
114
+ ) }
115
+ />
116
+ }
117
+ stickyBottomBar={ <StickyBottomBar rightElement={ nextButton } /> }
118
+ >
119
+ <WireframePlaceholder height={ 500 }>Content</WireframePlaceholder>
120
+ </CenteredColumnLayout>
121
+ );
122
+ };
@@ -0,0 +1,66 @@
1
+ import { ReactNode } from 'react';
2
+ import { ContentRow } from '../../components/ContentRow/ContentRow';
3
+ import { ContentWrapper } from '../../components/ContentWrapper/ContentWrapper';
4
+ import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
5
+ import { ContentProp } from '../../components/StepContainerV2/context';
6
+ import { StickyBottomBarRenderer } from '../../components/StickyBottomBar/StickyBottomBarRenderer';
7
+ import { isTopBar } from '../../components/TopBar/TopBar';
8
+ import { renderTopBar, TopBarRenderer } from '../../components/TopBar/TopBarRenderer';
9
+
10
+ interface CenteredColumnLayoutProps {
11
+ topBar?: ContentProp;
12
+ heading?: ReactNode;
13
+ headingColumnWidth?: 4 | 5 | 6 | 8 | 10;
14
+ className?: string;
15
+ children?: ContentProp;
16
+ stickyBottomBar?: ContentProp;
17
+ columnWidth: 4 | 5 | 6 | 8 | 10;
18
+ verticalAlign?: 'center';
19
+ noGap?: boolean;
20
+ }
21
+
22
+ export const CenteredColumnLayout = ( {
23
+ columnWidth,
24
+ topBar,
25
+ heading,
26
+ headingColumnWidth = 6,
27
+ className,
28
+ children,
29
+ stickyBottomBar,
30
+ verticalAlign,
31
+ noGap,
32
+ }: CenteredColumnLayoutProps ) => {
33
+ return (
34
+ <StepContainerV2
35
+ initialTopBarHeight={
36
+ // Calculate the top bar height on the server side to avoid layout shifts.
37
+ typeof window === 'undefined' &&
38
+ isTopBar(
39
+ renderTopBar( topBar, {
40
+ isLargeViewport: false,
41
+ isSmallViewport: false,
42
+ } )
43
+ )
44
+ ? 'calc( var( --step-container-v2-top-bar-content-height ) + 2 * var( --step-container-v2-top-bar-padding ) )'
45
+ : '0px'
46
+ }
47
+ >
48
+ { ( context ) => {
49
+ const content = typeof children === 'function' ? children( context ) : children;
50
+
51
+ return (
52
+ <>
53
+ <TopBarRenderer topBar={ topBar } />
54
+ <ContentWrapper centerAligned={ verticalAlign === 'center' } noGap={ noGap }>
55
+ { heading && <ContentRow columns={ headingColumnWidth }>{ heading }</ContentRow> }
56
+ <ContentRow columns={ columnWidth } className={ className }>
57
+ { content }
58
+ </ContentRow>
59
+ </ContentWrapper>
60
+ <StickyBottomBarRenderer stickyBottomBar={ stickyBottomBar } />
61
+ </>
62
+ );
63
+ } }
64
+ </StepContainerV2>
65
+ );
66
+ };
@@ -0,0 +1,51 @@
1
+ import { createInterpolateElement } from '@wordpress/element';
2
+ import { TopBar, BackButton, PrimaryButton, StickyBottomBar, LinkButton } from '../..';
3
+ import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
4
+ import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
5
+ import { FixedColumnOnTheLeftLayout } from './FixedColumnOnTheLeftLayout';
6
+ import type { Meta } from '@storybook/react';
7
+
8
+ const meta: Meta< typeof FixedColumnOnTheLeftLayout > = {
9
+ title: 'Onboarding/StepWireframes/FixedColumnOnTheLeftLayout',
10
+ component: FixedColumnOnTheLeftLayout,
11
+ decorators: [ withStepContainerV2ContextDecorator ],
12
+ };
13
+
14
+ export default meta;
15
+
16
+ export const ThreeColumnsOnTheLeft = () => (
17
+ <FixedColumnOnTheLeftLayout
18
+ fixedColumnWidth={ 3 }
19
+ topBar={
20
+ <TopBar
21
+ leftElement={ <BackButton /> }
22
+ rightElement={
23
+ <span>
24
+ Need help? <LinkButton>Contact us</LinkButton>
25
+ </span>
26
+ }
27
+ />
28
+ }
29
+ heading={
30
+ <FixedColumnOnTheLeftLayout.Heading
31
+ text="Fixed Column on the Left"
32
+ subText={ createInterpolateElement(
33
+ 'An example of the <code>FixedColumnOnTheLeftLayout</code> wireframe layout.',
34
+ {
35
+ code: <code />,
36
+ }
37
+ ) }
38
+ />
39
+ }
40
+ stickyBottomBar={ ( context ) => {
41
+ if ( context.isLargeViewport ) {
42
+ return null;
43
+ }
44
+
45
+ return <StickyBottomBar rightElement={ <PrimaryButton /> } />;
46
+ } }
47
+ >
48
+ <WireframePlaceholder style={ { flex: 1 } }>Sidebar</WireframePlaceholder>
49
+ <WireframePlaceholder height="100%">Main</WireframePlaceholder>
50
+ </FixedColumnOnTheLeftLayout>
51
+ );
@@ -0,0 +1,69 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ import { ContentRow } from '../../components/ContentRow/ContentRow';
3
+ import { ContentWrapper } from '../../components/ContentWrapper/ContentWrapper';
4
+ import { Heading } from '../../components/Heading/Heading';
5
+ import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
6
+ import { ContentProp } from '../../components/StepContainerV2/context';
7
+ import { StickyBottomBarRenderer } from '../../components/StickyBottomBar/StickyBottomBarRenderer';
8
+ import { TopBarRenderer } from '../../components/TopBar/TopBarRenderer';
9
+ import './style.scss';
10
+
11
+ interface FixedColumnOnTheLeftLayoutProps {
12
+ topBar?: ContentProp;
13
+ heading?: ReactNode;
14
+ footer?: ReactNode;
15
+ children: [ ContentProp, ContentProp ];
16
+ stickyBottomBar?: ContentProp;
17
+ fixedColumnWidth: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
18
+ }
19
+
20
+ const FixedColumnOnTheLeftLayout = ( {
21
+ fixedColumnWidth,
22
+ children,
23
+ topBar,
24
+ heading,
25
+ footer,
26
+ stickyBottomBar,
27
+ }: FixedColumnOnTheLeftLayoutProps ) => {
28
+ return (
29
+ <StepContainerV2>
30
+ { ( context ) => {
31
+ const [ fixedColumn, secondColumn ] = children.map( ( child ) => {
32
+ if ( typeof child === 'function' ) {
33
+ return child( context );
34
+ }
35
+ return child;
36
+ } );
37
+
38
+ return (
39
+ <>
40
+ <TopBarRenderer topBar={ topBar } />
41
+ <ContentWrapper
42
+ axisDirection={ context.isLargeViewport ? 'horizontal' : 'vertical' }
43
+ noTopPadding={ context.isLargeViewport }
44
+ >
45
+ <ContentRow
46
+ columns={ context.isLargeViewport ? fixedColumnWidth : undefined }
47
+ stretched
48
+ className="step-container-v2--fixed-column-on-the-left-layout__fixed-column"
49
+ >
50
+ { heading }
51
+ { fixedColumn }
52
+ { footer }
53
+ </ContentRow>
54
+ <ContentRow stretched>{ secondColumn }</ContentRow>
55
+ </ContentWrapper>
56
+ <StickyBottomBarRenderer stickyBottomBar={ stickyBottomBar } />
57
+ </>
58
+ );
59
+ } }
60
+ </StepContainerV2>
61
+ );
62
+ };
63
+
64
+ // eslint-disable-next-line react/display-name
65
+ FixedColumnOnTheLeftLayout.Heading = ( props: ComponentProps< typeof Heading > ) => (
66
+ <Heading { ...props } align="left" size="small" />
67
+ );
68
+
69
+ export { FixedColumnOnTheLeftLayout };
@@ -0,0 +1,14 @@
1
+ @import '@wordpress/base-styles/breakpoints';
2
+ @import '@wordpress/base-styles/mixins';
3
+
4
+ .step-container-v2--fixed-column-on-the-left-layout {
5
+ &__fixed-column {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 2rem;
9
+
10
+ @include break-large {
11
+ padding-top: 1.5rem;
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,27 @@
1
+ import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
2
+ import { Loading } from './Loading';
3
+ import type { Meta } from '@storybook/react';
4
+
5
+ const meta: Meta< typeof Loading > = {
6
+ title: 'Onboarding/StepWireframes/Loading',
7
+ component: Loading,
8
+ decorators: [ withStepContainerV2ContextDecorator ],
9
+ };
10
+
11
+ export default meta;
12
+
13
+ export const Default = () => {
14
+ return <Loading title="Loading" progress={ 0.5 } />;
15
+ };
16
+
17
+ export const Indeterminate = () => {
18
+ return <Loading title="Loading" progress={ undefined } />;
19
+ };
20
+
21
+ export const NoTitle = () => {
22
+ return <Loading progress={ undefined } />;
23
+ };
24
+
25
+ export const DelayedTitle = () => {
26
+ return <Loading title="Reticulating splines" progress={ undefined } delay={ 2000 } />;
27
+ };
@@ -0,0 +1,52 @@
1
+ import { ProgressBar } from '@wordpress/components';
2
+ import { ReactNode, useEffect, useState } from 'react';
3
+ import { Heading } from '../../components/Heading/Heading';
4
+ import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
5
+ import { TopBar, type TopBarProps } from '../../components/TopBar/TopBar';
6
+
7
+ import './style.scss';
8
+
9
+ interface LoadingProps {
10
+ title?: ReactNode;
11
+ progress?: number;
12
+ delay?: number;
13
+ compactLogo?: TopBarProps[ 'compactLogo' ];
14
+ }
15
+
16
+ export const Loading = ( { title, progress, delay = 0, compactLogo }: LoadingProps ) => {
17
+ const [ shouldDisplayTitle, setShouldDisplayTitle ] = useState( delay === 0 );
18
+
19
+ const [ prevDelay, setPrevDelay ] = useState( delay );
20
+ if ( delay !== prevDelay ) {
21
+ setPrevDelay( delay );
22
+ setShouldDisplayTitle( delay === 0 );
23
+ }
24
+
25
+ useEffect( () => {
26
+ if ( delay === 0 ) {
27
+ return;
28
+ }
29
+
30
+ const timeout = setTimeout( () => {
31
+ setShouldDisplayTitle( true );
32
+ }, delay );
33
+
34
+ return () => clearTimeout( timeout );
35
+ }, [ delay ] );
36
+
37
+ return (
38
+ <StepContainerV2>
39
+ <TopBar compactLogo={ compactLogo } />
40
+ <div className="step-container-v2--loading">
41
+ { title && shouldDisplayTitle && (
42
+ <div className="step-container-v2--loading__heading-wrapper">
43
+ <div className="step-container-v2--loading__heading">
44
+ <Heading text={ title } size="small" align="center" />
45
+ </div>
46
+ </div>
47
+ ) }
48
+ <ProgressBar className="step-container-v2--loading__progress-bar" value={ progress } />
49
+ </div>
50
+ </StepContainerV2>
51
+ );
52
+ };
@@ -0,0 +1,22 @@
1
+ .step-container-v2--loading {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ justify-content: center;
6
+ position: absolute;
7
+ inset: 0;
8
+
9
+ &__heading-wrapper {
10
+ position: absolute;
11
+ height: 0;
12
+ }
13
+
14
+ &__heading {
15
+ transform: translateY( -100% );
16
+ padding-bottom: 3rem;
17
+ }
18
+
19
+ &__progress-bar {
20
+ --wp-components-color-foreground: var( --color-accent, #3858e9 );
21
+ }
22
+ }
@@ -0,0 +1,42 @@
1
+ import { act, render, screen } from '@testing-library/react';
2
+ import { Loading } from '../Loading';
3
+ import '@testing-library/jest-dom';
4
+
5
+ jest.useFakeTimers();
6
+
7
+ test( 'renders the title', () => {
8
+ render( <Loading title="Test 123" /> );
9
+ expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
10
+ } );
11
+
12
+ test( 'hides title as long as delay', () => {
13
+ render( <Loading title="Test 123" delay={ 1000 } /> );
14
+ expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
15
+
16
+ act( () => jest.advanceTimersByTime( 2000 ) );
17
+
18
+ expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
19
+ } );
20
+
21
+ test( 'dropping delay prop immediately renders title', () => {
22
+ const { rerender } = render( <Loading title="Test 123" delay={ 1000 } /> );
23
+
24
+ jest.advanceTimersByTime( 500 );
25
+ expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
26
+
27
+ rerender( <Loading title="Test 123" /> );
28
+ expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
29
+ } );
30
+
31
+ test( 'increasing delay prop resets timer', () => {
32
+ const { rerender } = render( <Loading title="Test 123" delay={ 1000 } /> );
33
+
34
+ expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
35
+
36
+ rerender( <Loading title="Test 123" delay={ 2000 } /> );
37
+ act( () => jest.advanceTimersByTime( 1500 ) );
38
+ expect( screen.queryByText( 'Test 123' ) ).not.toBeInTheDocument();
39
+
40
+ act( () => jest.advanceTimersByTime( 1000 ) );
41
+ expect( screen.getByText( 'Test 123' ) ).toBeInTheDocument();
42
+ } );
@@ -0,0 +1,21 @@
1
+ import { TopBar, BackButton, PrimaryButton } from '../..';
2
+ import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
3
+ import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
4
+ import { PlaygroundLayout } from './PlaygroundLayout';
5
+ import type { Meta } from '@storybook/react';
6
+
7
+ const meta: Meta< typeof PlaygroundLayout > = {
8
+ title: 'Onboarding/StepWireframes/PlaygroundLayout',
9
+ component: PlaygroundLayout,
10
+ decorators: [ withStepContainerV2ContextDecorator ],
11
+ };
12
+
13
+ export default meta;
14
+
15
+ export const Default = () => (
16
+ <PlaygroundLayout
17
+ topBar={ <TopBar leftElement={ <BackButton /> } rightElement={ <PrimaryButton /> } /> }
18
+ >
19
+ <WireframePlaceholder height="100%">Main</WireframePlaceholder>
20
+ </PlaygroundLayout>
21
+ );
@@ -0,0 +1,31 @@
1
+ import clsx from 'clsx';
2
+ import { StepContainerV2 } from '../../components/StepContainerV2/StepContainerV2';
3
+ import { ContentProp } from '../../components/StepContainerV2/context';
4
+ import { TopBarRenderer } from '../../components/TopBar/TopBarRenderer';
5
+
6
+ import './style.scss';
7
+
8
+ interface PlaygroundLayoutProps {
9
+ topBar?: ContentProp;
10
+ className?: string;
11
+ children?: ContentProp;
12
+ }
13
+
14
+ export const PlaygroundLayout = ( { topBar, className, children }: PlaygroundLayoutProps ) => {
15
+ return (
16
+ <StepContainerV2>
17
+ { ( context ) => {
18
+ const content = typeof children === 'function' ? children( context ) : children;
19
+
20
+ return (
21
+ <>
22
+ <TopBarRenderer topBar={ topBar } />
23
+ <div className={ clsx( 'step-container-v2__playground-layout', className ) }>
24
+ { content }
25
+ </div>
26
+ </>
27
+ );
28
+ } }
29
+ </StepContainerV2>
30
+ );
31
+ };
@@ -0,0 +1,5 @@
1
+ .step-container-v2__playground-layout {
2
+ height: calc(
3
+ 100vh - var( --step-container-v2-top-bar-height )
4
+ );
5
+ }
@@ -0,0 +1,93 @@
1
+ import { createInterpolateElement } from '@wordpress/element';
2
+ import { Heading, TopBar, BackButton, PrimaryButton, StickyBottomBar } from '../..';
3
+ import { WireframePlaceholder } from '../../helpers/wireframe-placeholder';
4
+ import { withStepContainerV2ContextDecorator } from '../../helpers/withStepContainerV2ContextDecorator';
5
+ import { TwoColumnLayout } from './TwoColumnLayout';
6
+ import type { Meta } from '@storybook/react';
7
+
8
+ const meta: Meta< typeof TwoColumnLayout > = {
9
+ title: 'Onboarding/StepWireframes/TwoColumnLayout',
10
+ component: TwoColumnLayout,
11
+ decorators: [ withStepContainerV2ContextDecorator ],
12
+ };
13
+
14
+ export default meta;
15
+
16
+ export const ThreeColumnsOnRightLayout = () => (
17
+ <TwoColumnLayout
18
+ firstColumnWidth={ 2 }
19
+ secondColumnWidth={ 1 }
20
+ topBar={ <TopBar leftElement={ <BackButton /> } /> }
21
+ heading={
22
+ <Heading
23
+ text="Three Columns on the Right"
24
+ subText={ createInterpolateElement(
25
+ 'An example of the <code>TwoColumnLayout</code> wireframe layout.',
26
+ {
27
+ code: <code />,
28
+ }
29
+ ) }
30
+ />
31
+ }
32
+ stickyBottomBar={ <StickyBottomBar rightElement={ <PrimaryButton /> } /> }
33
+ >
34
+ <WireframePlaceholder height={ 616 }>Main</WireframePlaceholder>
35
+ <WireframePlaceholder height={ 616 }>Sidebar</WireframePlaceholder>
36
+ </TwoColumnLayout>
37
+ );
38
+
39
+ export const EqualTwoColumnLayout = () => (
40
+ <TwoColumnLayout
41
+ firstColumnWidth={ 1 }
42
+ secondColumnWidth={ 1 }
43
+ topBar={ <TopBar leftElement={ <BackButton /> } /> }
44
+ heading={
45
+ <Heading
46
+ text="Two Equal Columns"
47
+ subText={ createInterpolateElement(
48
+ 'An example of the <code>TwoColumnLayout</code> wireframe layout.',
49
+ {
50
+ code: <code />,
51
+ }
52
+ ) }
53
+ />
54
+ }
55
+ stickyBottomBar={ <StickyBottomBar rightElement={ <PrimaryButton /> } /> }
56
+ >
57
+ <WireframePlaceholder height={ 616 }>Content 1</WireframePlaceholder>
58
+ <WireframePlaceholder height={ 616 }>Content 2</WireframePlaceholder>
59
+ </TwoColumnLayout>
60
+ );
61
+
62
+ export const WithRenderProp = () => (
63
+ <TwoColumnLayout
64
+ firstColumnWidth={ 1 }
65
+ secondColumnWidth={ 1 }
66
+ topBar={ <TopBar leftElement={ <BackButton /> } /> }
67
+ heading={
68
+ <Heading
69
+ text="Columns Rendered with Render Prop"
70
+ subText={ createInterpolateElement(
71
+ 'An example of the <code>TwoColumnLayout</code> wireframe layout.',
72
+ {
73
+ code: <code />,
74
+ }
75
+ ) }
76
+ />
77
+ }
78
+ stickyBottomBar={ <StickyBottomBar rightElement={ <PrimaryButton /> } /> }
79
+ >
80
+ { ( { isSmallViewport, isLargeViewport } ) => (
81
+ <>
82
+ <WireframePlaceholder height={ 616 }>
83
+ <div>Content 1</div>
84
+ <pre>is small viewport: { isSmallViewport.toString() }</pre>
85
+ </WireframePlaceholder>
86
+ <WireframePlaceholder height={ 616 }>
87
+ <div>Content 1</div>
88
+ <pre>is large viewport: { isLargeViewport.toString() }</pre>
89
+ </WireframePlaceholder>
90
+ </>
91
+ ) }
92
+ </TwoColumnLayout>
93
+ );