@automattic/onboarding 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/README.md +20 -0
  2. package/dist/cjs/action-buttons/index.js +50 -0
  3. package/dist/cjs/action-buttons/index.js.map +1 -0
  4. package/dist/cjs/action-buttons/style.scss +108 -0
  5. package/dist/cjs/cart/create-cart-manager-client.js +30 -0
  6. package/dist/cjs/cart/create-cart-manager-client.js.map +1 -0
  7. package/dist/cjs/cart/index.js +239 -0
  8. package/dist/cjs/cart/index.js.map +1 -0
  9. package/dist/cjs/confetti/index.js +8 -0
  10. package/dist/cjs/confetti/index.js.map +1 -0
  11. package/dist/cjs/feature-icon/index.js +19 -0
  12. package/dist/cjs/feature-icon/index.js.map +1 -0
  13. package/dist/cjs/flow-progress/index.js +14 -0
  14. package/dist/cjs/flow-progress/index.js.map +1 -0
  15. package/dist/cjs/flow-progress/style.scss +5 -0
  16. package/dist/cjs/flow-progress/use-flow-progress.js +92 -0
  17. package/dist/cjs/flow-progress/use-flow-progress.js.map +1 -0
  18. package/dist/cjs/hooray/index.js +12 -0
  19. package/dist/cjs/hooray/index.js.map +1 -0
  20. package/dist/cjs/hooray/style.scss +66 -0
  21. package/dist/cjs/index.js +54 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/cjs/intent-screen/index.js +11 -0
  24. package/dist/cjs/intent-screen/index.js.map +1 -0
  25. package/dist/cjs/mshots-image/index.js +234 -0
  26. package/dist/cjs/mshots-image/index.js.map +1 -0
  27. package/dist/cjs/mshots-image/style.scss +43 -0
  28. package/dist/cjs/navigator/hooks/index.js +6 -0
  29. package/dist/cjs/navigator/hooks/index.js.map +1 -0
  30. package/dist/cjs/navigator/hooks/use-navigator-listener.js +16 -0
  31. package/dist/cjs/navigator/hooks/use-navigator-listener.js.map +1 -0
  32. package/dist/cjs/navigator/index.js +18 -0
  33. package/dist/cjs/navigator/index.js.map +1 -0
  34. package/dist/cjs/navigator/navigator-buttons/index.js +23 -0
  35. package/dist/cjs/navigator/navigator-buttons/index.js.map +1 -0
  36. package/dist/cjs/navigator/navigator-buttons/style.scss +47 -0
  37. package/dist/cjs/navigator/navigator-header/index.js +13 -0
  38. package/dist/cjs/navigator/navigator-header/index.js.map +1 -0
  39. package/dist/cjs/navigator/navigator-header/style.scss +45 -0
  40. package/dist/cjs/navigator/navigator-item-group/index.js +10 -0
  41. package/dist/cjs/navigator/navigator-item-group/index.js.map +1 -0
  42. package/dist/cjs/navigator/navigator-item-group/style.scss +28 -0
  43. package/dist/cjs/navigator/navigator-listener/index.js +9 -0
  44. package/dist/cjs/navigator/navigator-listener/index.js.map +1 -0
  45. package/dist/cjs/navigator/navigator-screen/index.js +16 -0
  46. package/dist/cjs/navigator/navigator-screen/index.js.map +1 -0
  47. package/dist/cjs/navigator/navigator-screens/hooks/index.js +8 -0
  48. package/dist/cjs/navigator/navigator-screens/hooks/index.js.map +1 -0
  49. package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-buttons.js +17 -0
  50. package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-buttons.js.map +1 -0
  51. package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js +14 -0
  52. package/dist/cjs/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -0
  53. package/dist/cjs/navigator/navigator-screens/index.js +9 -0
  54. package/dist/cjs/navigator/navigator-screens/index.js.map +1 -0
  55. package/dist/cjs/navigator/navigator-screens/navigator-screens.js +18 -0
  56. package/dist/cjs/navigator/navigator-screens/navigator-screens.js.map +1 -0
  57. package/dist/cjs/navigator/navigator-screens/navigator-screens.scss +60 -0
  58. package/dist/cjs/navigator/navigator-screens/types.js +3 -0
  59. package/dist/cjs/navigator/navigator-screens/types.js.map +1 -0
  60. package/dist/cjs/notice/index.js +12 -0
  61. package/dist/cjs/notice/index.js.map +1 -0
  62. package/dist/cjs/notice/style.scss +19 -0
  63. package/dist/cjs/progress/index.js +11 -0
  64. package/dist/cjs/progress/index.js.map +1 -0
  65. package/dist/cjs/progress/style.scss +34 -0
  66. package/dist/cjs/select-card-checkbox/index.js +17 -0
  67. package/dist/cjs/select-card-checkbox/index.js.map +1 -0
  68. package/dist/cjs/select-card-checkbox/style.scss +30 -0
  69. package/dist/cjs/select-card-radio/index.js +21 -0
  70. package/dist/cjs/select-card-radio/index.js.map +1 -0
  71. package/dist/cjs/select-card-radio/style.scss +44 -0
  72. package/dist/cjs/select-items/index.js +13 -0
  73. package/dist/cjs/select-items/index.js.map +1 -0
  74. package/dist/cjs/select-items/style.scss +96 -0
  75. package/dist/cjs/select-items-alt/index.js +14 -0
  76. package/dist/cjs/select-items-alt/index.js.map +1 -0
  77. package/dist/cjs/select-items-alt/style.scss +72 -0
  78. package/dist/cjs/sensei-logo/index.js +8 -0
  79. package/dist/cjs/sensei-logo/index.js.map +1 -0
  80. package/dist/cjs/setup-tailored-site-after-creation.js +109 -0
  81. package/dist/cjs/setup-tailored-site-after-creation.js.map +1 -0
  82. package/dist/cjs/step-container/index.js +65 -0
  83. package/dist/cjs/step-container/index.js.map +1 -0
  84. package/dist/cjs/step-container/style.scss +304 -0
  85. package/dist/cjs/step-navigation-link/index.js +35 -0
  86. package/dist/cjs/step-navigation-link/index.js.map +1 -0
  87. package/dist/cjs/step-navigation-link/style.scss +42 -0
  88. package/dist/cjs/titles/index.js +13 -0
  89. package/dist/cjs/titles/index.js.map +1 -0
  90. package/dist/cjs/titles/styles.scss +29 -0
  91. package/dist/cjs/upload-and-set-site-logo.js +32 -0
  92. package/dist/cjs/upload-and-set-site-logo.js.map +1 -0
  93. package/dist/cjs/utils/contrastChecker.js +38 -0
  94. package/dist/cjs/utils/contrastChecker.js.map +1 -0
  95. package/dist/cjs/utils/domain-suggester.js +113 -0
  96. package/dist/cjs/utils/domain-suggester.js.map +1 -0
  97. package/dist/cjs/utils/flows.js +218 -0
  98. package/dist/cjs/utils/flows.js.map +1 -0
  99. package/dist/cjs/utils/index.js +13 -0
  100. package/dist/cjs/utils/index.js.map +1 -0
  101. package/dist/cjs/utils/is-domain.js +22 -0
  102. package/dist/cjs/utils/is-domain.js.map +1 -0
  103. package/dist/cjs/utils/use-data-loss-warning.js +20 -0
  104. package/dist/cjs/utils/use-data-loss-warning.js.map +1 -0
  105. package/dist/cjs/videopress-logo/index.js +8 -0
  106. package/dist/cjs/videopress-logo/index.js.map +1 -0
  107. package/dist/esm/action-buttons/index.js +42 -0
  108. package/dist/esm/action-buttons/index.js.map +1 -0
  109. package/dist/esm/action-buttons/style.scss +108 -0
  110. package/dist/esm/cart/create-cart-manager-client.js +27 -0
  111. package/dist/esm/cart/create-cart-manager-client.js.map +1 -0
  112. package/dist/esm/cart/index.js +229 -0
  113. package/dist/esm/cart/index.js.map +1 -0
  114. package/dist/esm/confetti/index.js +6 -0
  115. package/dist/esm/confetti/index.js.map +1 -0
  116. package/dist/esm/feature-icon/index.js +16 -0
  117. package/dist/esm/feature-icon/index.js.map +1 -0
  118. package/dist/esm/flow-progress/index.js +12 -0
  119. package/dist/esm/flow-progress/index.js.map +1 -0
  120. package/dist/esm/flow-progress/style.scss +5 -0
  121. package/dist/esm/flow-progress/use-flow-progress.js +88 -0
  122. package/dist/esm/flow-progress/use-flow-progress.js.map +1 -0
  123. package/dist/esm/hooray/index.js +9 -0
  124. package/dist/esm/hooray/index.js.map +1 -0
  125. package/dist/esm/hooray/style.scss +66 -0
  126. package/dist/esm/index.js +22 -0
  127. package/dist/esm/index.js.map +1 -0
  128. package/dist/esm/intent-screen/index.js +8 -0
  129. package/dist/esm/intent-screen/index.js.map +1 -0
  130. package/dist/esm/mshots-image/index.js +229 -0
  131. package/dist/esm/mshots-image/index.js.map +1 -0
  132. package/dist/esm/mshots-image/style.scss +43 -0
  133. package/dist/esm/navigator/hooks/index.js +2 -0
  134. package/dist/esm/navigator/hooks/index.js.map +1 -0
  135. package/dist/esm/navigator/hooks/use-navigator-listener.js +14 -0
  136. package/dist/esm/navigator/hooks/use-navigator-listener.js.map +1 -0
  137. package/dist/esm/navigator/index.js +8 -0
  138. package/dist/esm/navigator/index.js.map +1 -0
  139. package/dist/esm/navigator/navigator-buttons/index.js +17 -0
  140. package/dist/esm/navigator/navigator-buttons/index.js.map +1 -0
  141. package/dist/esm/navigator/navigator-buttons/style.scss +47 -0
  142. package/dist/esm/navigator/navigator-header/index.js +11 -0
  143. package/dist/esm/navigator/navigator-header/index.js.map +1 -0
  144. package/dist/esm/navigator/navigator-header/style.scss +45 -0
  145. package/dist/esm/navigator/navigator-item-group/index.js +8 -0
  146. package/dist/esm/navigator/navigator-item-group/index.js.map +1 -0
  147. package/dist/esm/navigator/navigator-item-group/style.scss +28 -0
  148. package/dist/esm/navigator/navigator-listener/index.js +7 -0
  149. package/dist/esm/navigator/navigator-listener/index.js.map +1 -0
  150. package/dist/esm/navigator/navigator-screen/index.js +14 -0
  151. package/dist/esm/navigator/navigator-screen/index.js.map +1 -0
  152. package/dist/esm/navigator/navigator-screens/hooks/index.js +3 -0
  153. package/dist/esm/navigator/navigator-screens/hooks/index.js.map +1 -0
  154. package/dist/esm/navigator/navigator-screens/hooks/use-navigator-buttons.js +14 -0
  155. package/dist/esm/navigator/navigator-screens/hooks/use-navigator-buttons.js.map +1 -0
  156. package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js +11 -0
  157. package/dist/esm/navigator/navigator-screens/hooks/use-navigator-screens.js.map +1 -0
  158. package/dist/esm/navigator/navigator-screens/index.js +4 -0
  159. package/dist/esm/navigator/navigator-screens/index.js.map +1 -0
  160. package/dist/esm/navigator/navigator-screens/navigator-screens.js +15 -0
  161. package/dist/esm/navigator/navigator-screens/navigator-screens.js.map +1 -0
  162. package/dist/esm/navigator/navigator-screens/navigator-screens.scss +60 -0
  163. package/dist/esm/navigator/navigator-screens/types.js +2 -0
  164. package/dist/esm/navigator/navigator-screens/types.js.map +1 -0
  165. package/dist/esm/notice/index.js +9 -0
  166. package/dist/esm/notice/index.js.map +1 -0
  167. package/dist/esm/notice/style.scss +19 -0
  168. package/dist/esm/progress/index.js +8 -0
  169. package/dist/esm/progress/index.js.map +1 -0
  170. package/dist/esm/progress/style.scss +34 -0
  171. package/dist/esm/select-card-checkbox/index.js +14 -0
  172. package/dist/esm/select-card-checkbox/index.js.map +1 -0
  173. package/dist/esm/select-card-checkbox/style.scss +30 -0
  174. package/dist/esm/select-card-radio/index.js +15 -0
  175. package/dist/esm/select-card-radio/index.js.map +1 -0
  176. package/dist/esm/select-card-radio/style.scss +44 -0
  177. package/dist/esm/select-items/index.js +10 -0
  178. package/dist/esm/select-items/index.js.map +1 -0
  179. package/dist/esm/select-items/style.scss +96 -0
  180. package/dist/esm/select-items-alt/index.js +11 -0
  181. package/dist/esm/select-items-alt/index.js.map +1 -0
  182. package/dist/esm/select-items-alt/style.scss +72 -0
  183. package/dist/esm/sensei-logo/index.js +6 -0
  184. package/dist/esm/sensei-logo/index.js.map +1 -0
  185. package/dist/esm/setup-tailored-site-after-creation.js +103 -0
  186. package/dist/esm/setup-tailored-site-after-creation.js.map +1 -0
  187. package/dist/esm/step-container/index.js +62 -0
  188. package/dist/esm/step-container/index.js.map +1 -0
  189. package/dist/esm/step-container/style.scss +304 -0
  190. package/dist/esm/step-navigation-link/index.js +32 -0
  191. package/dist/esm/step-navigation-link/index.js.map +1 -0
  192. package/dist/esm/step-navigation-link/style.scss +42 -0
  193. package/dist/esm/titles/index.js +7 -0
  194. package/dist/esm/titles/index.js.map +1 -0
  195. package/dist/esm/titles/styles.scss +29 -0
  196. package/dist/esm/upload-and-set-site-logo.js +27 -0
  197. package/dist/esm/upload-and-set-site-logo.js.map +1 -0
  198. package/dist/esm/utils/contrastChecker.js +33 -0
  199. package/dist/esm/utils/contrastChecker.js.map +1 -0
  200. package/dist/esm/utils/domain-suggester.js +108 -0
  201. package/dist/esm/utils/domain-suggester.js.map +1 -0
  202. package/dist/esm/utils/flows.js +179 -0
  203. package/dist/esm/utils/flows.js.map +1 -0
  204. package/dist/esm/utils/index.js +6 -0
  205. package/dist/esm/utils/index.js.map +1 -0
  206. package/dist/esm/utils/is-domain.js +18 -0
  207. package/dist/esm/utils/is-domain.js.map +1 -0
  208. package/dist/esm/utils/use-data-loss-warning.js +16 -0
  209. package/dist/esm/utils/use-data-loss-warning.js.map +1 -0
  210. package/dist/esm/videopress-logo/index.js +6 -0
  211. package/dist/esm/videopress-logo/index.js.map +1 -0
  212. package/dist/styles/base-styles.scss +7 -0
  213. package/dist/styles/mixins.scss +262 -0
  214. package/dist/styles/variables.scss +26 -0
  215. package/dist/styles/z-index.scss +41 -0
  216. package/dist/tsconfig-cjs.tsbuildinfo +1 -0
  217. package/dist/tsconfig.tsbuildinfo +1 -0
  218. package/dist/types/action-buttons/index.d.ts +17 -0
  219. package/dist/types/action-buttons/index.d.ts.map +1 -0
  220. package/dist/types/cart/create-cart-manager-client.d.ts +3 -0
  221. package/dist/types/cart/create-cart-manager-client.d.ts.map +1 -0
  222. package/dist/types/cart/index.d.ts +47 -0
  223. package/dist/types/cart/index.d.ts.map +1 -0
  224. package/dist/types/confetti/index.d.ts +6 -0
  225. package/dist/types/confetti/index.d.ts.map +1 -0
  226. package/dist/types/feature-icon/index.d.ts +9 -0
  227. package/dist/types/feature-icon/index.d.ts.map +1 -0
  228. package/dist/types/flow-progress/index.d.ts +9 -0
  229. package/dist/types/flow-progress/index.d.ts.map +1 -0
  230. package/dist/types/flow-progress/use-flow-progress.d.ts +11 -0
  231. package/dist/types/flow-progress/use-flow-progress.d.ts.map +1 -0
  232. package/dist/types/hooray/index.d.ts +10 -0
  233. package/dist/types/hooray/index.d.ts.map +1 -0
  234. package/dist/types/index.d.ts +25 -0
  235. package/dist/types/index.d.ts.map +1 -0
  236. package/dist/types/intent-screen/index.d.ts +12 -0
  237. package/dist/types/intent-screen/index.d.ts.map +1 -0
  238. package/dist/types/mshots-image/index.d.ts +21 -0
  239. package/dist/types/mshots-image/index.d.ts.map +1 -0
  240. package/dist/types/navigator/hooks/index.d.ts +3 -0
  241. package/dist/types/navigator/hooks/index.d.ts.map +1 -0
  242. package/dist/types/navigator/hooks/use-navigator-listener.d.ts +4 -0
  243. package/dist/types/navigator/hooks/use-navigator-listener.d.ts.map +1 -0
  244. package/dist/types/navigator/index.d.ts +8 -0
  245. package/dist/types/navigator/index.d.ts.map +1 -0
  246. package/dist/types/navigator/navigator-buttons/index.d.ts +17 -0
  247. package/dist/types/navigator/navigator-buttons/index.d.ts.map +1 -0
  248. package/dist/types/navigator/navigator-header/index.d.ts +12 -0
  249. package/dist/types/navigator/navigator-header/index.d.ts.map +1 -0
  250. package/dist/types/navigator/navigator-item-group/index.d.ts +9 -0
  251. package/dist/types/navigator/navigator-item-group/index.d.ts.map +1 -0
  252. package/dist/types/navigator/navigator-listener/index.d.ts +7 -0
  253. package/dist/types/navigator/navigator-listener/index.d.ts.map +1 -0
  254. package/dist/types/navigator/navigator-screen/index.d.ts +11 -0
  255. package/dist/types/navigator/navigator-screen/index.d.ts.map +1 -0
  256. package/dist/types/navigator/navigator-screens/hooks/index.d.ts +3 -0
  257. package/dist/types/navigator/navigator-screens/hooks/index.d.ts.map +1 -0
  258. package/dist/types/navigator/navigator-screens/hooks/use-navigator-buttons.d.ts +4 -0
  259. package/dist/types/navigator/navigator-screens/hooks/use-navigator-buttons.d.ts.map +1 -0
  260. package/dist/types/navigator/navigator-screens/hooks/use-navigator-screens.d.ts +4 -0
  261. package/dist/types/navigator/navigator-screens/hooks/use-navigator-screens.d.ts.map +1 -0
  262. package/dist/types/navigator/navigator-screens/index.d.ts +4 -0
  263. package/dist/types/navigator/navigator-screens/index.d.ts.map +1 -0
  264. package/dist/types/navigator/navigator-screens/navigator-screens.d.ts +12 -0
  265. package/dist/types/navigator/navigator-screens/navigator-screens.d.ts.map +1 -0
  266. package/dist/types/navigator/navigator-screens/types.d.ts +17 -0
  267. package/dist/types/navigator/navigator-screens/types.d.ts.map +1 -0
  268. package/dist/types/notice/index.d.ts +7 -0
  269. package/dist/types/notice/index.d.ts.map +1 -0
  270. package/dist/types/progress/index.d.ts +10 -0
  271. package/dist/types/progress/index.d.ts.map +1 -0
  272. package/dist/types/select-card-checkbox/index.d.ts +11 -0
  273. package/dist/types/select-card-checkbox/index.d.ts.map +1 -0
  274. package/dist/types/select-card-radio/index.d.ts +22 -0
  275. package/dist/types/select-card-radio/index.d.ts.map +1 -0
  276. package/dist/types/select-items/index.d.ts +25 -0
  277. package/dist/types/select-items/index.d.ts.map +1 -0
  278. package/dist/types/select-items-alt/index.d.ts +19 -0
  279. package/dist/types/select-items-alt/index.d.ts.map +1 -0
  280. package/dist/types/sensei-logo/index.d.ts +8 -0
  281. package/dist/types/sensei-logo/index.d.ts.map +1 -0
  282. package/dist/types/setup-tailored-site-after-creation.d.ts +8 -0
  283. package/dist/types/setup-tailored-site-after-creation.d.ts.map +1 -0
  284. package/dist/types/step-container/index.d.ts +45 -0
  285. package/dist/types/step-container/index.d.ts.map +1 -0
  286. package/dist/types/step-navigation-link/index.d.ts +18 -0
  287. package/dist/types/step-navigation-link/index.d.ts.map +1 -0
  288. package/dist/types/titles/index.d.ts +12 -0
  289. package/dist/types/titles/index.d.ts.map +1 -0
  290. package/dist/types/upload-and-set-site-logo.d.ts +13 -0
  291. package/dist/types/upload-and-set-site-logo.d.ts.map +1 -0
  292. package/dist/types/utils/contrastChecker.d.ts +17 -0
  293. package/dist/types/utils/contrastChecker.d.ts.map +1 -0
  294. package/dist/types/utils/domain-suggester.d.ts +15 -0
  295. package/dist/types/utils/domain-suggester.d.ts.map +1 -0
  296. package/dist/types/utils/flows.d.ts +89 -0
  297. package/dist/types/utils/flows.d.ts.map +1 -0
  298. package/dist/types/utils/index.d.ts +6 -0
  299. package/dist/types/utils/index.d.ts.map +1 -0
  300. package/dist/types/utils/is-domain.d.ts +2 -0
  301. package/dist/types/utils/is-domain.d.ts.map +1 -0
  302. package/dist/types/utils/use-data-loss-warning.d.ts +2 -0
  303. package/dist/types/utils/use-data-loss-warning.d.ts.map +1 -0
  304. package/dist/types/videopress-logo/index.d.ts +8 -0
  305. package/dist/types/videopress-logo/index.d.ts.map +1 -0
  306. package/jest.config.js +5 -0
  307. package/package.json +63 -0
  308. package/src/action-buttons/index.tsx +113 -0
  309. package/src/action-buttons/style.scss +108 -0
  310. package/src/cart/create-cart-manager-client.ts +34 -0
  311. package/src/cart/index.tsx +375 -0
  312. package/src/cart/test/index.ts +172 -0
  313. package/src/confetti/index.tsx +95 -0
  314. package/src/feature-icon/index.tsx +102 -0
  315. package/src/flow-progress/index.tsx +22 -0
  316. package/src/flow-progress/style.scss +5 -0
  317. package/src/flow-progress/use-flow-progress.ts +108 -0
  318. package/src/hooray/index.tsx +34 -0
  319. package/src/hooray/style.scss +66 -0
  320. package/src/index.ts +36 -0
  321. package/src/intent-screen/README.md +12 -0
  322. package/src/intent-screen/index.tsx +26 -0
  323. package/src/intent-screen/test/index.tsx +197 -0
  324. package/src/mshots-image/index.tsx +368 -0
  325. package/src/mshots-image/style.scss +43 -0
  326. package/src/mshots-image/test/mshots-image.tsx +5 -0
  327. package/src/navigator/hooks/index.tsx +2 -0
  328. package/src/navigator/hooks/use-navigator-listener.tsx +18 -0
  329. package/src/navigator/index.ts +7 -0
  330. package/src/navigator/navigator-buttons/index.tsx +58 -0
  331. package/src/navigator/navigator-buttons/style.scss +47 -0
  332. package/src/navigator/navigator-header/index.tsx +40 -0
  333. package/src/navigator/navigator-header/style.scss +45 -0
  334. package/src/navigator/navigator-item-group/index.tsx +23 -0
  335. package/src/navigator/navigator-item-group/style.scss +28 -0
  336. package/src/navigator/navigator-listener/index.tsx +12 -0
  337. package/src/navigator/navigator-screen/index.tsx +24 -0
  338. package/src/navigator/navigator-screens/hooks/index.tsx +2 -0
  339. package/src/navigator/navigator-screens/hooks/use-navigator-buttons.tsx +32 -0
  340. package/src/navigator/navigator-screens/hooks/use-navigator-screens.tsx +57 -0
  341. package/src/navigator/navigator-screens/index.ts +3 -0
  342. package/src/navigator/navigator-screens/navigator-screens.scss +60 -0
  343. package/src/navigator/navigator-screens/navigator-screens.tsx +41 -0
  344. package/src/navigator/navigator-screens/types.ts +15 -0
  345. package/src/notice/index.tsx +16 -0
  346. package/src/notice/style.scss +19 -0
  347. package/src/progress/index.tsx +23 -0
  348. package/src/progress/style.scss +34 -0
  349. package/src/select-card-checkbox/index.tsx +38 -0
  350. package/src/select-card-checkbox/style.scss +30 -0
  351. package/src/select-card-radio/index.tsx +64 -0
  352. package/src/select-card-radio/style.scss +44 -0
  353. package/src/select-card-radio/test/index.tsx +50 -0
  354. package/src/select-items/README.md +13 -0
  355. package/src/select-items/index.tsx +90 -0
  356. package/src/select-items/style.scss +96 -0
  357. package/src/select-items-alt/README.md +13 -0
  358. package/src/select-items-alt/index.tsx +61 -0
  359. package/src/select-items-alt/style.scss +72 -0
  360. package/src/sensei-logo/index.tsx +30 -0
  361. package/src/setup-tailored-site-after-creation.ts +149 -0
  362. package/src/step-container/index.tsx +251 -0
  363. package/src/step-container/style.scss +304 -0
  364. package/src/step-navigation-link/index.tsx +71 -0
  365. package/src/step-navigation-link/style.scss +42 -0
  366. package/src/titles/index.tsx +36 -0
  367. package/src/titles/styles.scss +29 -0
  368. package/src/types.d.ts +1 -0
  369. package/src/upload-and-set-site-logo.ts +38 -0
  370. package/src/utils/contrastChecker.ts +52 -0
  371. package/src/utils/domain-suggester.ts +126 -0
  372. package/src/utils/flows.ts +232 -0
  373. package/src/utils/index.ts +5 -0
  374. package/src/utils/is-domain.ts +18 -0
  375. package/src/utils/test/domain-suggester.ts +87 -0
  376. package/src/utils/use-data-loss-warning.ts +17 -0
  377. package/src/videopress-logo/index.tsx +36 -0
  378. package/styles/base-styles.scss +7 -0
  379. package/styles/mixins.scss +262 -0
  380. package/styles/variables.scss +26 -0
  381. package/styles/z-index.scss +41 -0
  382. package/tsconfig-cjs.json +7 -0
  383. package/tsconfig.json +15 -0
@@ -0,0 +1,66 @@
1
+ @import "@wordpress/base-styles/breakpoints";
2
+ @import "@wordpress/base-styles/mixins";
3
+
4
+ .onboarding-hooray {
5
+ text-align: center;
6
+
7
+ svg {
8
+ max-width: 350px;
9
+ margin-bottom: -20px;
10
+ }
11
+
12
+ .onboarding-title {
13
+ font-size: 3rem;
14
+ color: var(--studio-gray-100);
15
+ margin-bottom: 0.75rem;
16
+
17
+ @media (max-width: 1080px) {
18
+ line-height: 1;
19
+ }
20
+ }
21
+
22
+ .onboarding-subtitle {
23
+ color: var(--studio-gray-50);
24
+ margin-bottom: 1.5em;
25
+ }
26
+
27
+ .components-button.action-buttons__next {
28
+ min-width: 100px;
29
+ padding: 10px 24px !important;
30
+ margin: 0 0.75em 0.75em 0.75em;
31
+ border-radius: 4px;
32
+ }
33
+ }
34
+
35
+ .onboarding-hooray__animate {
36
+ .onboarding-title {
37
+ animation: hooray-fade 0.9s ease-in-out, hooray-jump 0.8s cubic-bezier(0.21, 0.19, 0.24, 0.99);
38
+ }
39
+
40
+ .onboarding-subtitle,
41
+ .components-button.action-buttons__next.is-primary {
42
+ opacity: 0;
43
+ animation: hooray-fade 0.9s ease-in-out 0.8s forwards, hooray-jump 0.8s cubic-bezier(0.21, 0.19, 0.24, 0.99) 0.8s forwards;
44
+ }
45
+ }
46
+
47
+
48
+ @keyframes hooray-fade {
49
+ from {
50
+ opacity: 0;
51
+ }
52
+
53
+ to {
54
+ opacity: 1;
55
+ }
56
+ }
57
+
58
+ @keyframes hooray-jump {
59
+ from {
60
+ transform: translateY(20px);
61
+ }
62
+
63
+ to {
64
+ transform: none;
65
+ }
66
+ }
@@ -0,0 +1,22 @@
1
+ export { Title, SubTitle } from './titles';
2
+ export { useFlowProgress } from './flow-progress/use-flow-progress';
3
+ export { default as ActionButtons, BackButton, NextButton, SkipButton, ArrowButton, } from './action-buttons';
4
+ export { createSiteWithCart, addPlanToCart, addProductsToCart, replaceProductsInCart, setThemeOnSite, } from './cart';
5
+ export { setupSiteAfterCreation, base64ImageToBlob } from './setup-tailored-site-after-creation';
6
+ export { uploadAndSetSiteLogo } from './upload-and-set-site-logo';
7
+ export { default as FeatureIcon } from './feature-icon';
8
+ export { default as Progress } from './progress';
9
+ export { default as Hooray } from './hooray';
10
+ export { default as Confetti } from './confetti';
11
+ export { default as IntentScreen } from './intent-screen';
12
+ export { default as SelectItems } from './select-items';
13
+ export { default as SelectItemsAlt } from './select-items-alt';
14
+ export { default as StepContainer } from './step-container';
15
+ export { default as StepNavigationLink } from './step-navigation-link';
16
+ export { default as MShotsImage } from './mshots-image';
17
+ export * from './navigator';
18
+ export { default as Notice } from './notice';
19
+ export { default as SelectCardCheckbox } from './select-card-checkbox';
20
+ export * from './utils';
21
+ export * from './select-card-radio';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACN,OAAO,IAAI,aAAa,EACxB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACd,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import SelectItems from '../select-items';
3
+ import SelectItemsAlt from '../select-items-alt';
4
+ const IntentScreen = ({ intents, intentsAlt, onSelect, preventWidows, }) => {
5
+ return (_jsxs(_Fragment, { children: [_jsx(SelectItems, { items: intents, onSelect: onSelect, preventWidows: preventWidows }), _jsx(SelectItemsAlt, { items: intentsAlt, onSelect: onSelect })] }));
6
+ };
7
+ export default IntentScreen;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/intent-screen/index.tsx"],"names":[],"mappings":";AACA,OAAO,WAA2B,MAAM,iBAAiB,CAAC;AAC1D,OAAO,cAAiC,MAAM,qBAAqB,CAAC;AASpE,MAAM,YAAY,GAAG,CAAsB,EAC1C,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,GACD,EAAG,EAAE;IACjB,OAAO,CACN,8BACC,KAAC,WAAW,IAAC,KAAK,EAAG,OAAO,EAAG,QAAQ,EAAG,QAAQ,EAAG,aAAa,EAAG,aAAa,GAAK,EACvF,KAAC,cAAc,IAAC,KAAK,EAAG,UAAU,EAAG,QAAQ,EAAG,QAAQ,GAAK,IAC3D,CACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,229 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { addQueryArgs } from '@wordpress/url';
3
+ import clsx from 'clsx';
4
+ import debugFactory from 'debug';
5
+ import { useState, useEffect, useRef } from 'react';
6
+ import './style.scss';
7
+ const debug = debugFactory('design-picker:mshots-image');
8
+ export function mshotsUrl(targetUrl, options, count = 0) {
9
+ const mshotsUrl = 'https://s0.wp.com/mshots/v1/';
10
+ const mshotsRequest = addQueryArgs(mshotsUrl + encodeURIComponent(targetUrl), {
11
+ ...options,
12
+ count,
13
+ });
14
+ return mshotsRequest;
15
+ }
16
+ const MAXTRIES = 10;
17
+ // This custom react hook returns null while the image is loading and the page
18
+ // (not image) URL once loading is complete.
19
+ //
20
+ // It also triggers a re-render (via setState()) when the value changes, so just
21
+ // check that the requested URL matches the returned URL.
22
+ //
23
+ // Note the loading may occur immediately if the image is already available, or
24
+ // may take several seconds if mshots has to generate and cache new images.
25
+ //
26
+ // The calling code doesn't need to worry about the details except that you'll
27
+ // want some sort of loading display.
28
+ //
29
+ // Inspired by https://stackoverflow.com/a/60458593
30
+ const useMshotsImg = (src, options, imgRef) => {
31
+ const [loadedImg, setLoadedImg] = useState(null);
32
+ const [count, setCount] = useState(0);
33
+ const previousSrc = useRef(src);
34
+ const timeoutIdRef = useRef();
35
+ const previousImg = useRef(null);
36
+ const previousOptions = useRef();
37
+ // Oddly, we need to assign to current here after ref creation in order to
38
+ // pass the equivalence check and avoid a spurious reset
39
+ previousOptions.current = options;
40
+ // Note: Mshots doesn't care about the "count" param, but it is important
41
+ // to browser caching. Getting this wrong looks like the url resolving
42
+ // before the image is ready.
43
+ useEffect(() => {
44
+ // If there's been a "props" change we need to reset everything:
45
+ if (options !== previousOptions.current ||
46
+ (src !== previousSrc.current && imgRef.current)) {
47
+ // Make sure an old image can't trigger a spurious state update
48
+ debug('resetting mShotsUrl request');
49
+ if (src !== previousSrc.current) {
50
+ debug('src changed\nfrom', previousSrc.current, '\nto', src);
51
+ }
52
+ if (options !== previousOptions.current) {
53
+ debug('options changed\nfrom', previousOptions.current, '\nto', options);
54
+ }
55
+ if (previousImg.current && previousImg.current.onload) {
56
+ previousImg.current.onload = null;
57
+ if (timeoutIdRef.current) {
58
+ clearTimeout(timeoutIdRef.current);
59
+ timeoutIdRef.current = undefined;
60
+ }
61
+ }
62
+ setCount(0);
63
+ if (previousImg.current !== imgRef.current) {
64
+ previousImg.current = imgRef.current;
65
+ }
66
+ previousOptions.current = options;
67
+ previousSrc.current = src;
68
+ }
69
+ const srcUrl = mshotsUrl(src, options, count);
70
+ if (imgRef.current) {
71
+ imgRef.current.onload = () => {
72
+ // Detect default image (Don't request a 400x300 image).
73
+ //
74
+ // If this turns out to be a problem, it might help to know that the
75
+ // http request status for the default is a 307. Unfortunately we
76
+ // don't get the request through an img element so we'd need to
77
+ // take a completely different approach using ajax.
78
+ if (imgRef.current?.naturalWidth !== 400 || imgRef.current?.naturalHeight !== 300) {
79
+ setLoadedImg(src);
80
+ }
81
+ else if (count < MAXTRIES) {
82
+ // Only refresh 10 times
83
+ // Triggers a target.src change with increasing timeouts
84
+ timeoutIdRef.current = window.setTimeout(() => setCount((count) => count + 1), count * 500);
85
+ }
86
+ };
87
+ imgRef.current.src = srcUrl;
88
+ }
89
+ return () => {
90
+ if (imgRef.current && imgRef.current.onload) {
91
+ imgRef.current.onload = null;
92
+ }
93
+ if (previousImg.current && previousImg.current.onload) {
94
+ previousImg.current.onload = null;
95
+ }
96
+ clearTimeout(timeoutIdRef.current);
97
+ };
98
+ }, [src, count, options, imgRef]);
99
+ return loadedImg;
100
+ };
101
+ // Temporary for A/B test.
102
+ const useMshotsImgTreatment = (src, options) => {
103
+ const [loadedImg, setLoadedImg] = useState();
104
+ const [count, setCount] = useState(0);
105
+ const previousSrc = useRef(src);
106
+ const imgRef = useRef();
107
+ const timeoutIdRef = useRef();
108
+ const previousImg = useRef();
109
+ const previousOptions = useRef();
110
+ // Oddly, we need to assign to current here after ref creation in order to
111
+ // pass the equivalence check and avoid a spurious reset
112
+ previousOptions.current = options;
113
+ // Note: Mshots doesn't care about the "count" param, but it is important
114
+ // to browser caching. Getting this wrong looks like the url resolving
115
+ // before the image is ready.
116
+ useEffect(() => {
117
+ // If there's been a "props" change we need to reset everything:
118
+ if (options !== previousOptions.current ||
119
+ (src !== previousSrc.current && imgRef.current)) {
120
+ // Make sure an old image can't trigger a spurious state update
121
+ debug('resetting mShotsUrl request');
122
+ if (src !== previousSrc.current) {
123
+ debug('src changed\nfrom', previousSrc.current, '\nto', src);
124
+ }
125
+ if (options !== previousOptions.current) {
126
+ debug('options changed\nfrom', previousOptions.current, '\nto', options);
127
+ }
128
+ if (previousImg.current && previousImg.current.onload) {
129
+ previousImg.current.onload = null;
130
+ if (timeoutIdRef.current) {
131
+ clearTimeout(timeoutIdRef.current);
132
+ timeoutIdRef.current = undefined;
133
+ }
134
+ }
135
+ setLoadedImg(undefined);
136
+ setCount(0);
137
+ previousImg.current = imgRef.current;
138
+ previousOptions.current = options;
139
+ previousSrc.current = src;
140
+ }
141
+ const srcUrl = mshotsUrl(src, options, count);
142
+ const newImage = new Image();
143
+ newImage.onload = () => {
144
+ // Detect default image (Don't request a 400x300 image).
145
+ //
146
+ // If this turns out to be a problem, it might help to know that the
147
+ // http request status for the default is a 307. Unfortunately we
148
+ // don't get the request through an img element so we'd need to
149
+ // take a completely different approach using ajax.
150
+ if (newImage.naturalWidth !== 400 || newImage.naturalHeight !== 300) {
151
+ // Note we're using the naked object here, not the ref, because
152
+ // this is the callback on the image itself. We'd never want
153
+ // the image to finish loading and set some other image.
154
+ setLoadedImg(newImage);
155
+ }
156
+ else if (count < MAXTRIES) {
157
+ // Only refresh 10 times
158
+ // Triggers a target.src change with increasing timeouts
159
+ timeoutIdRef.current = window.setTimeout(() => setCount((count) => count + 1), count * 500);
160
+ }
161
+ };
162
+ newImage.src = srcUrl;
163
+ imgRef.current = newImage;
164
+ return () => {
165
+ if (imgRef.current && imgRef.current.onload) {
166
+ imgRef.current.onload = null;
167
+ }
168
+ clearTimeout(timeoutIdRef.current);
169
+ };
170
+ }, [src, count, options]);
171
+ return loadedImg;
172
+ };
173
+ const MShotsImageControl = ({ url, 'aria-labelledby': labelledby, alt, options, scrollable = false, }) => {
174
+ const imgRef = useRef(null);
175
+ const currentlyLoadedUrl = useMshotsImg(url, options, imgRef);
176
+ const src = imgRef.current?.src || '';
177
+ const visible = src && url === currentlyLoadedUrl;
178
+ const backgroundImage = src && `url( ${src} )`;
179
+ const animationScrollSpeedInPixelsPerSecond = 400;
180
+ const animationDuration = (imgRef.current?.naturalHeight || 600) / animationScrollSpeedInPixelsPerSecond;
181
+ const scrollableStyles = {
182
+ backgroundImage,
183
+ transition: `background-position ${animationDuration}s`,
184
+ };
185
+ const style = {
186
+ ...(scrollable ? scrollableStyles : {}),
187
+ };
188
+ const className = clsx('mshots-image__container', scrollable && 'hover-scroll', visible ? 'mshots-image-visible' : 'mshots-image__loader');
189
+ if (options?.oldHighResImageLoading) {
190
+ return scrollable ? (_jsx("div", { className: className, style: style, "aria-labelledby": labelledby, children: _jsx("img", { ref: imgRef, className: "mshots-dummy-image", "aria-hidden": "true", alt: "" }) })) : (_jsx("img", { ref: imgRef, className, style, src, alt, "aria-labelledby": labelledby, alt: alt }));
191
+ } // else, prettier doesn't like having an else after a return
192
+ return scrollable ? (_jsx("div", { className: className, style: style, "aria-labelledby": labelledby, children: _jsx("img", { ref: imgRef, loading: "lazy", className: "mshots-dummy-image", "aria-hidden": "true", alt: "" }) })) : (_jsx("img", { loading: "lazy", ref: imgRef, className, style, src, alt, "aria-labelledby": labelledby, alt: alt }));
193
+ };
194
+ // Temporary for A/B test.
195
+ const MShotsImageTreatment = ({ url, 'aria-labelledby': labelledby, alt, options, scrollable = false, }) => {
196
+ const maybeImage = useMshotsImgTreatment(url, options);
197
+ const src = maybeImage?.src || '';
198
+ const visible = !!src;
199
+ const backgroundImage = maybeImage?.src && `url( ${maybeImage?.src} )`;
200
+ const animationScrollSpeedInPixelsPerSecond = 400;
201
+ const animationDuration = (maybeImage?.naturalHeight || 600) / animationScrollSpeedInPixelsPerSecond;
202
+ const scrollableStyles = {
203
+ backgroundImage,
204
+ transition: `background-position ${animationDuration}s`,
205
+ };
206
+ const style = {
207
+ ...(scrollable ? scrollableStyles : {}),
208
+ };
209
+ const className = clsx('mshots-image__container', scrollable && 'hover-scroll', visible ? 'mshots-image-visible' : 'mshots-image__loader');
210
+ // The "! visible" here is only to dodge a particularly specific css
211
+ // rule effecting the placeholder while loading static images:
212
+ // '.design-picker .design-picker__image-frame img { ..., height: auto }'
213
+ return scrollable || !visible ? (_jsx("div", { className: className, style: style, "aria-labelledby": labelledby })) : (_jsx("img", { className, style, src, alt, "aria-labelledby": labelledby, alt: alt }));
214
+ };
215
+ // For hover-scroll, we use a div with a background image (rather than an img element)
216
+ // in order to use transitions between `top` and `bottom` on the
217
+ // `background-position` property.
218
+ // The "normal" top & bottom properties are problematic individually because we
219
+ // don't know how big the images will be, and using both gets the
220
+ // right positions but with no transition (as they're different properties).
221
+ const MShotsImage = ({ url, 'aria-labelledby': labelledby, alt, options, scrollable = false, }) => {
222
+ // Return MShotsImageControl or MShotsImageTreatment depending on options.oldHighResImageLoading
223
+ if (options?.oldHighResImageLoading) {
224
+ return (_jsx(MShotsImageTreatment, { url: url, "aria-labelledby": labelledby, alt: alt, options: options, scrollable: scrollable }));
225
+ }
226
+ return (_jsx(MShotsImageControl, { url: url, "aria-labelledby": labelledby, alt: alt, options: options, scrollable: scrollable }));
227
+ };
228
+ export default MShotsImage;
229
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mshots-image/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ @import "../../styles/mixins";
2
+
3
+ .mshots-image__loader {
4
+ @include onboarding-placeholder();
5
+ }
6
+
7
+ .mshots-image__container {
8
+ height: 100%;
9
+ }
10
+
11
+ .hover-scroll {
12
+ background-size: 100%;
13
+ background-position: top;
14
+ background-repeat: no-repeat;
15
+ margin-left: auto;
16
+ margin-right: auto;
17
+
18
+ &:hover {
19
+ background-position: bottom;
20
+ }
21
+ }
22
+
23
+ .mshots-image-visible {
24
+ animation: fadein 300ms;
25
+ }
26
+
27
+ // Increase specificity by repeating class name.
28
+ .mshots-dummy-image.mshots-dummy-image {
29
+ position: absolute;
30
+ display: block;
31
+ visibility: hidden;
32
+ height: 0;
33
+ width: 0;
34
+ }
35
+
36
+ @keyframes fadein {
37
+ from {
38
+ opacity: 0;
39
+ }
40
+ to {
41
+ opacity: 1;
42
+ }
43
+ }
@@ -0,0 +1,2 @@
1
+ export { default as useNavigatorListener } from './use-navigator-listener';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/hooks/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { __experimentalUseNavigator as useNavigator } from '@wordpress/components';
2
+ import { useEffect, useRef } from 'react';
3
+ const useNavigatorListener = (onNavigatorPathChange) => {
4
+ const { location } = useNavigator();
5
+ const previousPathRef = useRef('');
6
+ useEffect(() => {
7
+ if (location.path && location.path !== previousPathRef.current) {
8
+ onNavigatorPathChange?.(location.path);
9
+ previousPathRef.current = location.path;
10
+ }
11
+ }, [location.path, onNavigatorPathChange]);
12
+ };
13
+ export default useNavigatorListener;
14
+ //# sourceMappingURL=use-navigator-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-navigator-listener.js","sourceRoot":"","sources":["../../../../src/navigator/hooks/use-navigator-listener.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI1C,MAAM,oBAAoB,GAAG,CAAE,qBAA6C,EAAG,EAAE;IAChF,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,CAAE,EAAE,CAAE,CAAC;IAErC,SAAS,CAAE,GAAG,EAAE;QACf,IAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,OAAO,EAAG,CAAC;YAClE,qBAAqB,EAAE,CAAE,QAAQ,CAAC,IAAI,CAAE,CAAC;YACzC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzC,CAAC;IACF,CAAC,EAAE,CAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAE,CAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './hooks';
2
+ export { NavigatorButtonAsItem, NavigatorItem } from './navigator-buttons';
3
+ export { default as NavigatorHeader } from './navigator-header';
4
+ export { default as NavigatorItemGroup } from './navigator-item-group';
5
+ export { default as NavigatorListener } from './navigator-listener';
6
+ export { default as NavigatorScreen } from './navigator-screen';
7
+ export * from './navigator-screens';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/navigator/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { __experimentalNavigatorButton as NavigatorButton, __experimentalHStack as HStack, __experimentalItem as Item, FlexItem, } from '@wordpress/components';
3
+ import { isRTL } from '@wordpress/i18n';
4
+ import { Icon, chevronLeft, chevronRight, check } from '@wordpress/icons';
5
+ import clsx from 'clsx';
6
+ import './style.scss';
7
+ export function NavigatorItem({ icon, checked, active, children, ...props }) {
8
+ const content = icon ? (_jsxs(HStack, { justify: "flex-start", children: [_jsx(Icon, { className: "navigator-item__icon", icon: checked ? check : icon, size: 24 }), _jsx(FlexItem, { className: "navigator-item__text", display: "flex", isBlock: true, children: children })] })) : (_jsx(FlexItem, { display: "flex", isBlock: true, children: children }));
9
+ const forwardIcon = isRTL() ? chevronLeft : chevronRight;
10
+ return (_jsx(Item, { ...props, className: clsx('navigator-item', {
11
+ 'navigator-item--active': active,
12
+ }), children: _jsxs(HStack, { justify: "space-between", children: [content, _jsx(Icon, { icon: forwardIcon, size: 24 })] }) }));
13
+ }
14
+ export const NavigatorButtonAsItem = ({ ...props }) => {
15
+ return _jsx(NavigatorButton, { as: NavigatorItem, ...props });
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/navigator-buttons/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACN,6BAA6B,IAAI,eAAe,EAChD,oBAAoB,IAAI,MAAM,EAC9B,kBAAkB,IAAI,IAAI,EAC1B,QAAQ,GACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,cAAc,CAAC;AAetB,MAAM,UAAU,aAAa,CAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAsB;IAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CACtB,MAAC,MAAM,IAAC,OAAO,EAAC,YAAY,aAC3B,KAAC,IAAI,IAAC,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAG,IAAI,EAAG,EAAE,GAAK,EACrF,KAAC,QAAQ,IAAC,SAAS,EAAC,sBAAsB,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,kBAC9D,QAAQ,GACA,IACH,CACT,CAAC,CAAC,CAAC,CACH,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,kBAC7B,QAAQ,GACA,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAEzD,OAAO,CACN,KAAC,IAAI,OACC,KAAK,EACV,SAAS,EAAG,IAAI,CAAE,gBAAgB,EAAE;YACnC,wBAAwB,EAAE,MAAM;SAChC,CAAE,YAEH,MAAC,MAAM,IAAC,OAAO,EAAC,eAAe,aAC5B,OAAO,EACT,KAAC,IAAI,IAAC,IAAI,EAAG,WAAW,EAAG,IAAI,EAAG,EAAE,GAAK,IACjC,GACH,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAE,EAAE,GAAG,KAAK,EAA8B,EAAG,EAAE;IACnF,OAAO,KAAC,eAAe,IAAC,EAAE,EAAG,aAAa,KAAQ,KAAK,GAAK,CAAC;AAC9D,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ @import "@automattic/typography/styles/fonts";
2
+
3
+ .components-item.navigator-item {
4
+ height: 44px;
5
+ line-height: 44px;
6
+ padding: 0 5px 0 8px;
7
+ margin: 0 -5px 0 -8px;
8
+ font-size: $font-body-small;
9
+ font-weight: 400;
10
+ letter-spacing: -0.15px;
11
+ color: var(--studio-gray-100);
12
+ border: none;
13
+ background: transparent;
14
+ cursor: pointer;
15
+
16
+ svg {
17
+ flex-shrink: 0;
18
+ fill: currentColor;
19
+ }
20
+
21
+ &:hover,
22
+ &:focus-visible {
23
+ color: var(--studio-blue-50);
24
+ }
25
+
26
+ &:focus {
27
+ box-shadow: none;
28
+ }
29
+
30
+ &:focus-visible {
31
+ border-color: var(--color-primary);
32
+ box-shadow: 0 0 0 2px var(--color-primary-light);
33
+ }
34
+
35
+ &:active {
36
+ background-color: var(--studio-blue-0);
37
+ }
38
+
39
+ .navigator-item__text {
40
+ padding-left: 1px;
41
+ }
42
+
43
+ &--active {
44
+ background-color: var(--studio-blue-0);
45
+ color: var(--studio-blue-50);
46
+ }
47
+ }
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Gridicon } from '@automattic/components';
3
+ import { __experimentalHStack as HStack, __experimentalNavigatorBackButton as NavigatorBackButton, } from '@wordpress/components';
4
+ import { useTranslate } from 'i18n-calypso';
5
+ import './style.scss';
6
+ const NavigatorHeader = ({ title, description, hideBack, onBack }) => {
7
+ const translate = useTranslate();
8
+ return (_jsxs("div", { className: "navigator-header", children: [_jsxs(HStack, { className: "navigator-header__heading", spacing: 2, justify: "flex-start", children: [!hideBack && (_jsx(NavigatorBackButton, { as: Button, title: translate('Back'), borderless: true, "aria-label": translate('Navigate to the previous view'), onClick: onBack, children: _jsx(Gridicon, { icon: "chevron-left", size: 16 }) })), _jsx("h2", { children: title })] }), description && _jsx("p", { className: "navigator-header__description", children: description })] }));
9
+ };
10
+ export default NavigatorHeader;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/navigator-header/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACN,oBAAoB,IAAI,MAAM,EAC9B,iCAAiC,IAAI,mBAAmB,GACxD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAC7D,OAAO,cAAc,CAAC;AAStB,MAAM,eAAe,GAAG,CAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAS,EAAG,EAAE;IAC7E,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,CACN,eAAK,SAAS,EAAC,kBAAkB,aAChC,MAAC,MAAM,IAAC,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAG,CAAC,EAAG,OAAO,EAAC,YAAY,aAC7E,CAAE,QAAQ,IAAI,CACf,KAAC,mBAAmB,IACnB,EAAE,EAAG,MAAM,EACX,KAAK,EAAG,SAAS,CAAE,MAAM,CAAE,EAC3B,UAAU,sBACG,SAAS,CAAE,+BAA+B,CAAE,EACzD,OAAO,EAAG,MAAM,YAEhB,KAAC,QAAQ,IAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAG,EAAE,GAAK,GACvB,CACtB,EACD,uBAAM,KAAK,GAAO,IACV,EACP,WAAW,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAG,WAAW,GAAM,IAC5E,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,45 @@
1
+ @import "@wordpress/base-styles/breakpoints";
2
+ @import "@wordpress/base-styles/mixins";
3
+ @import "@automattic/typography/styles/fonts";
4
+
5
+ .navigator-header {
6
+ display: none;
7
+ margin-bottom: 30px;
8
+
9
+ @include break-large {
10
+ display: block;
11
+ }
12
+ }
13
+
14
+ .navigator-header__heading {
15
+ margin-bottom: 8px;
16
+ color: var(--color-neutral-100);
17
+ text-wrap: pretty;
18
+
19
+ h2 {
20
+ font-family: Recoleta, sans-serif;
21
+ font-style: normal;
22
+ font-weight: 400;
23
+ font-size: $font-title-large;
24
+ line-height: 40px;
25
+ letter-spacing: -0.32px;
26
+ }
27
+
28
+ .button.is-borderless .gridicon {
29
+ top: 4px;
30
+ }
31
+
32
+ .premium-badge {
33
+ margin-inline-start: 2px;
34
+ }
35
+ }
36
+
37
+ .navigator-header__description {
38
+ font-size: $font-body-small;
39
+ font-weight: 400;
40
+ line-height: 20px;
41
+ letter-spacing: -0.15px;
42
+ color: var(--color-neutral-60);
43
+ margin: 0;
44
+ text-wrap: pretty;
45
+ }
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { __experimentalVStack as VStack, __experimentalItemGroup as ItemGroup, } from '@wordpress/components';
3
+ import './style.scss';
4
+ const NavigatorItemGroup = ({ children, title }) => {
5
+ return (_jsx("section", { className: "navigator-item-group", children: _jsxs(VStack, { direction: "column", justify: "flex-start", alignment: "stretch", children: [title && _jsx("h3", { className: "navigator-item-group__title", children: title }), _jsx(ItemGroup, { children: children })] }) }));
6
+ };
7
+ export default NavigatorItemGroup;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/navigator-item-group/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACN,oBAAoB,IAAI,MAAM,EAC9B,uBAAuB,IAAI,SAAS,GACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,cAAc,CAAC;AAOtB,MAAM,kBAAkB,GAAG,CAAE,EAAE,QAAQ,EAAE,KAAK,EAAS,EAAG,EAAE;IAC3D,OAAO,CACN,kBAAS,SAAS,EAAC,sBAAsB,YACxC,MAAC,MAAM,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,YAAY,EAAC,SAAS,EAAC,SAAS,aAChE,KAAK,IAAI,aAAI,SAAS,EAAC,6BAA6B,YAAG,KAAK,GAAO,EACrE,KAAC,SAAS,cAAG,QAAQ,GAAc,IAC3B,GACA,CACV,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,28 @@
1
+ @import "@automattic/typography/styles/fonts";
2
+
3
+ .navigator-item-group {
4
+ flex-shrink: 0;
5
+
6
+ .components-item-group > div[role="listitem"] {
7
+ display: flex;
8
+ }
9
+
10
+ .navigator-item {
11
+ flex-grow: 1;
12
+ }
13
+
14
+ &:nth-child(1 of &):nth-last-child(1 of &) {
15
+ .navigator-item-group__title {
16
+ display: none;
17
+ }
18
+ }
19
+ }
20
+
21
+ .navigator-item-group__title {
22
+ color: var(--color-neutral-100);
23
+ font-size: $font-body-small;
24
+ font-weight: 500;
25
+ letter-spacing: -0.15px;
26
+ line-height: 1.4;
27
+ margin-bottom: 8px;
28
+ }
@@ -0,0 +1,7 @@
1
+ import { useNavigatorListener } from '../hooks';
2
+ const NavigatorListener = ({ onNavigatorPathChange }) => {
3
+ useNavigatorListener(onNavigatorPathChange);
4
+ return null;
5
+ };
6
+ export default NavigatorListener;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/navigator-listener/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAyB,MAAM,UAAU,CAAC;AAMvE,MAAM,iBAAiB,GAAG,CAAE,EAAE,qBAAqB,EAAS,EAAG,EAAE;IAChE,oBAAoB,CAAE,qBAAqB,CAAE,CAAC;IAC9C,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { __experimentalNavigatorScreen as BaseNavigatorScreen, __experimentalUseNavigator as useNavigator, } from '@wordpress/components';
3
+ /**
4
+ * A wrapper of the NavigatorScreen to support matching the path partially.
5
+ */
6
+ const NavigatorScreen = ({ partialMatch, ...props }) => {
7
+ const { location } = useNavigator();
8
+ if (partialMatch && location.path?.startsWith(props.path)) {
9
+ return props.children;
10
+ }
11
+ return _jsx(BaseNavigatorScreen, { ...props });
12
+ };
13
+ export default NavigatorScreen;
14
+ //# sourceMappingURL=index.js.map